运行代码:
ORG 0000H
JMP MAIN
ORG 0030H
LEN EQU 6FH
BLOCK EQU 71H
MAIN:
MOV A,70H
MOV R2,LEN
MOV R1,#70H
MOV R0,#BLOCK
LOOP:
CLR C
SUBB A,@R0
JC NEXT;若当前的值<数据块内的数据,则跳转到NEXT
JNC NEXT1;若当前的值>数据块内的数据,则跳转到NEXT1
NEXT:
ADD A,@R0;恢复A的值
XCH A,@R0;若A的值小于R0的值,则交换A和R0的位置
MOV @R1,A;再把累加器A中的内容移动到地址中
MOV A,@R0
INC R0;指针
INC R1;指针
DJNZ R2,LOOP
JMP MAIN;遍历无限次
SJMP $
NEXT1:
ADD A,@R0;恢复A的值
MOV @R1,A
MOV A,@R0
INC R0
INC R1
DJNZ R2,LOOP
JMP MAIN;遍历无限次
SJMP $
END
运行结果: