两个16位二进制数相加单片机程序

2024-11-30 20:45:40
推荐回答(2个)
回答1:

啥单片机?如果不考虑负数,那么:
32位CPU的,直接加,
16位的直接加,但要判断最高位是否溢出,
8位的,低8位先加,再高8位相加,同时加上低8位的进位,再判定最高位是否溢出。
以上供参考。

回答2:

;R2R3+R4R5=R1R2R3
ADD16:
MOV R1,#0
MOV A,R3
ADD A,R5
MOV R3,A
MOV A,R2
ADDC A,R4
MOV R2,A
JNC ADD161
MOV R1,#1
ADD161:
RET