2个回答
推荐于2016-08-13
展开全部
ADD只是两个数相加,忽略以前加法运算的进位。
ADDC把进位也算进去了
你给的程序
MOV A,#25H A=?将0x25给寄存器A
MOV 40H, #1AH 40H=?将0x1a给ram中地址0x40所对应的空间
MOV R2,#33H R2=? 将0x33给R2寄存器
CLR C C=? 清除C
ADD A,R2 A=? A和R2相加,0x25+0x33=0x58,并不产生进位,此时A为0x58
ADDC A,40H A=? A和地址为0x40的数相加,0x58+0x1a+0x0=0x72(前面并没有进位);也没有进位
MOV R0,#40H R0=? 将0x40给R0寄存器
ADDC A, @RO A=? 这一举和ADDC A,40H是一样的。0x72+0x1a+0x0=0x8c
,还是没有进位
ADDC把进位也算进去了
你给的程序
MOV A,#25H A=?将0x25给寄存器A
MOV 40H, #1AH 40H=?将0x1a给ram中地址0x40所对应的空间
MOV R2,#33H R2=? 将0x33给R2寄存器
CLR C C=? 清除C
ADD A,R2 A=? A和R2相加,0x25+0x33=0x58,并不产生进位,此时A为0x58
ADDC A,40H A=? A和地址为0x40的数相加,0x58+0x1a+0x0=0x72(前面并没有进位);也没有进位
MOV R0,#40H R0=? 将0x40给R0寄存器
ADDC A, @RO A=? 这一举和ADDC A,40H是一样的。0x72+0x1a+0x0=0x8c
,还是没有进位
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-14
展开全部
带运算字符 时要用ADDC 其他用ADD
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询