MOV R0,#08H指令中的08H与堆栈区冲突,改成MOV R0,#10H即可
仔细看了,似乎没问题,把你的程序修改如下,再试试
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:LCALL SZ
MOV R6,#0
MOV R0,#08H
MOV R7,#99
MOV DPTR,#2000H
LOOP:MOV A,@R0
; ANL A,#01H
; JNZ PR
;MOV A,@R0
JB D0 , PR ; D0 PSW.0 P
MOVX @DPTR,A
INC R6
INC DPTR
PR: INC R0
DJNZ R7,LOOP
SJMP $
SZ: MOV R0,#08H
MOV R7,#99
MOV A,#01H
L1: MOV @R0,A
INC R0
INC A
DA A
DJNZ R7,L1
RET
END
程序没有问题,你看看你的判断哪里出错没有。