Counter EQU 57H
DISPBUF EQU 58H
ORG 0000H
AJMP START
ORG 000BH
AJMP DISP
ORG 0030H
START:
MOV SP,#5FH
MOV P1,#0FFH
MOV P0,#0FFH
MOV P2,#0FFH
MOV DISPBUF,#1
MOV DISPBUF+1,#2
MOV DISPBUF+2,#3
MOV DISPBUF+3,#4
MOV DISPBUF+4,#5
MOV DISPBUF+5,#6
LOOP:
LCALL DISP
;ACALL Delay2
AJMP LOOP
DISP:
PUSH ACC
PUSH PSW
MOV R1,#DISPBUF
MOV Counter,#0
D_L1:
MOV A,Counter
MOV DPTR,#BitTab
MOVC A,@A+DPTR
ORL P2,#11111100B
ANL P2,A
MOV A,R1
MOV R0,A
MOV A,@R0
MOV DPTR,#DISPTAB
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY
INC R1
INC Counter
MOV A,Counter
CJNE A,#6,D_L1
POP PSW
POP ACC
RET
BitTab: DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH
DISPTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELAY:
PUSH PSW
SETB RS0
MOV R7,#50
D1: MOV R6,#20
D2: DJNZ R6,$
DJNZ R7,D1
POP PSW
RET
Delay2:
PUSH PSW
SETB RS0
MOV R7,#150
D61:
MOV R6,#200
DJNZ R6,$
DJNZ R7,D61
POP PSW
RET
END
请帮忙分析每一条指令的意思,最后总结下是如何实现的 我是新手 谢谢了