📄 mcu89c51hoter.asm
字号:
MOV DPTR, #0H
MOV R0, #0
CL2: MOVX A, @DPTR
CLR C
SUBB A, R0
JNZ FLAS
INC DPTR
DJNZ R0, CL2
RET
FLAS: MOV A, #0
LCALL DIS1
MOV R0, #100
MOV R1, #0
FD1: DJNZ R1, FD1
DJNZ R0, FD1
MOV A, #255
LCALL DIS1
MOV R0, #100
MOV R1, #0
FD2: DJNZ R1, FD2
DJNZ R0, FD2
SJMP FLAS
;===========================
ORG 0D2DH
SDLK: MOV R1, #240
FD3: DJNZ R1, FD3
LJMP KSEK
PEVT: MOV A, 68H
LCALL dis1
MOV A, 68H
JNZ PE1
RET
PE1: CLR C
SUBB A, #2
JNC PE2
ADD A, #2
LCALL PRTT
SJMP PE3
PE2: PUSH ACC
MOV A, #2
LCALL PRTT
POP ACC
JNZ PE4
PE3: MOV A, #0
LCALL DIS1
RET
PE4: LCALL FLAS2
CLR C
SUBB A, #4
JNC PE5
ADD A, #4
LCALL PRTC
SJMP PE3
PE5: PUSH ACC
MOV A, #4
LCALL PRTC
POP ACC
JZ PE3
SJMP PE4
;===========================
ORG 0D7BH
FLAS2: PUSH ACC
LCALL DIS1
MOV R0, #0
FSL1: LCALL SDLK
INC A
JNZ F11
DJNZ R0, FSL1
MOV A, #255
LCALL DIS1
MOV R0, #0
F10: LCALL SDLK
INC A
JNZ F11
DJNZ R0, F10
POP ACC
SJMP FLAS2
F11: POP ACC
RET
;============================
DRAWB: MOVX A, @DPTR
MOV R0, A
INC DPTR
MOVX A, @DPTR
MOV R1, A
INC DPTR
MOVX A, @DPTR
MOV R4, A
INC DPTR
MOVX A, @DPTR
MOV DPH, R0
MOV DPL, R1
NOP
CLR C
SUBB A, R1
MOV R1, A
MOV A, R4
SUBB A, R0
MOV R0, A
DRAWC: PUSH DPH
PUSH DPL
MOV A, R0
PUSH ACC
MOV A, R1
PUSH ACC
LCALL DUK
NOP
MOV R2, A
MOV DPTR, #LB4
MOV R0, #60
LCALL SIO5
DRAW: MOV R1, #30
D1: MOV DPTR, #LB5
MOV R0, #21
LCALL SIO5
DJNZ R1, D1
MOV DPTR, #DHOME
MOV R0, #5
LCALL SIO5
POP ACC
MOV R1, A
POP ACC
MOV R0, A
POP DPL
POP DPH
MOV A, #74
LCALL SIO1
D2: MOV A, #49
LCALL SIO1
MOV A, #44
LCALL SIO1
MOVX A, @DPTR
CLR C
SUBB A, R2
JC D201
LCALL BO1
SJMP D202
D201: LCALL BO0
D202: MOV A, #44
LCALL SIO1
MOVX A, @DPTR
MOV R2, A
INC DPTR
DJNZ R1, D2
MOV A, R0
JZ D3
DEC R0
SJMP D2
D3: MOV A, #13
LCALL SIO1
MOV DPTR,#LIBX1
MOV R0,#10
LJMP SIO5
;=============================
ORG 0E30H
PRS1: ORL A, #30H
LCALL SIO1
MOV A, #10
MUL AB
XCH A, B
ORL A,#30H
LCALL SIO1
MOV A, #32
LCALL SIO1
MOV A, #109
LCALL SIO1
MOV A, #118
LCALL SIO1
MOV A, #13
LCALL SIO1
LJMP TDC
PRS2: MOVX A, @DPTR
CLR C
SUBB A, #5
JNZ NT8
PUSH DPH
PUSH DPL
MOV DPTR, #LIC1
MOV R0, #6
LCALL SIO5
POP DPL
POP DPH
INC DPTR
MOVX A, @DPTR
PUSH DPH
PUSH DPL
LCALL SIO4
MOV DPTR, #LIB2
MOV R0, #4
LCALL SIO5
MOV DPTR, #LIE1
MOV R0, #14
LCALL SIO5
LJMP TDC
NT8: MOVX A, @DPTR
CLR C
SUBB A, #6
JNZ NT9
PUSH DPH
PUSH DPL
MOV DPTR, #LIC1
MOV R0, #6
LCALL SIO5
POP DPL
POP DPH
INC DPTR
MOVX A, @DPTR
PUSH DPH
PUSH DPL
LCALL SIO4
MOV DPTR, #LIB2
MOV R0, #4
LCALL SIO5
MOV DPTR, #LIF1
MOV R0, #14
LCALL SIO5
LJMP TDC
NT9: LJMP PRS3
;============================
ORG 0EC0H
PECG: MOV DPTR, #LIG1
MOV R0, #18
LCALL SIO5
MOV DPTR, #1006H
MOVX A, @DPTR
LCALL SIO4
MOV DPTR, #LIB2
MOV R0, #5
LCALL SIO5
MOV DPTR, #1008H
LCALL DRAWB
MOV DPTR,#LC11
MOV R0,#29
LJMP SIO5
;==========================
DUK: PUSH PSW
MOV PSW, #0
MOV R0, #0
LCALL DSTU
MOV A, R1
POP PSW
RET
;=========================
ORG 0F00H
LIC1: DB 20H,20H,48H,52H,20H,3AH
LIB1: DB 48H,52H,20H,6CH,69H,6DH,69H,74H,3AH,20H
LIA1: DB 20H,41H,72H,72H,68H,79H,74H,68H,6DH,69H,61H,3AH,0DH
LID1: DB 20H,20H,53H,2DH,54H,20H ; S-T
LIE1: DB 20H,54H,61H,63H,68H,79H,63H,61H,72H,64H,69H,61H,3AH,0DH
LIF1: DB 20H,42H,72H,61H,64H,79H,63H,61H,72H,64H,69H,61H,3AH,0DH
LIG1: DB 20H,20H,4FH,72H,67H,2EH,20H,45H,43H,47H
DB 20H,20H,20H,48H,52H,20H,3AH
LII1: DB 20H,20H,46H,65H,65H,6CH,20H,62H,61H,64H,0DH
;Feel bad LIB.
LIB2: DB 2FH,6DH,69H,6EH,0DH
LB1: DB 52H,65H,63H,6FH,72H,64H,20H,65H,6EH,64H,0DH
LB2: DB 4DH,6FH,6EH,69H,74H,6FH,72H,20H,73H,74H,6FH
DB 70H,70H,65H,64H,0DH
LB3: DB 45H,6CH,65H,74H,72H,6FH,64H,65H,20H
DB 69H,72H,72H,65H,67H,2EH,0DH
LB4: DB 0DH,1BH,32H,0DH
DB 1BH,62H,0DH
DB 52H,31H,30H,2CH,2DH,31H,30H,0DH
DB 4AH,2DH,35H,2CH,30H
DB 2CH,31H,30H,2CH,30H
DB 2CH,2DH,35H,2CH,30H
DB 2CH,30H,2CH,2DH,35H,30H,2CH
DB 2DH,35H,2CH,30H,2CH
DB 31H,30H,2CH,30H,2CH
DB 2DH,35H,2CH,30H,2CH
DB 30H,2CH,2DH,35H,30H,0DH
DB 49H,0DH
LB5: DB 4AH,32H,35H,2CH,30H,2CH
DB 30H,2CH,2DH,35H,2CH
DB 30H,2CH,31H,30H,2CH
DB 30H,2CH,2DH,35H,0DH
DHOME: DB 48H,0DH,1BH,31H,0DH
;=====================================
ORG 1000H
STS1: MOV R0, #4
MOV R1, #0
MOV R7, #0
ST1L: MOVX A, @DPTR
ADD A, R7
XCH A, R7
JNC ST100
INC R1
ST100: INC DPTR
ANL DPH, #0FH
DJNZ R0, ST1L
XCH A, R7
CLR C
XCH A, R1
RRC A
XCH A, R1
RRC A
CLR C
XCH A, R1
RRC A
XCH A, R1
RRC A
RET
;=============================
ORG 101EH
STP: MOV PSW, #24
MOV R4, DPH
MOV R5, DPL
MOV A, R2
ADD A, #10
MOV R6, A
MOV A, DPL
CLR C
SUBB A, R6
MOV DPL, A
MOV A, DPH
SUBB A, #0
ANL A, #0FH
MOV DPH, A
LCALL STS1 ;
XCH A, R6 ;
MOV A, R3
ADD A, #7
ADD A, R5
MOV DPL, A
MOV A, #0
ADDC A, R4
ANL A, #0FH
MOV DPH, A
LCALL STS1
CLR C
SUBB A, R6
JNC ST10
ADD A, #10
JNC ST11
ST10: MOV A, #0
RET
ST11: SUBB A, #10
MOV 72H, A
MOV A, #1
RET
;============================
ORG 1070H
ANAL2: MOV A, 67H
JNZ AN21
RET
AN21: MOV PSW, #0
MOV A, R3
SUBB A, 75H
MOV R0, A
MOV A, R2
SUBB A, 74H
ANL A, #0FH
JNZ AN22
RET
AN22: MOV DPH, 74H
MOV DPL, 75H
MOV A, #170
LCALL DIF2
JNZ AN23
MOV A, DPL
SUBB A, #8
MOV 75H, A
MOV A, DPH
SUBB A, #0
ANL A, #0FH
MOV 74H, A
RET
AN23: LCALL SF21
JNZ AN24
MOV 7EH, DPH
MOV 7FH, DPL
SJMP AN25
AN24: PUSH DPL ;
PUSH DPH ;
LCALL BLM ;
POP DPH ;
POP DPL ;
LCALL MSP
JNZ AN26
AN25: LCALL TAAT
JNZ AN28
MOV A, 7FH
ADD A, #16
MOV 75H, A
MOV A, 7EH
ADDC A, #0
ANL A, #0FH
MOV 74H, A
RET
AN26: MOV A, R2
SUBB A, #4
JC AN25
SUBB A, #12
JNC AN25
MOV A, R3
CLR C
SUBB A,#4
JC AN25
SUBB A, #18
JNC AN25
ADD A,#18
CLR C
SUBB A,#8
JNC AN270
MOV R3,#8
AN270: LCALL STP
JNZ AN27
LCALL STN
SJMP AN28
AN27: LCALL STI
AN28: MOV DPH, 7EH
MOV DPL, 7FH
LCALL TACT
MOV A, #50
ADD A, 7FH
MOV 75H, A
MOV A, #0
ADDC A, 7EH
ANL A, #0FH
MOV 74H, A
RET
;=========================
HRI: MOV PSW,#0
MOV A, 77H
JNZ AN29
MOV A,#35
CLR C
SUBB A,68H
JC FULH
LCALL TTMH
MOV 77H, #1
FULH: RET
AN29: MOV A, #10
CLR C
SUBB A, 73H
JC AN2A
RET
AN2A: MOV A, 77H
DEC A
JZ AN2B
MOV 73H,#11
RET
AN2B: INC 77H
MOV A, 64H
CLR C
SUBB A, 62H
MOV R0, #5
JNC AN2C
INC R0
AN2C: LCALL PTABH
PUSH 69H
PUSH 6AH
MOV 69H, DPH
MOV 6AH, DPL
MOV A, 7EH
CLR C
SUBB A,#6
ANL A,#0FH
MOV DPH,A
MOV DPL,7FH
MOV R0,#2
MOV R1, #238
LCALL TRAN
POP 6AH
POP 69H
RET
;=======================
HRN: MOV A, 77H
DEC A
JZ HR12
MOV A,#30
SUBB A,73H
JC HR0
RET
HR0: LCALL TTMH
MOV DPH, 6EH
MOV DPL, 6FH
MOV PSW, #0
MOV R1, #6
MOV R4,#13H
MOV R5,#0FAH
HRL1: MOV A,R4
MOV R4,DPH
MOV DPH,A
MOV A,R5
MOV R5,DPL
MOV DPL,A
MOVX A,@DPTR
INC DPTR
PUSH ACC
MOV A,DPH
MOV DPH,R4
MOV R4,A
MOV A,DPL
MOV DPL,R5
MOV R5,A
POP ACC
MOVX @DPTR,A
INC DPTR
DJNZ R1,HRL1
HR12: MOV 77H, #0
MOV 73H, #0
RET
;=======================
A1SS: MOV 50H, #0
MOV 51H, #0
LCALL RHC
MOV PSW, #0
MOV R0, #0
MOVX A, @R0
MOV R6, A
MOV R0, #2
AS10: MOVX A, @R0
MOV DPH, A
INC R0
MOVX A, @R0
MOV DPL, A
INC R0
PUSH 0H
PUSH 6H
MOVX A, @DPTR
PUSH ACC
LCALL BLM
POP ACC
CLR C
SUBB A, R1
JNC AS11
CPL A
INC A
AS11: POP 6H
POP 0H
CLR C
SUBB A, 54H
JNC AS12
CPL A
INC A
AS12: CLR C
SUBB A, 50H
JC AS13
ADD A, 50H
MOV 50H, A
MOV 51H, R6
AS13: DJNZ R6, AS10
MOV A, 50H
JZ AS14
MOV B, A
MOV A, 54H
DIV AB
CLR C
SUBB A, #3
JC AS15
AS14: LJMP A1SC
AS15: MOV R0, #0
MOVX A, @R0
CLR C
SUBB A, 51H
INC A
LCALL SS23
LJMP A1SS
;=======================
SS21: MOV 65H, #0
XCH A, R0
XCH A, R1
XCH A, R2
XCH A, R3
XCH A, R4
XCH A, R5
XCH A, R6
XCH A, R7
ADD A, R0
JNC S201
INC 65H
S201: ADD A, R1
JNC S202
INC 65H
S202: ADD A, R2
JNC S203
INC 65H
S203: ADD A, R3
JNC S204
INC 65H
S204: ADD A, R4
JNC S205
INC 65H
S205: ADD A, R5
JNC S206
INC 65H
S206: ADD A, R6
JNC S207
INC 65H
S207: ADD A, R7
JNC S208
INC 65H
S208: MOV 66H, A
RET
SS23: MOV R0, #0
MOV R5, A
MOVX A, @R0
DEC A
MOVX @R0, A
INC A
CLR C
SUBB A, R5
JNZ S301
RET
S301: XCH A, R5
ADD A, ACC
MOV R0, A
ADD A, #2
MOV R1, A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -