设计一个程序两个三字节无符号数相加被加数存放在片外RAM的5000H-5002H中低位
在5000H,高位在5002H),结果存在片内RAM的8000H-8002H中(低位在8000H,高位在8002H)。
以下是示例代码:
ORG 0
; 初始化
MOV DPTR, #5000H ; 设置数据指针
MOVX A, @DPTR ; 读取低位被加数
MOV R0, A ; 存储低位被加数
INC DPTR ; 指向高位被加数
MOVX A, @DPTR ; 读取高位被加数
MOV R1, A ; 存储高位被加数
CLR C ; 清零进位标志
; 加法
MOV A, R0 ; 将低位被加数存入累加器
ADD A, @R1 ; 加上高位被加数
MOV @R2, A ; 存储结果低位
MOV A, R1 ; 将高位被加数存入累加器
ADDC A, #0 ; 加上进位标志
MOV @R2+1, A ; 存储结果高位
; 结束
SJMP $
注:此代码使用 8051 单片机的汇编语言编写。
原文地址: https://www.cveoy.top/t/topic/cvTQ 著作权归作者所有。请勿转载和采集!