找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

關(guān)于4位BCD碼轉(zhuǎn)二進(jìn)制的問題

查看數(shù): 5298 | 評(píng)論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-3-3 08:33

正文摘要:

如圖為什么要先乘以10, XCH  A,R3      R3此時(shí)是零  零與高字節(jié)交換 MUL  AB           0乘以10是不是零 ADD&nbs ...

回復(fù)

ID:450037 發(fā)表于 2019-3-6 16:16
zjjhtony 發(fā)表于 2019-3-5 08:58
1、4位的BCD碼轉(zhuǎn)二進(jìn)制數(shù)計(jì)算公式:
   a3,a2,a1,a0四位BCD碼,轉(zhuǎn)成的二進(jìn)制數(shù)=a3*1000+a2*100+a1*10+a0
...

還是不懂啊,比如  a3=0101   a2=0100   a1=1000  a0=1001,求大俠解讀這個(gè)計(jì)算過程
ID:450037 發(fā)表于 2019-3-6 15:54
zjjhtony 發(fā)表于 2019-3-5 08:58
1、4位的BCD碼轉(zhuǎn)二進(jìn)制數(shù)計(jì)算公式:
   a3,a2,a1,a0四位BCD碼,轉(zhuǎn)成的二進(jìn)制數(shù)=a3*1000+a2*100+a1*10+a0
...

我想看的就是你這樣的解答,真棒
ID:18297 發(fā)表于 2019-3-5 08:58
1、4位的BCD碼轉(zhuǎn)二進(jìn)制數(shù)計(jì)算公式:
   a3,a2,a1,a0四位BCD碼,轉(zhuǎn)成的二進(jìn)制數(shù)=a3*1000+a2*100+a1*10+a0
2、這段程序就是完成這個(gè)轉(zhuǎn)換的過程的。
3、怎么完成這個(gè)呢?
   分成3個(gè)步驟:
NO1:   (a3)*10+a2
NO2:   ((a3)*10+a2)*10+a1
NO3:   (((a3)*10+a2)*10+a1)*10+a0
      =a3*1000+a2*100+a1*10+a0
要進(jìn)過3個(gè)循環(huán)。每個(gè)循環(huán)都是16位數(shù)乘以10(8位數(shù)),再加上另外一個(gè)數(shù)。中間需要考慮進(jìn)位。
怎么完成這個(gè)循環(huán)呢?
十六位數(shù)AB(A代表高8位,B代表低8位)乘以10(8位數(shù))再加上另外一個(gè)數(shù)D的計(jì)算方法:
高位字節(jié)=A*10+(B*10+D)的進(jìn)位(有進(jìn)位加1,無進(jìn)位加0)
低位字節(jié)=B*10+D
4、在第一個(gè)循環(huán)中,要將A3看出16位數(shù),高位字節(jié)是0,所以R3=0.
ID:450037 發(fā)表于 2019-3-4 13:57
yzwzfyz 發(fā)表于 2019-3-3 20:25
1、先取的是千位,3次循環(huán),每次*10,合計(jì)*1000
2、次取的是百位,2次循環(huán),每次*10,合計(jì)*100
3、再次取 ...

還是不懂,取出來的不是BCD碼嗎?它乘以10是什么啊,求指導(dǎo)一下。
ID:123289 發(fā)表于 2019-3-3 20:25
1、先取的是千位,3次循環(huán),每次*10,合計(jì)*1000
2、次取的是百位,2次循環(huán),每次*10,合計(jì)*100
3、再次取的是十位,1次循環(huán),每次*10,合計(jì)*10
每次都將合計(jì)的結(jié)果放在R4R3中,最后加a0,不就OK了嗎。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表