|
keil直接反汇编
- ;==========================================================================
- ;====Power Disassembler for MCS-51 and 6502================================
- ;==========================================================================
- ; Writen by:
- ;==========================================================================
- ;===========Disassemble information========================================
- ;==========================================================================
- ; File Name: C:\STC89C51\PROJ51\LCD1602\LCD035.hex
- ; IC Body: MCS-51
- ; Date: 2020/6/9
- ;==========================================================================
- ORG 000H
- ;==========================================================================
- ;标号==============指令================================地址===机器码=======
- ;==========================================================================
- Q0000: LJMP Q000E ;0000 02 00 0E
- ;==========================================================================; FUNCTION _W_LCD_Com
- Q0003: CLR P2.0 ;0003 C2 A0 LCD_RS
- LCALL Q0293 ;0005 12 02 93
- CLR P2.2 ;0008 C2 A2 LCD_EN
- RET ;000A 22
- ;========================================================================== 的中断入口地址
- Q000B: LJMP Q0173 ;000B 02 01 73 ;timer0 interrupt
- ;==========================================================================
- Q000E: MOV R0,#7FH ;000E 78 7F
- CLR A ;0010 E4
- Q0011: MOV @R0,A ;0011 F6
- DJNZ R0,Q0011 ;0012 D8 FD
- MOV SP,#20H ;0014 75 81 20 ; assign stack at beginning
- LJMP Q0055 ;0017 02 00 55
- ;==========================================================================
- Q001A: LJMP Q009A ;001A 02 00 9A ; FUNCTION main (BEGIN)
- ;==========================================================================
- Q001D: CLR A ;001D E4 STARTUP.A51
- MOVC A,@A+DPTR ;001E 93
- INC DPTR ;001F A3
- MOV R0,A ;0020 F8
- Q0021: CLR A ;0021 E4
- MOVC A,@A+DPTR ;0022 93
- INC DPTR ;0023 A3
- JC Q0029 ;0024 40 03
- MOV @R0,A ;0026 F6
- SJMP Q002A ;0027 80 01
- Q0029: MOVX @R0,A ;0029 F2
- Q002A: INC R0 ;002A 08
- DJNZ R7,Q0021 ;002B DF F4
- SJMP Q0058 ;002D 80 29
- Q002F: CLR A ;002F E4
- MOVC A,@A+DPTR ;0030 93
- INC DPTR ;0031 A3
- MOV R0,A ;0032 F8
- ANL A,#07H ;0033 54 07
- ADD A,#0CH ;0035 24 0C
- XCH A,R0 ;0037 C8
- CLR C ;0038 C3
- RLC A ;0039 33
- SWAP A ;003A C4
- ANL A,#0FH ;003B 54 0F
- ORL A,#20H ;003D 44 20
- XCH A,R0 ;003F C8
- MOVC A,@A+PC ;0040 83
- JC Q0047 ;0041 40 04
- CPL A ;0043 F4
- ANL A,@R0 ;0044 56
- SJMP Q0048 ;0045 80 01
- Q0047: ORL A,@R0 ;0047 46
- Q0048: MOV @R0,A ;0048 F6
- DJNZ R7,Q002F ;0049 DF E4
- SJMP Q0058 ;004B 80 0B
- AJMP Q0002 ;004D 01 02
- INC A ;004F 04
- INC R0 ;0050 08
- JBC 24H.0,Q0094 ;0051 10 20 40
- SJMP QFFE6 ;0054 80 90
- Q0055: MOV DPTR,#02FFH ;0055 90 02 FF
- Q0058: CLR A ;0058 E4
- MOV R6,#01H ;0059 7E 01
- MOVC A,@A+DPTR ;005B 93
- JZ Q001A ;005C 60 BC
- INC DPTR ;005E A3
- MOV R7,A ;005F FF
- ANL A,#3FH ;0060 54 3F
- JNB ACC.5,Q006E ;0062 30 E5 09
- ANL A,#1FH ;0065 54 1F
- MOV R6,A ;0067 FE
- CLR A ;0068 E4
- MOVC A,@A+DPTR ;0069 93
- INC DPTR ;006A A3
- JZ Q006E ;006B 60 01
- INC R6 ;006D 0E
- Q006E: XCH A,R7 ;006E CF
- ANL A,#0C0H ;006F 54 C0
- ADD A,ACC ;0071 25 E0
- JZ Q001D ;0073 60 A8
- JC Q002F ;0075 40 B8
- CLR A ;0077 E4
- MOVC A,@A+DPTR ;0078 93
- INC DPTR ;0079 A3
- MOV R2,A ;007A FA
- CLR A ;007B E4
- MOVC A,@A+DPTR ;007C 93
- INC DPTR ;007D A3
- MOV R0,A ;007E F8
- Q007F: CLR A ;007F E4
- MOVC A,@A+DPTR ;0080 93
- INC DPTR ;0081 A3
- XCH A,R0 ;0082 C8
- XCH A,DPL ;0083 C5 82
- XCH A,R0 ;0085 C8
- XCH A,R2 ;0086 CA
- XCH A,DPH ;0087 C5 83
- XCH A,R2 ;0089 CA
- MOVX @DPTR,A ;008A F0
- INC DPTR ;008B A3
- XCH A,R0 ;008C C8
- XCH A,DPL ;008D C5 82
- XCH A,R0 ;008F C8
- XCH A,R2 ;0090 CA
- XCH A,DPH ;0091 C5 83
- XCH A,R2 ;0093 CA
- Q0094: DJNZ R7,Q007F ;0094 DF E9
- DJNZ R6,Q007F ;0096 DE E7
- SJMP Q0058 ;0098 80 BE
- ;========================================================================== ; FUNCTION main (BEGIN)
- Q009A: LCALL Q01CB ;009A 12 01 CB
- Q009D: JNB 20H.1,Q00D4 ;009D 30 01 34
- CLR 20H.1 ;00A0 C2 01 CLR new_s
- INC 12H ;00A2 05 12 INC sec
- MOV A,12H ;00A4 E5 12
- MOV B,#3CH ;00A6 75 F0 3C
- LCALL Q0258 ;00A9 12 02 58
- MOV 12H,B ;00AC 85 F0 12
- MOV A,12H ;00AF E5 12
- JNZ Q00D1 ;00B1 70 1E
- INC 14H ;00B3 05 14
- MOV A,14H ;00B5 E5 14
- MOV B,#3CH ;00B7 75 F0 3C
- LCALL Q0258 ;00BA 12 02 58
- MOV 14H,B ;00BD 85 F0 14
- MOV A,14H ;00C0 E5 14
- JNZ Q00D1 ;00C2 70 0D
- INC 13H ;00C4 05 13
- MOV A,13H ;00C6 E5 13
- MOV B,#18H ;00C8 75 F0 18
- LCALL Q0258 ;00CB 12 02 58
- MOV 13H,B ;00CE 85 F0 13
- Q00D1: LCALL Q0114 ;00D1 12 01 14
- Q00D4: LCALL Q0216 ;00D4 12 02 16
- MOV A,R7 ;00D7 EF
- DEC A ;00D8 14
- JZ Q00E9 ;00D9 60 0E
- DEC A ;00DB 14
- JZ Q00FB ;00DC 60 1D
- DEC A ;00DE 14
- JZ Q0110 ;00DF 60 2F
- ADD A,#03H ;00E1 24 03
- JNZ Q009D ;00E3 70 B8
- SETB 20H.0 ;00E5 D2 00
- SJMP Q009D ;00E7 80 B4
- ;==========================================================================
- Q00E9: JNB 20H.0,Q00FB ;00E9 30 00 0F
- INC 14H ;00EC 05 14
- MOV A,14H ;00EE E5 14
- MOV B,#3CH ;00F0 75 F0 3C
- LCALL Q0258 ;00F3 12 02 58
- MOV 14H,B ;00F6 85 F0 14
- SJMP Q010B ;00F9 80 10
- Q00FB: JNB 20H.0,Q0110 ;00FB 30 00 12
- INC 13H ;00FE 05 13
- MOV A,13H ;0100 E5 13
- MOV B,#18H ;0102 75 F0 18
- LCALL Q0258 ;0105 12 02 58
- MOV 13H,B ;0108 85 F0 13
- Q010B: LCALL Q0114 ;010B 12 01 14
- SJMP Q009D ;010E 80 8D
- Q0110: CLR 20H.0 ;0110 C2 00
- SJMP Q009D ;0112 80 89
- ;========================================================================== ; FUNCTION W_BUFF
- Q0114: MOV A,12H ;0114 E5 12
- MOV B,#0AH ;0116 75 F0 0A
- LCALL Q0258 ;0119 12 02 58
- MOV R7,B ;011C AF F0
- MOV A,R7 ;011E EF
- ADD A,#30H ;011F 24 30
- MOV 0FH,A ;0121 F5 0F
- MOV A,12H ;0123 E5 12
- MOV B,#0AH ;0125 75 F0 0A
- LCALL Q0258 ;0128 12 02 58
- ADD A,#30H ;012B 24 30
- MOV 0EH,A ;012D F5 0E
- MOV A,14H ;012F E5 14
- MOV B,#0AH ;0131 75 F0 0A
- LCALL Q0258 ;0134 12 02 58
- MOV R7,B ;0137 AF F0
- MOV A,R7 ;0139 EF
- ADD A,#30H ;013A 24 30
- MOV 0CH,A ;013C F5 0C
- MOV A,14H ;013E E5 14
- MOV B,#0AH ;0140 75 F0 0A
- LCALL Q0258 ;0143 12 02 58
- ADD A,#30H ;0146 24 30
- MOV 0BH,A ;0148 F5 0B
- MOV A,13H ;014A E5 13
- MOV B,#0AH ;014C 75 F0 0A
- LCALL Q0258 ;014F 12 02 58
- MOV R7,B ;0152 AF F0
- MOV A,R7 ;0154 EF
- ADD A,#30H ;0155 24 30
- MOV 09H,A ;0157 F5 09
- MOV A,13H ;0159 E5 13
- MOV B,#0AH ;015B 75 F0 0A
- LCALL Q0258 ;015E 12 02 58
- ADD A,#30H ;0161 24 30
- MOV 08H,A ;0163 F5 08
- MOV R7,#0C7H ;0165 7F C7
- LCALL Q0003 ;0167 12 00 03 _W_LCD_Com
- MOV R3,#00H ;016A 7B 00
- MOV R2,#00H ;016C 7A 00
- MOV R1,#08H ;016E 79 08
- LJMP Q02B9 ;0170 02 02 B9
- ;========================================================================== ; FUNCTION timer0
- Q0173: PUSH ACC ;0173 C0 E0
- PUSH B ;0175 C0 F0
- PUSH DPH ;0177 C0 83
- PUSH DPL ;0179 C0 82
- PUSH PSW ;017B C0 D0
- MOV PSW,#00H ;017D 75 D0 00
- PUSH 00H ;0180 C0 00
- PUSH 01H ;0182 C0 01
- PUSH 02H ;0184 C0 02
- PUSH 03H ;0186 C0 03
- PUSH 04H ;0188 C0 04
- PUSH 05H ;018A C0 05
- PUSH 06H ;018C C0 06
- PUSH 07H ;018E C0 07
- MOV TH0,#4CH ;0190 75 8C 4C
- MOV TL0,#00H ;0193 75 8A 00
- INC 11H ;0196 05 11
- MOV A,11H ;0198 E5 11
- MOV B,#14H ;019A 75 F0 14
- LCALL Q0258 ;019D 12 02 58
- MOV 11H,B ;01A0 85 F0 11
- MOV A,11H ;01A3 E5 11
- JNZ Q01AB ;01A5 70 04
- SETB 20H.1 ;01A7 D2 01
- CPL P2.4 ;01A9 B2 A4
- Q01AB: JNB 20H.0,Q01B0 ;01AB 30 00 02
- CLR P2.4 ;01AE C2 A4
- Q01B0: POP 07H ;01B0 D0 07
- POP 06H ;01B2 D0 06
- POP 05H ;01B4 D0 05
- POP 04H ;01B6 D0 04
- POP 03H ;01B8 D0 03
- POP 02H ;01BA D0 02
- POP 01H ;01BC D0 01
- POP 00H ;01BE D0 00
- POP PSW ;01C0 D0 D0
- POP DPL ;01C2 D0 82
- POP DPH ;01C4 D0 83
- POP B ;01C6 D0 F0
- POP ACC ;01C8 D0 E0
- RETI ;01CA 32
- ;========================================================================== ; FUNCTION Init
- Q01CB: CLR P2.1 ;01CB C2 A1
- MOV R7,#38H ;01CD 7F 38
- LCALL Q0003 ;01CF 12 00 03 _W_LCD_Com
- MOV R7,#32H ;01D2 7F 32
- MOV R6,#00H ;01D4 7E 00
- LCALL Q029B ;01D6 12 02 9B _delay
- MOV R7,#0CH ;01D9 7F 0C
- LCALL Q0003 ;01DB 12 00 03 _W_LCD_Com
- MOV R7,#06H ;01DE 7F 06
- LCALL Q0003 ;01E0 12 00 03 _W_LCD_Com
- MOV R7,#01H ;01E3 7F 01
- LCALL Q0003 ;01E5 12 00 03 _W_LCD_Com
- MOV R7,#80H ;01E8 7F 80
- LCALL Q0003 ;01EA 12 00 03 _W_LCD_Com
- MOV R3,#0FFH ;01ED 7B FF
- MOV R2,#02H ;01EF 7A 02
- MOV R1,#0DEH ;01F1 79 DE
- LCALL Q02B9 ;01F3 12 02 B9 _W_LCD_STR
- MOV R7,#0C0H ;01F6 7F C0
- LCALL Q0003 ;01F8 12 00 03
- MOV R3,#0FFH ;01FB 7B FF
- MOV R2,#02H ;01FD 7A 02
- MOV R1,#0EEH ;01FF 79 EE
- LCALL Q02B9 ;0201 12 02 B9 _W_LCD_STR
- ORL TMOD,#01H ;0204 43 89 01
- MOV TH0,#4CH ;0207 75 8C 4C
- CLR A ;020A E4
- MOV TL0,A ;020B F5 8A
- SETB TR0 ;020D D2 8C
- SETB PT0 ;020F D2 B9
- SETB ET0 ;0211 D2 A9
- SETB EA ;0213 D2 AF
- RET ;0215 22
- ;========================================================================== ; FUNCTION read_key
- Q0216: MOV P3,#0FFH ;0216 75 B0 FF
- MOV R3,P3 ;0219 AB B0
- MOV A,R3 ;021B EB
- CPL A ;021C F4
- JZ Q0255 ;021D 60 36
- MOV R7,#64H ;021F 7F 64
- MOV R6,#00H ;0221 7E 00
- LCALL Q029B ;0223 12 02 9B _W_LCD_STR
- MOV R7,P3 ;0226 AF B0
- MOV A,R3 ;0228 EB
- XRL A,R7 ;0229 6F
- JZ Q022F ;022A 60 03
- MOV R7,#0FFH ;022C 7F FF
- RET ;022E 22
- ;==========================================================================
- Q022F: MOV A,R7 ;022F EF
- CPL A ;0230 F4
- JZ Q0237 ;0231 60 04
- MOV R7,P3 ;0233 AF B0
- SJMP Q022F ;0235 80 F8
- Q0237: CJNE R3,#7FH,Q023D ;0237 BB 7F 03
- MOV R7,#00H ;023A 7F 00
- RET ;023C 22
- ;==========================================================================
- Q023D: CJNE R3,#0BFH,Q0243 ;023D BB BF 03
- MOV R7,#01H ;0240 7F 01
- RET ;0242 22
- ;==========================================================================
- Q0243: CJNE R3,#0DFH,Q0249 ;0243 BB DF 03
- MOV R7,#02H ;0246 7F 02
- RET ;0248 22
- ;==========================================================================
- Q0249: CJNE R3,#0EFH,Q024F ;0249 BB EF 03
- MOV R7,#03H ;024C 7F 03
- RET ;024E 22
- ;==========================================================================
- Q024F: CJNE R3,#0F7H,Q0255 ;024F BB F7 03
- MOV R7,#04H ;0252 7F 04
- RET ;0254 22
- ;==========================================================================
- Q0255: MOV R7,#0FFH ;0255 7F FF
- RET ;0257 22
- ;========================================================================== 运算符 %
- Q0258: CLR F0 ;0258 C2 D5
- JNB F7H,Q0264 ;025A 30 F7 07
- CPL F0 ;025D B2 D5
- XRL B,#0FFH ;025F 63 F0 FF
- INC B ;0262 05 F0
- Q0264: JNB ACC.7,Q0273 ;0264 30 E7 0C
- CPL F0 ;0267 B2 D5
- CPL A ;0269 F4
- INC A ;026A 04
- DIV AB ;026B 84
- XRL B,#0FFH ;026C 63 F0 FF
- INC B ;026F 05 F0
- SJMP Q0274 ;0271 80 01
- Q0273: DIV AB ;0273 84
- Q0274: JNB F0,Q0279 ;0274 30 D5 02
- CPL A ;0277 F4
- INC A ;0278 04
- Q0279: RET ;0279 22
- ;==========================================================================
- Q027A: CJNE R3,#01H,Q0283 ;027A BB 01 06
- MOV DPL,R1 ;027D 89 82
- MOV DPH,R2 ;027F 8A 83
- MOVX A,@DPTR ;0281 E0
- RET ;0282 22
- ;==========================================================================
- Q0283: JNC Q0287 ;0283 50 02
- MOV A,@R1 ;0285 E7
- RET ;0286 22
- ;==========================================================================
- Q0287: CJNE R3,#0FEH,Q028C ;0287 BB FE 02
- MOVX A,@R1 ;028A E3
- RET ;028B 22
- ;==========================================================================
- Q028C: MOV DPL,R1 ;028C 89 82
- MOV DPH,R2 ;028E 8A 83
- CLR A ;0290 E4
- MOVC A,@A+DPTR ;0291 93
- RET ;0292 22
- ;==========================================================================
- Q0293: MOV P0,R7 ;0293 8F 80 ; FUNCTION _delay
- SETB P2.2 ;0295 D2 A2
- MOV R7,#05H ;0297 7F 05
- MOV R6,#00H ;0299 7E 00
- Q029B: SETB C ;029B D3
- MOV A,R7 ;029C EF
- SUBB A,#00H ;029D 94 00
- MOV A,R6 ;029F EE
- SUBB A,#00H ;02A0 94 00
- JC Q02B8 ;02A2 40 14
- MOV R5,#64H ;02A4 7D 64
- MOV R4,#00H ;02A6 7C 00
- Q02A8: MOV A,R5 ;02A8 ED
- DEC R5 ;02A9 1D
- JNZ Q02AD ;02AA 70 01
- DEC R4 ;02AC 1C
- Q02AD: MOV A,R5 ;02AD ED
- ORL A,R4 ;02AE 4C
- JNZ Q02A8 ;02AF 70 F7
- MOV A,R7 ;02B1 EF
- DEC R7 ;02B2 1F
- JNZ Q029B ;02B3 70 E6
- DEC R6 ;02B5 1E
- SJMP Q029B ;02B6 80 E3
- Q02B8: RET ;02B8 22
- ;========================================================================== ; FUNCTION _W_LCD_STR
- Q02B9: MOV 15H,R3 ;02B9 8B 15
- MOV 16H,R2 ;02BB 8A 16
- MOV 17H,R1 ;02BD 89 17
- Q02BF: MOV R3,15H ;02BF AB 15
- MOV R2,16H ;02C1 AA 16
- MOV R1,17H ;02C3 A9 17
- LCALL Q027A ;02C5 12 02 7A
- JZ Q02DD ;02C8 60 13
- INC 17H ;02CA 05 17
- MOV A,17H ;02CC E5 17
- JNZ Q02D2 ;02CE 70 02
- INC 16H ;02D0 05 16
- Q02D2: DEC A ;02D2 14
- MOV R1,A ;02D3 F9
- LCALL Q027A ;02D4 12 02 7A
- MOV R7,A ;02D7 FF
- LCALL Q0316 ;02D8 12 03 16
- SJMP Q02BF ;02DB 80 E2
- Q02DD: RET ;02DD 22
- ;========================================================================== 变量
- Q02DE: DB 44H, 65H, 73H, 69H, 67H, 6EH, 65H, 64H ;Designed
- Q02E6: DB 20H, 62H, 79H, 20H, 63H, 6CH, 77H, 00H ;.by.clw.
- Q02EE: DB 20H, 54H, 69H, 6DH, 65H, 3AH, 20H, 30H ;.Time:.0
- Q02F6: DB 30H, 3AH, 30H, 30H, 3AH, 30H, 30H, 20H ;0:00:00.
- Q02FE: DB 00H,0C1H, 00H, 01H, 12H, 32H, 01H, 14H ;.....2..
- Q0306: DB 3BH, 01H, 13H, 17H, 09H, 08H, 32H, 33H ;;.....23
- Q030E: DB 3AH, 35H, 39H, 3AH, 35H, 30H, 00H, 00H ;:59:50..
- ;========================================================================== ; FUNCTION _W_LCD_Dat
- Q0316: SETB P2.0 ;0316 D2 A0
- LCALL Q0293 ;0318 12 02 93
- CLR P2.2 ;031B C2 A2
- RET ;031D 22
- ;==========================================================================
- END
复制代码
|
|