进来的兄弟,你好!
在使用义隆153时,我需要对一个寄存器R1内的十六进制的数值 进行十进制转换.
其过程如下:
R1内容送到ACC中
ACC+0
DAA ;DAA是十六进制转十进制命令
;DAA只能对ACC进行操作,而且要在一个加/减法后
;所以进行了ACC+0操作
按道理 ,此时,ACC中的值(也就是R1的值了) 应该从十六进制转为十进制了.
但是实际的情况是这样的:
0至15这部分数是正常的 .但是当 ACC的值是16时,DAA把数值好像转换成了10
17时DAA 把数值 转换成了11
18时 DAA把数值 转换成了12
( .... ....正好相差6....)
再往下 ....会相差12
再往下 ......会相差18
.........
求解!!! |