📄 src.asm
字号:
;//=====================================================================================
;//
;// 模块: <模块名称>
;//
;// 版本: <版本号>
;//
;// 日期: <日期>
;//
;// 作者: <作者>
;//
;// 说明: <模块说明>
;//
;//=====================================================================================
;//-------------------------------------------------------------------------------------
;// 常量定义:
;//-------------------------------------------------------------------------------------
;ACC EQU 0xe0
;B EQU 0xf0
;PSW EQU 0xd0
;SP EQU 0xf0
;DPL EQU 0x82
;DPH EQU 0x83
;P0 EQU 0x80
;P1 EQU 0x90
;P2 EQU 0xa0
;P3 EQU 0xb0
;IP EQU 0xb8
;IE EQU 0xa8
;TMOD EQU 0x89
;TCON EQU 0x88
;T2CON EQU 0xa8
;TH0 EQU 0x8c
;TL0 EQU 0x8a
;TH1 EQU 0x8d
;TL1 EQU 0x8b
;TH2 EQU 0xcd
;TL2 EQU 0xcc
;RCAP2H EQU 0xcb
;RCAP2L EQU 0xca
;SCON EQU 0x98
;SBUF EQU 0x99
;TR1 EQU 0x87
;PCON EQU 0x8e
;//-------------------------------------------------------------------------------------
;// 变量定义:
;//-------------------------------------------------------------------------------------
;//-------------------------------------------------------------------------------------
;// 代码开始:
;//-------------------------------------------------------------------------------------
ORG 0x00
LJMP lab_02b7
lab_0003:
MOV A,@R1
INC R1
MOV @R0,A
INC R0
DJNZ R7,lab_0003
SJMP lab_0051
lab_000b:
MOV A,@R1
INC R1
MOVX @R0,A
INC R0
DJNZ R7,lab_000b
SJMP lab_0051
lab_0013:
MOV DPL,R0
MOV DPH,R4
lab_0017:
MOV A,@R1
INC R1
MOVX @DPTR,A
INC DPTR
DJNZ R7,lab_0017
SJMP lab_0051
lab_001f:
MOVX A,@R1
lab_0020:
INC R1
MOV @R0,A
INC R0
DJNZ R7,lab_001f
SJMP lab_009f
lab_0027:
MOVX A,@R1
INC R1
MOVX @R0,A
INC R0
DJNZ R7,lab_0027
SJMP lab_009f
lab_002f:
MOV DPL,R0
lab_0031:
MOV DPH,R4
lab_0033:
MOVX A,@R1
INC R1
MOVX @DPTR,A
INC DPTR
DJNZ R7,lab_0033
SJMP lab_009f
lab_003b:
MOV DPL,R1
MOV DPH,R2
lab_003f:
MOVX A,@DPTR
INC DPTR
MOV @R0,A
lab_0042:
INC R0
DJNZ R7,lab_003f
SJMP lab_009f
lab_0047:
MOV DPL,R1
MOV DPH,R2
lab_004b:
MOVX A,@DPTR
INC DPTR
MOVX @R0,A
INC R0
DJNZ R7,lab_004b
lab_0051:
SJMP lab_009f
SJMP lab_0027
SJMP lab_0051
SJMP lab_001f
SJMP lab_002f
SJMP lab_00c6
SJMP lab_0051
SJMP lab_0094
SJMP lab_0073
SJMP lab_000b
SJMP lab_0051
SJMP lab_0003
SJMP lab_0013
SJMP lab_0047
SJMP lab_0051
SJMP lab_003b
SJMP lab_00a6
lab_0073:
MOV DPL,R1
MOV DPH,R2
MOV A,R4
MOV R2,A
lab_0079:
CLR A
MOVC A,@A + DPTR
INC DPTR
XCH A,R0
XCH A,DPL
XCH A,R0
XCH A,R4
XCH A,DPH
XCH A,R4
MOVX @DPTR,A
INC DPTR
XCH A,R0
XCH A,DPL
XCH A,R0
XCH A,R4
XCH A,DPH
XCH A,R4
DJNZ R7,lab_0079
DJNZ R6,lab_0079
SJMP lab_00a1
lab_0094:
MOV DPL,R1
MOV DPH,R2
lab_0098:
CLR A
MOVC A,@A + DPTR
INC DPTR
MOV @R0,A
INC R0
DJNZ R7,lab_0098
lab_009f:
MOV A,R4
MOV R2,A
lab_00a1:
MOV B,R1
MOV A,R5
MOV R3,A
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_00a6:
MOV DPL,R1
MOV DPH,R2
MOV A,R4
MOV R2,A
lab_00ac:
MOVX A,@DPTR
INC DPTR
XCH A,R0
XCH A,DPL
XCH A,R0
XCH A,R4
XCH A,DPH
XCH A,R4
MOVX @DPTR,A
INC DPTR
XCH A,R0
XCH A,DPL
XCH A,R0
XCH A,R4
XCH A,DPH
XCH A,R4
DJNZ R7,lab_00ac
DJNZ R6,lab_00ac
SJMP lab_00a1
lab_00c6:
MOV DPL,R1
MOV DPH,R2
lab_00ca:
CLR A
MOVC A,@A + DPTR
INC DPTR
MOVX @R0,A
INC R0
DJNZ R7,lab_00ca
SJMP lab_009f
lab_00d3:
MOV B,R0
MOV A,R7
JZ lab_00d9
INC R6
lab_00d9:
ORL A,R6
JZ lab_009f
MOV B,R0
MOV A,R5
ADD A,#002H
CJNE A,#004H,lab_00e4
lab_00e4:
JNC lab_009f
MOV DPL,A
MOV A,R3
ADD A,#002H
CJNE A,#004H,lab_00ee
lab_00ee:
JNC lab_009f
RL A
RL A
ORL A,DPL
RL A
MOV DPTR,#000H
JMP @A + DPTR
lab_00f9:
CJNE R3,#001H,lab_0107
MOV A,DPL
ADD A,R1
MOV DPL,A
MOV A,DPH
MOV DPH,A
MOVX A,@DPTR
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_0107:
JNC lab_010f
MOV A,R1
ADD A,DPL
MOV R0,A
MOV A,@R0
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_010f:
CJNE R3,#0feH,lab_0118
MOV A,R1
ADD A,DPL
MOV R0,A
MOVX A,@R0
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_0118:
MOV A,DPL
ADD A,R1
MOV DPL,A
MOV A,DPH
MOV DPH,A
CLR A
MOVC A,@A + DPTR
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_0124:
MOV R0,A
CJNE R3,#001H,lab_0134
MOV A,DPL
ADD A,R1
MOV DPL,A
MOV A,DPH
MOV DPH,A
MOV A,R0
MOVX @DPTR,A
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_0134:
JNC lab_013c
MOV A,R1
ADD A,DPL
XCH A,R0
MOV @R0,A
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_013c:
CJNE R3,#0feH,lab_0144
MOV A,R1
ADD A,DPL
XCH A,R0
MOVX @R0,A
lab_0144:
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_0145:
CLR 0xd5
MOV A,R4
JNB 0xe7,lab_0154
CPL 0xd5
CLR A
CLR C
SUBB A,R5
MOV R5,A
CLR A
SUBB A,R4
MOV R4,A
lab_0154:
MOV A,R6
JNB 0xe7,lab_016d
CPL 0xd5
CLR A
CLR C
SUBB A,R7
MOV R7,A
CLR A
SUBB A,R6
MOV R6,A
LCALL lab_017b
CLR C
CLR A
SUBB A,R5
MOV R5,A
CLR A
SUBB A,R4
MOV R4,A
SJMP lab_0170
lab_016d:
LCALL lab_017b
lab_0170:
JNB 0xd5,lab_017a
CLR C
CLR A
SUBB A,R7
MOV R7,A
CLR A
SUBB A,R6
MOV R6,A
lab_017a:
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_017b:
CJNE R4,#000H,lab_0189
CJNE R6,#000H,lab_01aa
MOV A,R7
MOV B,R5
DIV AB
MOV R7,A
MOV B,R5
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_0189:
CLR A
XCH A,R4
MOV R0,A
MOV B,#008H
lab_018f:
MOV A,R7
ADD A,R7
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R6
SUBB A,R5
MOV A,R4
SUBB A,R0
JC lab_01a3
MOV R4,A
MOV A,R6
SUBB A,R5
MOV R6,A
INC R7
lab_01a3:
DJNZ B,lab_018f
CLR A
XCH A,R6
MOV R5,A
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_01aa:
MOV A,R5
MOV R0,A
MOV B,A
MOV A,R6
DIV AB
JB 0xd2,lab_01cf
MOV R6,A
MOV B,R5
MOV B,#008H
lab_01b9:
MOV A,R7
ADD A,R7
MOV R7,A
MOV A,R5
RLC A
MOV R5,A
JC lab_01c8
SUBB A,R0
JNC lab_01ca
DJNZ B,lab_01b9
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_01c8:
CLR C
SUBB A,R0
lab_01ca:
MOV R5,A
INC R7
DJNZ B,lab_01b9
lab_01cf:
RET
;--------------------------------------------------------------------------------------
; Function:
;--------------------------------------------------------------------------------------
lab_01d0:
MOV R0,#008H
MOV R4,#000H
MOV R5,#000H
MOV R3,#0ffH
MOV R2,#005H
MOV R1,#018H
MOV R6,#000H
MOV R7,#00fH
LCALL lab_00d3
CLR A
MOV 0x17,A
MOV 0x18,A
MOV 0x19,A
MOV 0x1a,A
MOV 0x1b,A
lab_01ee:
INC 0x1b
MOV 0x1b,R3
CLR A
MOV R5,A
MOV R7,#0a0H
LCALL lab_03d2
MOV 0x19,R6
MOV 0x1a,R7
CLR A
MOV R5,A
MOV R7,#0a0H
LCALL lab_0388
MOV 0x19,R6
MOV 0x1a,R7
MOV 0x1b,R3
CLR A
MOV R5,A
MOV R7,#0b0H
LCALL lab_03d2
MOV 0x17,R6
MOV 0x18,R7
CLR A
MOV R5,A
MOV R7,#0b1H
LCALL lab_0388
MOV 0x17,R6
MOV 0x18,R7
LCALL lab_04b8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -