【发布时间】:2016-03-25 22:07:27
【问题描述】:
列出了8051和外部设备之间串行通信的部分代码,但我不明白子程序X00D6。由于代码将 R7 设置为 FF 然后与 0 比较,程序如何跳出循环?将 P0 设置为 #10 然后设置为 0 有什么作用? P0 与 R7 有什么关系?看来 R7 只是在其余代码中用作寄存器。
mov r7,#0ffh ; 00cf 7f ff
mov sbuf,a ; 00d1 f5 99
acall X00d6 ; 00d3 11 d6
ret ; 00d5 22
X00d6:
mov p0,#10h ; 00d6 75 80 10
mov p0,#0 ; 00d9 75 80 00
cjne r7,#0,X00d6 ; 00dc bf 00 f7
ret ; 00df 22
【问题讨论】: