本帖最后由 ayongge 于 2009-12-9 14:56 编辑
KEIL单步调试,发现从0000H进入STARTUP.A51部分后,看到的代码是
MOV R0,#0x7F
CLR A
MOV @R0,A
DJNZ R0,C:09C4
MOV SP,#0x80
LJMP C:0A08
LJMP main
……
但是向下翻页,却没有发现在0A08处的指令,看见的是如下的2条指令:
0x0A07 8090 SJMP C:0999
0x0A09 0D INC R5
但单步调试却可以到达0A08,指令改变为:
0x0A07 8090 SJMP C:0999
0x0A08 900D62 MOV DPTR,#0x0D62
为什么会这样?
难道这段程序有可能造成进入死循环的代码?
|