2字节BCD码减法 汇编程序 10
两个2字节BCD码数值相减,如#55H减#22H结果为#33H。对于被减数小于减数的问题处理应能有符号位表示,如至CY为1。...
两个2字节BCD码数值相减,如#55H 减 #22H 结果为 #33H。对于被减数小于减数的问题处理应能有符号位表示,如至CY为1。
展开
2个回答
展开全部
BCD 码相减,如:22-55 =-33。
注意:-33 的 BCD 码补码是 67H。
MCS-51 汇编语言程序如下:
MOV R2,#22H ;被减数
MOV R3,#55H ;减数
CLR C
MOV A,R2
SUBB A,R3 ;先减一次,判断正负
MOV F0,C ;保存正负号
;---------下面正式相减
MOV A,#9AH
SUBB A,R3 ;求减数的 BCD 码补码=45H
ADD A,R2 ;加上 22H,得 67H
DA A ;十进制调整,还是 67H
MOV R4,A ;保存
MOV C,F0 ;你所需要的“负数标志位”
--------------
如果原数据,是:55-22,
执行本程序,将有:C = 0,R4 = 33。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询