单片机的简单实验编程题,编写3字节二进制加法子程序。
程序入口为:
加数1:22H,21H,20H三字节,22H为最高位;
加数2:32H,31H,30H三字节,32H为最高位。
程序出口为:
和数:23H,22H,21H,20H四字节,23H为最高位。
最佳答案:
加数有三个字节,且地址是连续的,那么循环3次即可。
MOV R0, #20H ;加数1地址、和的地址
MOV R1, #30H ;加数2地址
CLR C
MOV R2, #3 ;循环3次
A_LOOP:
MOV A, @R0 ;取
ADDC A, @R1 ;加
MOV @R0, A ;存
INC R0
INC R1
DJNZ R2, A_LOOP
CLR A
ADDC A, #0 ;得到进位
MOV 23H, A ;保存
RET
;-----------------------------------------