ORG 0000H
START:
;初始化程序
MOV SP,#30H
MOV R0,#00 ;R0作为偏移
MAIN:
INC R0
MOV A,R0
ANL A,#7
MOV DPTR,#LED_TABLE
MOVC A,@A+DPTR
CPL A
MOV P1,A
LCALL DELAY
SJMP MAIN
;延时子程序
DELAY:
MOV R3,#50
DELAY_LOOP1:
MOV R4,#100
DELAY_LOOP2:
MOV R5,#100
DJNZ R5,$;若R5减1不为0,跳至本行。$-当前行.重复这一指令.$就是本条指令的PC地址
DJNZ R4,DELAY_LOOP2
DJNZ R3,DELAY_LOOP1
RET ;子程序返回
LED_TABLE:
DB 00H,081H,0C3H,0E7H,0FFH,07EH,03CH,018H
END
程序是这样的。但是我想有谁能给我解释下,为什么刚开始的时候要给A赋值,然后后面又取反呢?