欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于4位BCD碼轉二進制的問題 [打印本頁]

作者: zhangzhao2423    時間: 2019-3-3 08:33
標題: 關于4位BCD碼轉二進制的問題
如圖為什么要先乘以10,
XCH  A,R3      R3此時是零  零與高字節交換
MUL  AB           0乘以10是不是零
ADD  A,R3       R3加零是不是
XCH  A,R4       高字節與低字節交換
INC  R0               指向,,a2什么作用

Screenshot_20190303-082155.jpg (170.88 KB, 下載次數: 49)

Screenshot_20190303-082155.jpg

作者: yzwzfyz    時間: 2019-3-3 20:25
1、先取的是千位,3次循環,每次*10,合計*1000
2、次取的是百位,2次循環,每次*10,合計*100
3、再次取的是十位,1次循環,每次*10,合計*10
每次都將合計的結果放在R4R3中,最后加a0,不就OK了嗎。
作者: zhangzhao2423    時間: 2019-3-4 13:57
yzwzfyz 發表于 2019-3-3 20:25
1、先取的是千位,3次循環,每次*10,合計*1000
2、次取的是百位,2次循環,每次*10,合計*100
3、再次取 ...

還是不懂,取出來的不是BCD碼嗎?它乘以10是什么啊,求指導一下。
作者: zjjhtony    時間: 2019-3-5 08:58
1、4位的BCD碼轉二進制數計算公式:
   a3,a2,a1,a0四位BCD碼,轉成的二進制數=a3*1000+a2*100+a1*10+a0
2、這段程序就是完成這個轉換的過程的。
3、怎么完成這個呢?
   分成3個步驟:
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
要進過3個循環。每個循環都是16位數乘以10(8位數),再加上另外一個數。中間需要考慮進位。
怎么完成這個循環呢?
十六位數AB(A代表高8位,B代表低8位)乘以10(8位數)再加上另外一個數D的計算方法:
高位字節=A*10+(B*10+D)的進位(有進位加1,無進位加0)
低位字節=B*10+D
4、在第一個循環中,要將A3看出16位數,高位字節是0,所以R3=0.
作者: zhangzhao2423    時間: 2019-3-6 15:54
zjjhtony 發表于 2019-3-5 08:58
1、4位的BCD碼轉二進制數計算公式:
   a3,a2,a1,a0四位BCD碼,轉成的二進制數=a3*1000+a2*100+a1*10+a0
...

我想看的就是你這樣的解答,真棒
作者: zhangzhao2423    時間: 2019-3-6 16:16
zjjhtony 發表于 2019-3-5 08:58
1、4位的BCD碼轉二進制數計算公式:
   a3,a2,a1,a0四位BCD碼,轉成的二進制數=a3*1000+a2*100+a1*10+a0
...

還是不懂啊,比如  a3=0101   a2=0100   a1=1000  a0=1001,求大俠解讀這個計算過程




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1