51单片机问题

帮忙注释一下面的程序,还有它能实现的功能,[email protected],谢谢了
ORG 0000H
LJMP SE22
ORG 07B0H
SE22:MOV DPL,R3
MOV DPH,R2
MOVX A,@DPTR
MOV DPL,R5
MOV DPH,R4
MOVX @DPTR,A
CJNE R3,#0FFH,LO42
INC R2
LO42:INC R3
CJNE R5,#0FFH,LO43
INC R4
LO43:INC R5
CJNE R7,#00H,LO44
CJNE R6,#00H,LO45
LOOP:SJMP LOOP
NOP
LO44:DEC R7
SJMP SE22
LO45:DEC R7
DEC R6
SJMP SE22
END

不发邮件了,直接在这里帮你注释一下,不过你的程序不完整。这段程序的功能应该是在片外数据存储器中拷贝一段数据。
ORG 0000H
LJMP SE22
ORG 07B0H
SE22:MOV DPL,R3;源数据首地址低位
MOV DPH,R2;源数据首地址高位
MOVX A,@DPTR;读数据
MOV DPL,R5;目的数据块首地址低位
MOV DPH,R4;目的数据块首地址高位
MOVX @DPTR,A;将源数据写入
CJNE R3,#0FFH,LO42;判断R3是否到最大值0FFH,没到则转走加1
INC R2;到0FFH,则高位地址加1
LO42:INC R3;从上条指令顺序执行的话,相当于R3清零
CJNE R5,#0FFH,LO43;这三条指令和上面的三条功能一样,是对目的地址进行调节
INC R4
LO43:INC R5
CJNE R7,#00H,LO44;R6R7是数据长度的高字节和低字节,以下指令是数据长度减1
CJNE R6,#00H,LO45
LOOP:SJMP LOOP;数据长度为0,程序完成,原地等待
NOP
LO44:DEC R7
SJMP SE22
LO45:DEC R7
DEC R6
SJMP SE22
END
温馨提示:答案为网友推荐,仅供参考
相似回答