单片机指令问题:为什么不用带进位加法指令ADDC?试用ADDC指令编程?

对一组存放在片内,长度为N个字节无符号二进制整数求和,设数据首址为ADDR0(地位在前)问题如下

MULADD: MOV R0,#ADDR0
MOV R7,#n
MOV,B,#00H
CKR A
AGAIN: ADD A,@R0
JNC NOCY
INC B
CLR C
NOCY: INC R0
DINZ R7,AGAIN
RET
问: 为什么不用带进位加法指令ADDC?试用ADDC指令编程?????

MULADD: MOV R0,#ADDR0
MOV R7,#n
MOV,B,#00H
CKR A;这里应该是CLR A
AGAIN: ADD A,@R0
JNC NOCY
INC B
CLR C
NOCY: INC R0
DINZ R7,AGAIN
RET
因为这个进位C是向上一字节的进位,而这个例子中是求和,都是低8位相加,有进位就将高8位加1。所以不用ADDC追问

用ADDC 咋编程?

追答

关键是在这个应用里用ADDC是多此一举呀。你可以这样
CLR C
ADDC A,@R0

温馨提示:答案为网友推荐,仅供参考
相似回答