📄 12864.lst
字号:
FILE: <library>
__text_start:
__start:
022A E5CF LDI R28,0x5F
022B E0D4 LDI R29,4
022C BFCD OUT 0x3D,R28
022D BFDE OUT 0x3E,R29
022E 51C0 SUBI R28,0x10
022F 40D0 SBCI R29,0
0230 EA0A LDI R16,0xAA
0231 8308 STD Y+0,R16
0232 2400 CLR R0
0233 E6E0 LDI R30,0x60
0234 E0F0 LDI R31,0
0235 E010 LDI R17,0
0236 36E0 CPI R30,0x60
0237 07F1 CPC R31,R17
0238 F011 BEQ 0x023B
0239 9201 ST R0,Z+
023A CFFB RJMP 0x0236
023B 8300 STD Z+0,R16
023C E5E4 LDI R30,0x54
023D E0F4 LDI R31,4
023E E6A0 LDI R26,0x60
023F E0B0 LDI R27,0
0240 E014 LDI R17,4
0241 35E4 CPI R30,0x54
0242 07F1 CPC R31,R17
0243 F021 BEQ 0x0248
0244 95C8 LPM
0245 9631 ADIW R30,1
0246 920D ST R0,X+
0247 CFF9 RJMP 0x0241
0248 940E03C6 CALL _main
_exit:
024A CFFF RJMP _exit
_delay_nms:
i --> R20
n --> R22
024B 940E03F0 CALL push_gset2
024D 01B8 MOVW R22,R16
024E 2744 CLR R20
024F 2755 CLR R21
0250 C003 RJMP 0x0254
0251 D024 RCALL _delay_1ms
0252 5F4F SUBI R20,0xFF
0253 4F5F SBCI R21,0xFF
0254 1746 CP R20,R22
0255 0757 CPC R21,R23
0256 F3D0 BCS 0x0251
0257 940E03E1 CALL pop_gset2
0259 9508 RET
_delay:
i --> R20
n --> R16
025A 940E03F2 CALL push_gset1
025C 2744 CLR R20
025D C002 RJMP 0x0260
025E 0000 NOP
025F 9543 INC R20
0260 1740 CP R20,R16
0261 F3E0 BCS 0x025E
0262 940E03F5 CALL pop_gset1
0264 9508 RET
_delay_1us:
0265 0000 NOP
0266 9508 RET
_delay_nus:
i --> R20
n --> R22
0267 940E03F0 CALL push_gset2
0269 01B8 MOVW R22,R16
026A 2744 CLR R20
026B 2755 CLR R21
026C C003 RJMP 0x0270
026D DFF7 RCALL _delay_1us
026E 5F4F SUBI R20,0xFF
026F 4F5F SBCI R21,0xFF
0270 1746 CP R20,R22
0271 0757 CPC R21,R23
0272 F3D0 BCS 0x026D
0273 940E03E1 CALL pop_gset2
0275 9508 RET
_delay_1ms:
i --> R16
0276 2700 CLR R16
0277 2711 CLR R17
0278 C002 RJMP 0x027B
0279 5F0F SUBI R16,0xFF
027A 4F1F SBCI R17,0xFF
027B 3704 CPI R16,0x74
027C E0E4 LDI R30,4
027D 071E CPC R17,R30
027E F3D0 BCS 0x0279
027F 9508 RET
_lcd_out:
s --> Y+1
i --> R20
send_byte --> R22
0280 940E03F0 CALL push_gset2
0282 2F60 MOV R22,R16
0283 2744 CLR R20
0284 C009 RJMP 0x028E
0285 FD67 SBRC R22,7
0286 C002 RJMP 0x0289
0287 98D9 CBI 0x1B,1
0288 C001 RJMP 0x028A
0289 9AD9 SBI 0x1B,1
028A 98DB CBI 0x1B,3
028B 9ADB SBI 0x1B,3
028C 0F66 LSL R22
028D 9543 INC R20
028E 3048 CPI R20,0x8
028F F3A8 BCS 0x0285
0290 E000 LDI R16,0
0291 DFC8 RCALL _delay
0292 940E03E1 CALL pop_gset2
0294 9508 RET
_WR_dat:
s --> R20
dat --> R22
0295 940E03F0 CALL push_gset2
0297 2F60 MOV R22,R16
0298 2F46 MOV R20,R22
0299 7F40 ANDI R20,0xF0
029A EF0A LDI R16,0xFA
029B DFE4 RCALL _lcd_out
029C 2F04 MOV R16,R20
029D DFE2 RCALL _lcd_out
029E 2F46 MOV R20,R22
029F 704F ANDI R20,0xF
02A0 2F84 MOV R24,R20
02A1 708F ANDI R24,0xF
02A2 9582 SWAP R24
02A3 2F48 MOV R20,R24
02A4 2F08 MOV R16,R24
02A5 DFDA RCALL _lcd_out
02A6 940E03E1 CALL pop_gset2
02A8 9508 RET
_WR_control:
s --> R20
dat --> R22
02A9 940E03F0 CALL push_gset2
02AB 2F60 MOV R22,R16
02AC 2F46 MOV R20,R22
02AD 7F40 ANDI R20,0xF0
02AE EF08 LDI R16,0xF8
02AF DFD0 RCALL _lcd_out
02B0 2F04 MOV R16,R20
02B1 DFCE RCALL _lcd_out
02B2 2F46 MOV R20,R22
02B3 704F ANDI R20,0xF
02B4 2F84 MOV R24,R20
02B5 708F ANDI R24,0xF
02B6 9582 SWAP R24
02B7 2F48 MOV R20,R24
02B8 2F08 MOV R16,R24
02B9 DFC6 RCALL _lcd_out
02BA 940E03E1 CALL pop_gset2
02BC 9508 RET
_lcd_control:
02BD E300 LDI R16,0x30
02BE DFEA RCALL _WR_control
02BF E00C LDI R16,0xC
02C0 DFE8 RCALL _WR_control
02C1 9508 RET
_lcd_clear:
i --> R20
02C2 940E03F2 CALL push_gset1
02C4 E001 LDI R16,1
02C5 DFE3 RCALL _WR_control
02C6 2744 CLR R20
02C7 2755 CLR R21
02C8 0000 NOP
02C9 0000 NOP
02CA 5F4F SUBI R20,0xFF
02CB 4F5F SBCI R21,0xFF
02CC 3848 CPI R20,0x88
02CD E1E3 LDI R30,0x13
02CE 075E CPC R21,R30
02CF F3C4 BLT 0x02C8
02D0 940E03F5 CALL pop_gset1
02D2 9508 RET
_LCD_address:
address --> R20
y --> R22
x --> R20
02D3 940E03F0 CALL push_gset2
02D5 2F62 MOV R22,R18
02D6 2F40 MOV R20,R16
02D7 2755 CLR R21
02D8 3040 CPI R20,0
02D9 0745 CPC R20,R21
02DA F069 BEQ 0x02E8
02DB 3041 CPI R20,1
02DC E0E0 LDI R30,0
02DD 075E CPC R21,R30
02DE F061 BEQ 0x02EB
02DF 3042 CPI R20,2
02E0 E0E0 LDI R30,0
02E1 075E CPC R21,R30
02E2 F059 BEQ 0x02EE
02E3 3043 CPI R20,3
02E4 E0E0 LDI R30,0
02E5 075E CPC R21,R30
02E6 F051 BEQ 0x02F1
02E7 C00C RJMP 0x02F4
02E8 2F46 MOV R20,R22
02E9 5840 SUBI R20,0x80
02EA C00B RJMP 0x02F6
02EB 2F46 MOV R20,R22
02EC 5740 SUBI R20,0x70
02ED C008 RJMP 0x02F6
02EE 2F46 MOV R20,R22
02EF 5748 SUBI R20,0x78
02F0 C005 RJMP 0x02F6
02F1 2F46 MOV R20,R22
02F2 5648 SUBI R20,0x68
02F3 C002 RJMP 0x02F6
02F4 2F46 MOV R20,R22
02F5 5840 SUBI R20,0x80
02F6 2F04 MOV R16,R20
02F7 DFB1 RCALL _WR_control
02F8 940E03E1 CALL pop_gset2
02FA 9508 RET
_LCD_Write_string:
s --> R20
Y --> R10
X --> R22
02FB 940E03EE CALL push_gset3
02FD 2EA2 MOV R10,R18
02FE 2F60 MOV R22,R16
02FF 814E LDD R20,Y+6
0300 815F LDD R21,Y+7
0301 2D2A MOV R18,R10
0302 2F06 MOV R16,R22
0303 DFCF RCALL _LCD_address
0304 C005 RJMP 0x030A
0305 01FA MOVW R30,R20
0306 8100 LDD R16,Z+0
0307 DF8D RCALL _WR_dat
0308 5F4F SUBI R20,0xFF
0309 4F5F SBCI R21,0xFF
030A 01FA MOVW R30,R20
030B 8020 LDD R2,Z+0
030C 2022 TST R2
030D F7B9 BNE 0x0305
030E 940E03E4 CALL pop_gset3
0310 9508 RET
_BCD_ASCII:
bcd --> R16
0311 700F ANDI R16,0xF
0312 E089 LDI R24,0x9
0313 1780 CP R24,R16
0314 F410 BCC 0x0317
0315 5C09 SUBI R16,0xC9
0316 C001 RJMP 0x0318
0317 5D00 SUBI R16,0xD0
0318 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -