求助这个关于loop的单片机的程序的每一步的含义?

MOV SP, #30H
ACALL MOVE_MEM
DONE: SJMP DONE
MOVE_MEM:
MOV R1, #40H
MOV R4, #0
MOV DPTR,#STR
MOVE_1:
MOV A, R4
MOVC A,@A+DPTR
CJNE A,#00H,CONTINUE
RET
CONTINUE:
MOV @R1,A
INC R1
INC R4
SJMP MOVE_1
ORG 0x800
STR:
DB "how are you?"
END

MOVSP, #30H ;
ACALL MOVE_MEM ; 调用块移动函数
DONE: SJMP DONE ; 主循环体,空
MOVE_MEM:
MOV R1, #40H ; 块移动的目的地址,片内RAM的40H
MOV R4, #0 ; 初始偏移为0
MOV DPTR,#STR ; 加载字符串基地址
MOVE_1:
MOV A, R4 ; 加载偏移
MOVC A,@A+DPTR ; 加载字符串中的字符
CJNE A,#00H,CONTINUE ; 未到字符串结束符前则继续
RET
CONTINUE:
MOV @R1,A ; 将字符串内容复制到R1指定的片内RAM
INC R1
INC R4
SJMP MOVE_1 ; 跳回循环体继续执行
ORG 0x800
STR:
DB "howare you?" ; 字符串内容
温馨提示:答案为网友推荐,仅供参考
相似回答