51单片机,片内数据空间30H-3FH的数据逆序(20H → 100FH, 21H → 100EH,…)

2025-03-11 03:40:55
推荐回答(1个)
回答1:

;启动入口========================
ORG 0000H ;复位启动
AJMP START ;
;主程序==========================
START: MOV R0,#30H ;源数据开始地址
MOV DPTR,#100FH ;目标数据地址
MOV R3,#0
MOV R4,#0
MOV B,#16 ;数据个数
;
LOOP: MOV A,@R0 ;取得一个数据
MOVX @DPTR,A ;存入指定地址
;
JNB ACC.0,P100
INC R3
;
P100: CLR C ;准备比较
SUBB A,#101 ;比较
JC NOS ;不大于100
INC R4
;
NOS: INC R0 ;指向下一个数据
DEC DPTR ;调整目标地址
DJNZ B,LOOP ;搜索完所有数据
END ;结束