📄 mcu89c51hoter.asm
字号:
SF204: MOV B,A
MOV A,54H
DIV AB
CLR C
SUBB A,#2
JC SF203
SJMP SFSF
;=====================
ORG 16D2H
A1SC: MOV R0, #3
MOVX A, @R0
ADD A, #128
MOV 6FH, A
DEC R0
MOVX A, @R0
ADDC A, #0
MOV 6EH, A
MOV 70H, #2
MOV 71H, #100
MOV R0, #0
MOVX A, @R0
ADD A, ACC
MOV R0, A
MOV R1, #2
MOVX A, @R1
MOV R4, A
INC R1
MOVX A, @R1
MOV R5, A
INC R0
MOVX A, @R0
CLR C
SUBB A, R5
MOV R1, A
DEC R0
MOVX A, @R0
SUBB A, R4
XCH A, R4
MOV R0, #0
MOVX A, @R0
DEC A
MOV R0, A
XCH A, R4
LCALL DIVP
MOV A, R1
MOV 64H, A
RET
;=======================
ANAL1: MOV A, 67H
JZ A1C
RET
A1C: MOV A, 0AH
SUBB A, #23
JNC A1G
RET
A1G: MOV 6DH, #1
MOV DPTR, #600H
LCALL A1H
JZ A1M
RET
A1M: MOV PSW,#0
MOV R2, #0
MOV R3, #0
MOV 6DH, #0
MOV 0AH,#00
A111: MOV A,0AH
SUBB A,#23H
JC A111
MOV DPTR,#600
MOV 6DH,#1
LCALL A1H
JNZ A112
LJMP ERRM
A112: RET
A1H: PUSH 2
PUSH 3
MOV P2, #0
MOV R0, #0
MOV A, #0
MOVX @R0, A
LCALL DIFF
MOV R0, #0
MOVX A, @R0
JNZ A1H1
A1H0: POP 3
POP 2
RET
A1H1: CLR C
SUBB A, #4
JNC A1H2
MOV A,#0
SJMP A1H0
A1H2: LCALL SUB4
LCALL A1SS
MOV A, 64H
JNZ A1H3
SJMP A1H0
A1H3: MOV A, #29
MOV R1, #76
MOV R0, 64H
LCALL DIVB
MOV A, R1
MOV DPH, 69H
MOV DPL, 6AH
MOVX @DPTR, A
INC DPTR
INC DPTR
MOV 69H, DPH
MOV 6AH, DPL
MOV 8H, #0
MOV 64H, A
LCALL DIS1
MOV DPH, 6EH
MOV DPL, 6FH
MOV R0,#2
MOV R1, #10
LCALL TRAN
PUSH 54H
MOV R0, #80
MOV A, #0
MOV R1, #8
A1N: MOV @R0, A
INC R0
DJNZ R1, A1N
POP 54H
POP 3
POP 2
MOV A,#1
MOV 67H, #1
MOV PSW, #0
MOV 74H, R2
MOV 75H, R3
MOV 61H, #0
MOV 6DH, #0
RET
;=======================
ETM: MOV A,6DH
JZ ET01
RET
ET01: MOV A,67H
JNZ ETS
RET
ETS: MOV A,#10
CLR C
SUBB A,7DH
JNC ET10
SETB P1.5
ET10: INC 7DH
ET11: MOV A, 40H
JZ ET2
MOV A, 41H
INC A
JZ ET2
MOV 41H, A
ET2: MOV A, 58H
JZ ET3
MOV A, 59H
INC A
JZ ET3
MOV 59H, A
ET3: MOV A,77H
JZ ETE
MOV A,73H
INC A
JZ ETE
MOV 73H,A
ETE: RET
;=======================
ORG 1800H
TTM: MOV A, IE
MOV IE, #0
MOV 6EH, 0FH
MOV 6FH, 0EH
MOV 70H, 0DH
MOV 71H, 0CH
MOV 72H, 0BH
MOV 73H, 0AH
MOV IE, A
RET
;=======================
PTAB: MOV PSW, #0
MOV R0, #110
MOV R1, #6
MOV DPH, 69H
MOV DPL, 6AH
PTL1: MOV A, @R0
MOVX @DPTR, A
INC DPTR
INC R0
DJNZ R1, PTL1
MOV 69H, DPH
MOV 6AH, DPL
RET
OTAB: MOV 67H, #0
MOV 68H, #0
MOV 69H, #16
MOV 6AH, #0
MOV 6BH, #20
MOV 6CH, #0
RET
SKEY: DEC A
JZ SK10
RET
SK10: MOV A, 8H
JNZ SK12
sk11: MOV 8H, #2
MOV 60H, #4
LCALL DIS2
RET
SK12: DEC A
JZ SK11
DEC A
JNZ SK13
MOV 8H, #3
MOV 60H, #4
LCALL DIS6
RET
SK13: DEC A
JZ SK14
RET
SK14: MOV 8H, #4
MOV 60H, #4
LCALL DIS5
RET
;=======================
KSTOP: MOV A, 6DH
XRL A, #80H
JZ REST
MOV 6DH, #128
MOV 61H,#1
MOV 8,#1
PUSH IE
MOV IE,#0
LCALL PFO3
POP IE
RET
REST: MOV A, #36
CLR C
SUBB A, 68H
JNC KR
RESC: MOV 61H,#0
MOV 8,#0
MOV 6DH,#0
RET
KR: LCALL PSTOP
SJMP RESC
;=======================
KRTN: LCALL KSEK
INC A
JNZ KRTN
MOV A, #255
KD1: ADD A, #255
JNZ KD1
KRL1: LCALL KSEK
INC A
JNZ KRL1
MONT: MOV PSW, #0
LCALL ANAL1
LCALL ANAL2
LCALL 1FFFH
LCALL 1FFFH
LCALL PWF
LCALL KSEK
INC A
JZ MONT
DEC A
LCALL KTAB
CLR C
SUBB A, #10
JC MONT
JNZ K11
LCALL KSTOP
LJMP KRTN
K11: DEC A
JNZ K12
LCALL FEBD
LJMP KRTN
K12: DEC A
JNZ K13
LCALL PRINT
LJMP KRTN
K13: DEC A
JNZ K14
LCALL KRH
LJMP KRTN
K14: DEC A
JNZ K15
LCALL KRL
LJMP KRTN
K15: LCALL SK10
LJMP KRTN
;=======================
COMHR: MOV PSW, #0
MOV R0, #0
MOV R1, #0
MOV R6, #0
COL0: PUSH ACC
LCALL DIS1
COL1: LCALL KSEK
INC A
JNZ COL1
COL2: LCALL KSEK
INC A
JZ COL2
DEC A
LCALL KTAB
CLR C
SUBB A, #10
JC CO1
POP ACC
RET
CO1: POP 4H
ADD A, #10
XCH A, R6
XCH A, R1
MOV R0, A
MOV B, #10
MUL AB
ADD A, R1
MOV B, #10
MUL AB
ADD A, R6
SJMP COL0
;=======================
ORG 1956H
TRAN: MOV A,R0
CLR C
SUBB A,3
JC TR10
MOV R0,#2
TR10: MOV A, R1
JNZ TR11
DEC R1
TR11: MOV A, 6CH
ADD A, R1
MOV 66H, A
MOV A, 6BH
ADDC A, R0
JC TR2
SUBB A, #128
JC TR3
TR2: MOV A, #255
MOV DPH, 69H
MOV DPL, 6AH
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, A
INC DPTR
MOV 69H, DPH
MOV 6AH, DPL
RET
TR3: PUSH DPH
PUSH DPL
MOV DPH, 69H
MOV DPL, 6AH
PUSH ACC
MOV A, 6BH
MOVX @DPTR, A
INC DPTR
MOV A, 6CH
MOVX @DPTR, A
INC DPTR
POP ACC
ADD A, #128
MOVX @DPTR, A
INC DPTR
MOV A, 66H
MOVX @DPTR, A
INC DPTR
MOV 69H, DPH
MOV 6AH, DPL
TRL1: POP DPL
POP DPH
MOVX A, @DPTR
INC DPTR
INC DPTR
ANL DPH, #0FH
PUSH DPH
PUSH DPL
MOV DPH, 6BH
MOV DPL, 6CH
MOVX @DPTR, A
INC DPTR
MOV 6BH, DPH
MOV 6CH, DPL
DJNZ R1, TRL1
MOV A, R0
JZ TR4
DEC R0
SJMP TRL1
TR4: POP DPL
POP DPH
RET
;=======================
ORG 19F0H
FORP: MOV PSW, #0
MOV A, 68H
JNZ PRTT
LCALL DIS1
RET
PRTT: MOV 76H, #16
MOV 77H, #12
PRTC: PUSH ACC
MOV DPH, 76H
MOV DPL, 77H
LCALL PRTY
MOV R0, #1
LCALL SIO3
MOV A, #45
LCALL SIO1
MOV A, #32
LCALL SIO1
MOV R0, #6
PPL1: INC DPTR
DJNZ R0,PPL1
LCALL PRTY
MOV R0, #1
LCALL SIO3
MOV 76H, DPH
MOV 77H, DPL
MOV A, DPL
CLR C
SUBB A, #12
MOV DPL, A
MOV A, DPH
SUBB A, #0
MOV DPH, A
MOVX A, @DPTR
CLR C
SUBB A, #128
JNZ PR11
MOV DPTR, #LB2
MOV R0, #16
LCALL SIO5
NC8: POP ACC
DEC A
JNZ PRTC
RET
PR11: MOVX A, @DPTR
CLR C
SUBB A, #129
JNZ PR12
MOV DPTR, #LB3
MOV R0, #12
LCALL SIO5
SJMP NC8
PR12: MOVX A, @DPTR
CLR C
SUBB A, #3
JNZ PR13
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, #LIA1
MOV R0, #13
LCALL SIO5
TDC: POP DPL
POP DPH
INC DPTR
LCALL DRAWB
SJMP NC8
PR13: MOVX A, @DPTR
CLR C
SUBB A, #4
JNZ PR20
INC DPTR
MOVX A, @DPTR
PUSH DPH
PUSH DPL
MOV R1, A
MOV DPTR, #LID1
MOV R0, #6
LCALL SIO5
MOV A, R1
MOV R0, #43
MOV C, ACC.7
JNC PR14
MOV R0, #45
CPL A
INC A
PR14: MOV R1, A
MOV A, R0
LCALL SIO1
MOV A, R1
CLR C
SUBB A, #50
JNC PR15
ADD A, #50
PR15: MOV R1, A
MOV A, #48
JC PR16
INC A
PR16: LCALL SIO1
MOV A, #2EH
LCALL SIO1
MOV A, #0
XCH A, R1
MOV R0, #50
LCALL DIVB
MOV A, R1
MOV B, #10
MUL AB
XCH A, B
LJMP PRS1
PR20: LJMP PRS2
;=============================
ORG 1B00H
SIO0: MOV IE,#0
MOV PCON, #128
MOV SCON, #64
MOV TMOD, #32
MOV TCON, #64
MOV TH1, #247
MOV TL1, #247
RET
SIO1: MOV SBUF, A
SO1: MOV C, TI
JNC SO1
CLR TI
SO2: MOV C, P3.0
JNC SO2
RET
SIO3: MOVX A, @DPTR
SWAP A
ANL A, #0FH
ORL A, #30H
LCALL SIO1
MOVX A, @DPTR
ANL A, #0FH
ORL A, #30H
LCALL SIO1
INC DPTR
DJNZ R0, SO3
MOV A, #32
LJMP SIO1
SO3: MOV A, R1
LCALL SIO1
SJMP SIO3
;=========================
SIO4: MOV B, #10
DIV AB
ORL B, #30H
PUSH B
MOV B, #10
DIV AB
ORL A, #30H
LCALL SIO1
MOV A, B
ORL A, #30H
LCALL SIO1
POP ACC
ORL A, #30H
LCALL SIO1
RET
;=========================
SIO5: MOV A, #0
S5L: PUSH ACC
MOVC A, @A+DPTR
LCALL SIO1
POP ACC
INC A
DJNZ R0, S5L
RET
SIO6: MOV R1, A
SWAP A
ANL A, #0FH
ORL A, #30H
LCALL SIO1
MOV A, R1
ANL A, #0FH
ORL A, #30H
LCALL SIO1
RET
;=============================
SSI1: MOV SBUF,A
SSL1: MOV C,TI
JNC SSL1
CLR TI
MOV C,P3.0
RET
;=============================
ORG 1B95H
DB 45H,76H,65H,6EH,74H,73H,20H,74H,6FH,74H,61H,6CH,3AH
DB 45H,43H,47H,20H,4DH,6H,6EH,69H,74H,6FH,72H,20H
DB 64H,65H,73H,69H,67H,6EH,65H,64H,20H
DB 62H,79H,20H,5AH,6FH,75H,20H
DB 4DH,69H,65H,6EH,2DH,77H,65H,69H,2FH,0DH
;============================
ORG 1BC8H
TX1: MOV D
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -