菜鸟救急!!
为什么我用Keil uVision3汇编调试程序时不论我对R0输入何值,在寄存器窗口中看到总是从0x7f递减?而且不管什么程序,在Disassembly窗口中开头都是一样的信息
ORG 0AA0H
L5800: MOV R0,#01H
MOV R1,#00H
MOV DPTR,#2000H
L5811: MOVX A,@DPTR
CJNE A,#00H,L5816
INc R1
L5816: INC DPTR
DJNZ R0,L5811
MOV DPTR,#2100H
MOV R1,A
MOVX @DPTR,A
L581E: SJMP L581E
END
Disassembly窗口中信息
C:0x0AB6 787F MOV R0,#0x7F
134: CLR A
C:0x0AB8 E4 CLR A
135: IDATALOOP: MOV @R0,A
C:0x0AB9 F6 MOV @R0,A
136: DJNZ R0,IDATALOOP
C:0x0ABA D8FD DJNZ R0,IDATALOOP(C:0AB9)
185: MOV SP,#?STACK-1
186:
187: ; This code is required if you use L51_BANK.A51 with Banking Mode 4
188: ; <h> Code Banking
189: ; <q> Select Bank 0 for L51_BANK.A51 Mode 4
190: #if 0
191: ; <i> Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4.
192: EXTRN CODE (?B_SWITCH0)
193: CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
194: #endif
195: ; </h>
C:0x0ABC 758107 MOV SP(0x81),#0x07
196: LJMP ?C_START
C:0x0ABF 020000 LJMP C_STARTUP(C:0000)
发表时间:2007年5月18日20:27:43