📄 mcu89c51hoter.asm
字号:
MOV IE,#0
MOV PSW,#0
MOV R0,#15
MOV R1,#6
PSL2: MOV A,@R0
MOVX @DPTR,A
DEC R0
INC DPTR
DJNZ R1,PSL2
POP IE
RET
;=========================
TAAT: MOV A, 56H
JNZ TAT1
MOV A, 57H
JNZ TAT1
RET
TAT1: MOV A,55H
JNZ TAT2
RET
TAT2: MOV A, 7FH
CLR C
SUBB A, 57H
MOV R0, A
MOV A, 7EH
SUBB A, 56H
ANL A, #0FH
CLR C
RRC A
JZ TAT4
TAT3: MOV A, #0
RET
TAT4: MOV A,R0
RRC A
CLR C
SUBB A,55H
JZ TAAR
JNC TAT5
CPL A
INC A
TAT5: MOV B,A
MOV A,55H
DIV AB
CLR C
SUBB A,#3
JC TAT3
TAAR: MOV A,#1
RET
;=======================
ORG 0800H
TTMT: MOV A, IE
MOV IE, #0
MOV 4AH, 0FH
MOV 4BH, 0EH
MOV 4CH, 0DH
MOV 4DH, 0CH
MOV 4EH, 0BH
MOV 4FH, 0AH
MOV IE, A
RET
PTABT: MOV PSW, #0
MOV R0, #74
MOV R1, #6
MOV A, 6AH
MOV DPL, A
ADD A, #18
MOV 6AH, A
MOV A, 69H
MOV DPH, A
ADDC A, #0
MOV 69H, A
INC 68H
PTL: MOV A, @R0
MOVX @DPTR, A
INC DPTR
INC R0
DJNZ R1, ptl
MOV A, #3
MOVX @DPTR, A
INC DPTR
MOV A, 64H
MOVX @DPTR, A
INC DPTR
MOV A, DPL
ADD A, #4
MOV 49H, A
MOV A, DPH
ADDC A, #0
MOV 48H, A
RET
;=====================
ORG 0855H
TACI: MOV A, 40H
JNZ TA1
MOV A,#35
CLR C
SUBB A,68H
JC FULT
MOV 40H, #1
LCALL TTMT
FULT: RET
TA1: MOV A, 41H
JNZ TA2
RET
TA2: MOV 41H, #0
XCH A, 42H
XCH A, 43H
XCH A, 44H
XCH A, 45H
XCH A, 46H
JNZ TA3
RET
TA3: ADD A, 46H
JC TA4
ADD A, 45H
JC TA4
ADD A, 44H
JC TA4
ADD A, 43H
JC TA4
ADD A, 42H
JC TA4
SUBB A, #60
JC TA41
SUBB A, #60
JNC TA4
RET
TA4: MOV A, 40H
DEC A
JZ TACL
SJMP TAEE
TA41: MOV A, 40H
DEC A
JZ TA5
RET
TA5: LCALL PTABT
PUSH 69H
PUSH 6AH
MOV 69H, DPH
MOV 6AH, DPL
MOV A,7FH
SUBB A,#160
MOV DPL,A
MOV A,7EH
SUBB A,#5
ANL A,#0FH
MOV DPH,A
MOV R0, #2
MOV R1, #238
LCALL TRAN
POP 6AH
POP 69H
INC 40H
RET
;======================
TACN: MOV A, 40H
JNZ TA6
RET
TA6: DEC A
JZ TA7
MOV A, 41H
CLR C
SUBB A, #60
JNC TAEE
RET
TA7: MOV A, 41H
SUBB A, #60
JNC TACL
RET
TAEE: LCALL TTMT
MOV DPH, 48H
MOV DPL, 49H
MOV PSW,#0
MOV R0, #4AH
MOV R1, #6
TEL: MOV A, @R0
MOVX @DPTR, A
INC DPTR
INC R0
DJNZ R1,TEL
TACL: MOV 40H, #0
MOV 41H, #0
MOV 42H, #0
MOV 43H, #0
MOV 44H, #0
MOV 45H, #0
MOV 46H, #0
RET
;=======================
PTABS: MOV PSW, #0
MOV A, 6AH
MOV 71H, A
ADD A, #18
MOV 6AH, A
MOV A, 69H
MOV 70H, A
ADDC A, #0
MOV 69H, A
PTC: MOV DPH, 70H
MOV DPL, 71H
MOV R0, #5AH
MOV R1, #6
PSL: MOV A, @R0
MOVX @DPTR, A
INC DPTR
INC R0
DJNZ R1, PSL
MOV 70H, DPH
MOV 71H, DPL
RET
TTMS: MOV A, IE
MOV IE, #0
MOV 5AH, 0FH
MOV 5BH, 0EH
MOV 5CH, 0DH
MOV 5DH, 0CH
MOV 5EH, 0BH
MOV 5FH, 0AH
MOV IE, A
RET
;=======================
STI: MOV A, 58H
JNZ S21
MOV A,#35
CLR C
SUBB A,68H
JC FULS
LCALL TTMS
MOV 58H, #1
FULS: RET
S21: MOV 58H,#1
MOV A, 59H
INC A
JNZ S22
RET
S22: CLR C
SUBB A, #11
JNC S23
RET
S23: LCALL PTABS
INC 68H
MOV 59H, #255
MOV A, #4
MOVX @DPTR, A
INC DPTR
MOV A, 72H
MOVX @DPTR, A
INC DPTR
PUSH 69H
PUSH 6AH
MOV 69H, DPH
MOV 6AH, DPL
INC DPTR
INC DPTR
INC DPTR
INC DPTR
MOV 70H, DPH
MOV 71H, DPL
MOV A, 7FH
CLR C
SUBB A, #120
MOV DPL,A
MOV A,7EH
SUBB A,#5
ANL A, #0FH
MOV DPH, A
MOV R0, #2
MOV R1, #238
LCALL TRAN
POP 6AH
POP 69H
RET
STN: MOV A, 58H
JNZ STO1
RET
STO1: MOV A, 59H
INC A
JNZ STO3
INC 58H
STN1: CLR C
SUBB A, #250
JNC STO2
RET
STO2: LCALL TTMS
MOV PSW,#0
LCALL PTC
STO3: MOV 58H, #0
MOV 59H, #0
RET
;=======================
DSTU: MOV A, #0
MOV R0, #0
MOV P2, #0
D100: MOVX @R0, A
DJNZ R0, D100
D101: MOVX A, @DPTR
INC DPTR
MOV R0, A
MOVX A, @R0
INC A
MOVX @R0, A
DJNZ R1, D101
MOV R0, #0
MOV R1, #0
MOV R4, #0
D102: MOVX A, @R0
CLR C
SUBB A, R4
JC D103
ADD A, R4
MOV R4, A
MOV 1H, R0
D103: DJNZ R0, D102
RET
DDSTU: MOV P2, #0
MOV R0, #0
MOV A, #0
D104: MOVX @R0, A
DJNZ R0, D104
MOVX A, @DPTR
INC DPTR
MOV R4, A
D1L1: MOVX A, @DPTR
XCH A, R4
CLR C
SUBB A, R4
JNC D105
CPL A
INC A
D105: MOV R0, A
MOVX A, @R0
INC A
MOVX @R0, A
INC DPTR
DJNZ R1, D1L1
MOV R0, #255
D106: MOVX A, @R0
CLR C
SUBB A, #4
JNC D107
DJNZ R0,D106
MOVX A, @R0
D107: RET
;=======================
CHL: MOV 55H, #0
MOV 56H, #0
MOV 57H, #0
SJMP C10
C00: PUSH ACC
C10: INC DPTR
INC DPTR
MOVX A, @DPTR
JZ C11
INC A
JZ C11
POP ACC
C12: MOV A, #18
ADD A, DPL
MOV DPL, A
JNC C13
INC DPH
ANL DPH, #0FH
C13: MOV A, #0
RET
C11: POP ACC
JZ C12
DEC A
SJMP C00
;======================
ORG 0A80H
RR1: MOV A, 56H
JNZ RRC1
MOV A, 57H
JNZ RRC1
MOV A, #1
RET
RRC1: MOV A, 55H
JNZ RRC2
MOV A, #1
RET
RRC2: MOV A, DPL
CLR C
SUBB A, 57H
MOV R0, A
MOV A, DPH
SUBB A, 56H
ANL A, #0FH
CLR C
RRC A
JZ RRC3
LJMP RR2
RRC3: MOV A, R0
RRC A
MOV R0, A
CLR C
SUBB A, 55H
JC RRC6
SUBB A, 55H
JC RRC4
LJMP RR2
RRC4: CPL A
INC A
MOV B, A
MOV A, 55H
DIV AB
CLR C
SUBB A, #3
JNC RRC5
LJMP 0BF0H
RRC5: MOV A, #1
RET
RRC6: CPL A
INC A
MOV B, A
MOV A, 55H
DIV AB
CLR C
SUBB A, #3
MOV A, #1
RET
;=======================
RR2: MOV 7EH, DPH
MOV 7FH, DPL
MOV A, DPL
CLR C
SUBB A, 57H
MOV R1, A
MOV A, DPH
SUBB A, 56H
ANL A, #0FH
MOV R0, A
MOV A, R1
JNZ R21
INC R1
R21: MOV A, 57H
ADD A, 55H
MOV DPL, A
MOV DPH, 56H
JNC R22
INC DPH
ANL DPH, #0FH
R2L1: MOVX A, @DPTR
MOV R4, A
INC DPTR
ANL DPH, #0FH
MOVX A, @DPTR
CLR C
SUBB A, R4
JNC R230
CPL A
INC A
SUBB A, #3
JNC R28
R22: DJNZ R1,R2L1
R20: MOV A, R0
JZ R23
DEC R0
SJMP R2L1
R23: MOV DPH, 7EH
MOV DPL, 7FH
MOV A, #1
RET
R230: SUBB A, #4
JC R22
MOV R4, #1
R24: MOVX A, @DPTR
MOV R5, A
INC DPTR
ANL DPH, #0FH
MOVX A, @DPTR
CLR C
SUBB A, R5
JC R22
SUBB A, #4
JC R22
INC R4
MOV A, R4
SUBB A, #3
JNC R25
SJMP R24
R25: MOVX A, @DPTR
INC R4
MOV R5, A
INC DPTR
ANL DPH, #0FH
MOVX A, @DPTR
SUBB A, R5
JNC R25
MOV A, R4
SUBB A, #12
JC R26
R250: MOV A, R1
SUBB A, #24
JZ R20
JC R20
SJMP R22
R26: MOV R4, DPH
MOV R5, DPL
INC DPTR
INC DPTR
ANL DPH, #0FH
R27: MOVX A, @DPTR
MOV R6, A
INC DPTR
ANL DPH, #0FH
MOVX A, @DPTR
XCH A, R6
CLR C
SUBB A, R6
JC R28
SUBB A, #2
JNC R27
R28: MOV A, DPL
CLR C
SUBB A, R5
CLR C
SUBB A, #4
JC R250
MOV DPH, R4
MOV DPL, R5
MOV A, #1
RET
;=======================
PRS3: 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,#LII1
MOV R0,#11
LCALL SIO5
LJMP TDC
;===========================
FEBD: MOV A,#35
CLR C
SUBB A,68H
JNC FE10
RET
FE10: MOV PSW,#0
INC 68H
MOV A,#111
LCALL DIS1
SETB P1.3
MOV DPH,69H
MOV DPL,6AH
PUSH IE
MOV IE,#0
MOV R0,#0FH
MOV R1,#6
FEL1: MOV A,@R0
MOVX @DPTR,A
INC DPTR
DEC R0
DJNZ R1,FEL1
MOV A,#7
MOVX @DPTR,A
INC DPTR
MOV A,64H
MOVX @DPTR,A
INC DPTR
MOV 69H,DPH
MOV 6AH,DPL
MOV A,R3
SUBB A,#239
MOV DPL,A
MOV A,R2
SUBB A,#5
ANL A,#0FH
MOV DPH,A
POP IE
MOV R0,#2
MOV R1,#238
LCALL TRAN
MOV DPH,69H
MOV DPL,6AH
MOV R0,#0FH
MOV R1,#6
PUSH IE
MOV IE,#0
FEL2: MOV A,@R0
MOVX @DPTR,A
INC DPTR
DEC R0
DJNZ R1,FEL2
POP IE
MOV 69H,DPH
MOV 6AH,DPL
FEL3: LCALL KSEK
INC A
JNZ FEL3
MOV A,64H
LCALL DIS1
RET
;===========================
CRAM: MOV A, #0
MOV DPTR, #0H
CL1: MOVX @DPTR, A
INC DPTR
DEC A
JNZ CL1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -