📄 lcd+ad.lst
字号:
0139 F411 BNE 0x013C
013A 9893 CBI 0x12,3
013B C001 RJMP 0x013D
013C 9A93 SBI 0x12,3
013D 9894 CBI 0x12,4
013E EF8F LDI R24,0xFF
013F BB87 OUT 0x17,R24
0140 BB48 OUT 0x18,R20
0141 9A95 SBI 0x12,5
0142 DFDC RCALL _delay
0143 9895 CBI 0x12,5
0144 DFDA RCALL _delay
0145 2422 CLR R2
0146 BA27 OUT 0x17,R2
0147 BA28 OUT 0x18,R2
0148 D0B4 RCALL pop_gset2
0149 9508 RET
_read_lcd:
014A D0C4 RCALL push_gset1
014B 2F40 MOV R20,R16
014C 2422 CLR R2
014D BA27 OUT 0x17,R2
014E BA28 OUT 0x18,R2
014F 2344 TST R20
0150 F411 BNE 0x0153
0151 9893 CBI 0x12,3
0152 C001 RJMP 0x0154
0153 9A93 SBI 0x12,3
0154 9A94 SBI 0x12,4
0155 9A95 SBI 0x12,5
0156 DFC8 RCALL _delay
0157 B346 IN R20,0x16
0158 774F ANDI R20,0x7F
0159 9895 CBI 0x12,5
015A DFC4 RCALL _delay
015B 2F04 MOV R16,R20
015C 2711 CLR R17
015D D0B4 RCALL pop_gset1
015E 9508 RET
_lcd_init:
015F D0AF RCALL push_gset1
0160 DFB7 RCALL _lcd_port_init
0161 2744 CLR R20
0162 C00F RJMP 0x0172
0163 2722 CLR R18
0164 2733 CLR R19
0165 E584 LDI R24,0x54
0166 E090 LDI R25,0
0167 2E24 MOV R2,R20
0168 2433 CLR R3
0169 0E28 ADD R2,R24
016A 1E39 ADC R3,R25
016B 2DE2 MOV R30,R2
016C 2DF3 MOV R31,R3
016D 95C8 LPM
016E 2D00 MOV R16,R0
016F 2711 CLR R17
0170 DFB8 RCALL _write_lcd
0171 9543 INC R20
0172 3044 CPI R20,4
0173 F378 BCS 0x0163
0174 D09D RCALL pop_gset1
0175 9508 RET
_lcd_putc:
0176 D098 RCALL push_gset1
0177 2F40 MOV R20,R16
0178 304A CPI R20,0xA
0179 F4B1 BNE 0x0190
017A 2700 CLR R16
017B 2711 CLR R17
017C DFCD RCALL _read_lcd
017D 2E20 MOV R2,R16
017E 2E31 MOV R3,R17
017F E08F LDI R24,0xF
0180 E090 LDI R25,0
0181 1582 CP R24,R2
0182 0593 CPC R25,R3
0183 F434 BGE 0x018A
0184 2722 CLR R18
0185 2733 CLR R19
0186 E002 LDI R16,2
0187 E010 LDI R17,0
0188 DFA0 RCALL _write_lcd
0189 C00B RJMP 0x0195
018A 2722 CLR R18
018B 2733 CLR R19
018C EC00 LDI R16,0xC0
018D E010 LDI R17,0
018E DF9A RCALL _write_lcd
018F C005 RJMP 0x0195
0190 E021 LDI R18,1
0191 E030 LDI R19,0
0192 2F04 MOV R16,R20
0193 2711 CLR R17
0194 DF94 RCALL _write_lcd
0195 D07C RCALL pop_gset1
0196 9508 RET
_lcd_puts:
0197 D077 RCALL push_gset1
0198 2F40 MOV R20,R16
0199 2F51 MOV R21,R17
019A C009 RJMP 0x01A4
019B 2E24 MOV R2,R20
019C 2E35 MOV R3,R21
019D 5F4F SUBI R20,0xFF
019E 4F5F SBCI R21,0xFF
019F 2DE2 MOV R30,R2
01A0 2DF3 MOV R31,R3
01A1 8100 LDD R16,Z+0
01A2 2711 CLR R17
01A3 DFD2 RCALL _lcd_putc
01A4 2FE4 MOV R30,R20
01A5 2FF5 MOV R31,R21
01A6 8020 LDD R2,Z+0
01A7 2022 TST R2
01A8 F791 BNE 0x019B
01A9 D068 RCALL pop_gset1
01AA 9508 RET
_lcd_clear:
01AB 2722 CLR R18
01AC 2733 CLR R19
01AD E001 LDI R16,1
01AE E010 LDI R17,0
01AF DF79 RCALL _write_lcd
01B0 9508 RET
mod16u:
01B1 9468 BSET 6
01B2 C001 RJMP xdiv16u
div16u:
01B3 94E8 BCLR 6
xdiv16u:
01B4 92EA ST R14,-Y
01B5 92FA ST R15,-Y
01B6 938A ST R24,-Y
01B7 24EE CLR R14
01B8 24FF CLR R15
01B9 E180 LDI R24,0x10
01BA 0F00 LSL R16
01BB 1F11 ROL R17
01BC 1CEE ROL R14
01BD 1CFF ROL R15
01BE 16E2 CP R14,R18
01BF 06F3 CPC R15,R19
01C0 F018 BCS 0x01C4
01C1 1AE2 SUB R14,R18
01C2 0AF3 SBC R15,R19
01C3 9503 INC R16
01C4 958A DEC R24
01C5 F7A1 BNE 0x01BA
01C6 F416 BRTC 0x01C9
01C7 2D0E MOV R16,R14
01C8 2D1F MOV R17,R15
01C9 9189 LD R24,Y+
01CA 90F9 LD R15,Y+
01CB 90E9 LD R14,Y+
01CC 9508 RET
empy32u:
empy32s:
01CD 940E0235 CALL long_prolog
01CF 927F PUSH R7
01D0 940E024E CALL tstzero1
01D2 F139 BEQ 0x01FA
01D3 2477 CLR R7
01D4 940E0254 CALL tstzero2
01D6 F419 BNE 0x01DA
01D7 018C MOVW R16,R24
01D8 019D MOVW R18,R26
01D9 C020 RJMP 0x01FA
01DA 9F08 MUL R16,R24
01DB 2CB0 MOV R11,R0
01DC 2CA1 MOV R10,R1
01DD 9F28 MUL R18,R24
01DE 2C90 MOV R9,R0
01DF 2C81 MOV R8,R1
01E0 9F18 MUL R17,R24
01E1 0CA0 ADD R10,R0
01E2 1C91 ADC R9,R1
01E3 1C87 ADC R8,R7
01E4 9F09 MUL R16,R25
01E5 0CA0 ADD R10,R0
01E6 1C91 ADC R9,R1
01E7 1C87 ADC R8,R7
01E8 9F19 MUL R17,R25
01E9 0C90 ADD R9,R0
01EA 1C81 ADC R8,R1
01EB 9F0A MUL R16,R26
01EC 0C90 ADD R9,R0
01ED 1C81 ADC R8,R1
01EE 9F38 MUL R19,R24
01EF 0C80 ADD R8,R0
01F0 9F29 MUL R18,R25
01F1 0C80 ADD R8,R0
01F2 9F1A MUL R17,R26
01F3 0C80 ADD R8,R0
01F4 9F0B MUL R16,R27
01F5 0C80 ADD R8,R0
01F6 2D0B MOV R16,R11
01F7 2D1A MOV R17,R10
01F8 2D29 MOV R18,R9
01F9 2D38 MOV R19,R8
01FA 907F POP R7
01FB 940C0243 JMP long_epilog
pop_gset2:
01FD E0E2 LDI R30,2
01FE 940C0213 JMP pop
pop_gset3x:
0200 E0E4 LDI R30,4
popx:
0201 90A9 LD R10,Y+
0202 90B9 LD R11,Y+
0203 FDE2 SBRC R30,2
0204 9508 RET
0205 90C9 LD R12,Y+
0206 90D9 LD R13,Y+
0207 FDE3 SBRC R30,3
0208 9508 RET
0209 90E9 LD R14,Y+
020A 90F9 LD R15,Y+
020B 9508 RET
pop_gset5x:
020C 27EE CLR R30
020D 940C0201 JMP popx
push_gset1:
020F 935A ST R21,-Y
0210 934A ST R20,-Y
0211 9508 RET
pop_gset1:
0212 E0E1 LDI R30,1
pop:
0213 9149 LD R20,Y+
0214 9159 LD R21,Y+
0215 FDE0 SBRC R30,0
0216 9508 RET
0217 9169 LD R22,Y+
0218 9179 LD R23,Y+
0219 FDE1 SBRC R30,1
021A 9508 RET
021B 90A9 LD R10,Y+
021C 90B9 LD R11,Y+
021D FDE2 SBRC R30,2
021E 9508 RET
021F 90C9 LD R12,Y+
0220 90D9 LD R13,Y+
0221 FDE3 SBRC R30,3
0222 9508 RET
0223 90E9 LD R14,Y+
0224 90F9 LD R15,Y+
0225 9508 RET
push_gset2:
0226 937A ST R23,-Y
0227 936A ST R22,-Y
0228 940C020F JMP push_gset1
push_gset3x:
022A 92BA ST R11,-Y
022B 92AA ST R10,-Y
022C 9508 RET
push_gset4x:
022D 92DA ST R13,-Y
022E 92CA ST R12,-Y
022F 940C022A JMP push_gset3x
push_gset5x:
0231 92FA ST R15,-Y
0232 92EA ST R14,-Y
0233 940C022D JMP push_gset4x
long_prolog:
0235 928A ST R8,-Y
0236 929A ST R9,-Y
0237 92AA ST R10,-Y
0238 92BA ST R11,-Y
0239 93EA ST R30,-Y
023A 938A ST R24,-Y
023B 939A ST R25,-Y
023C 93AA ST R26,-Y
023D 93BA ST R27,-Y
023E 8589 LDD R24,Y+9
023F 859A LDD R25,Y+10
0240 85AB LDD R26,Y+11
0241 85BC LDD R27,Y+12
0242 9508 RET
long_epilog:
0243 91B9 LD R27,Y+
0244 91A9 LD R26,Y+
0245 9199 LD R25,Y+
0246 9189 LD R24,Y+
0247 91E9 LD R30,Y+
0248 90B9 LD R11,Y+
0249 90A9 LD R10,Y+
024A 9099 LD R9,Y+
024B 9089 LD R8,Y+
024C 9624 ADIW R28,4
024D 9508 RET
tstzero1:
024E 27EE CLR R30
024F 2BE0 OR R30,R16
0250 2BE1 OR R30,R17
0251 2BE2 OR R30,R18
0252 2BE3 OR R30,R19
0253 9508 RET
tstzero2:
0254 27EE CLR R30
0255 2BE8 OR R30,R24
0256 2BE9 OR R30,R25
0257 2BEA OR R30,R26
0258 2BEB OR R30,R27
0259 9508 RET
lsr32:
025A 920F PUSH R0
025B 9009 LD R0,Y+
025C 2000 TST R0
025D F031 BEQ 0x0264
025E 9536 LSR R19
025F 9527 ROR R18
0260 9517 ROR R17
0261 9507 ROR R16
0262 940A DEC R0
0263 CFF8 RJMP 0x025C
0264 900F POP R0
0265 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -