📄 lcd-picture.lst
字号:
FILE: <library>
__text_start:
__start:
043A EFCF LDI R28,0xFF
043B E0DF LDI R29,0xF
043C BFCD OUT 0x3D,R28
043D BFDE OUT 0x3E,R29
043E 51C0 SUBI R28,0x10
043F 40D0 SBCI R29,0
0440 EA0A LDI R16,0xAA
0441 8308 STD Y+0,R16
0442 2400 CLR R0
0443 E7E3 LDI R30,0x73
0444 E0F8 LDI R31,0x8
0445 E018 LDI R17,0x8
0446 37E3 CPI R30,0x73
0447 07F1 CPC R31,R17
0448 F011 BEQ 0x044B
0449 9201 ST R0,Z+
044A CFFB RJMP 0x0446
044B 8300 STD Z+0,R16
044C E6E0 LDI R30,0x60
044D E0F0 LDI R31,0
044E E6A0 LDI R26,0x60
044F E0B0 LDI R27,0
0450 E018 LDI R17,0x8
0451 37E3 CPI R30,0x73
0452 07F1 CPC R31,R17
0453 F021 BEQ 0x0458
0454 95C8 LPM
0455 9631 ADIW R30,1
0456 920D ST R0,X+
0457 CFF9 RJMP 0x0451
0458 940E0514 CALL _main
_exit:
045A CFFF RJMP _exit
_delay:
i --> R20
t --> R16
045B 940E055B CALL push_gset1
045D E041 LDI R20,1
045E C001 RJMP 0x0460
045F 9543 INC R20
0460 2E24 MOV R2,R20
0461 2433 CLR R3
0462 1620 CP R2,R16
0463 0631 CPC R3,R17
0464 F3D0 BCS 0x045F
0465 940E055E CALL pop_gset1
0467 9508 RET
_delay_1ms:
i --> R16
0468 2700 CLR R16
0469 2711 CLR R17
046A C002 RJMP 0x046D
046B 5F0F SUBI R16,0xFF
046C 4F1F SBCI R17,0xFF
046D 3E0E CPI R16,0xEE
046E E0E8 LDI R30,0x8
046F 071E CPC R17,R30
0470 F3D0 BCS 0x046B
0471 9508 RET
_delay_nms:
i --> R20
n --> R22
0472 940E0559 CALL push_gset2
0474 01B8 MOVW R22,R16
0475 2744 CLR R20
0476 2755 CLR R21
0477 C003 RJMP 0x047B
0478 DFEF RCALL _delay_1ms
0479 5F4F SUBI R20,0xFF
047A 4F5F SBCI R21,0xFF
047B 1746 CP R20,R22
047C 0757 CPC R21,R23
047D F3D0 BCS 0x0478
047E 940E054A CALL pop_gset2
0480 9508 RET
_lcd_w:
p --> R20
data --> R16
0481 940E055B CALL push_gset1
0483 E040 LDI R20,0
0484 E950 LDI R21,0x90
0485 B181 IN R24,0x01
0486 7880 ANDI R24,0x80
0487 F7E9 BNE 0x0485
0488 9AC0 SBI 0x18,0
0489 01FA MOVW R30,R20
048A 8300 STD Z+0,R16
048B 98C0 CBI 0x18,0
048C 9A1E SBI 0x03,6
048D B181 IN R24,0x01
048E 7880 ANDI R24,0x80
048F F3E9 BEQ 0x048D
0490 981E CBI 0x03,6
0491 940E055E CALL pop_gset1
0493 9508 RET
_lcd_init:
0494 B785 IN R24,0x35
0495 6880 ORI R24,0x80
0496 BF85 OUT 0x35,R24
0497 9AB8 SBI 0x17,0
0498 B388 IN R24,0x18
0499 7F8E ANDI R24,0xFE
049A BB88 OUT 0x18,R24
049B E480 LDI R24,0x40
049C B982 OUT 0x02,R24
049D EF8F LDI R24,0xFF
049E B983 OUT 0x03,R24
049F 98AB CBI 0x15,3
04A0 E00A LDI R16,0xA
04A1 E010 LDI R17,0
04A2 DFB8 RCALL _delay
04A3 9AAB SBI 0x15,3
04A4 E00A LDI R16,0xA
04A5 E010 LDI R17,0
04A6 DFB4 RCALL _delay
04A7 981E CBI 0x03,6
04A8 E00A LDI R16,0xA
04A9 E010 LDI R17,0
04AA DFB0 RCALL _delay
04AB 9508 RET
_lcd_clear:
04AC EF04 LDI R16,0xF4
04AD DFD3 RCALL _lcd_w
04AE 9508 RET
_lcd_putsc:
i --> R20
ch --> R22
y --> R10
x --> R12
04AF 940E0555 CALL push_gset4
04B1 2EA2 MOV R10,R18
04B2 2EC0 MOV R12,R16
04B3 8568 LDD R22,Y+8
04B4 8579 LDD R23,Y+9
04B5 2D8C MOV R24,R12
04B6 5F8E SUBI R24,0xFE
04B7 2EC8 MOV R12,R24
04B8 C023 RJMP 0x04DC
04B9 EF00 LDI R16,0xF0
04BA DFC6 RCALL _lcd_w
04BB 2D0C MOV R16,R12
04BC DFC4 RCALL _lcd_w
04BD 2D0A MOV R16,R10
04BE DFC2 RCALL _lcd_w
04BF 01FB MOVW R30,R22
04C0 8100 LDD R16,Z+0
04C1 5A00 SUBI R16,0xA0
04C2 DFBE RCALL _lcd_w
04C3 5F6F SUBI R22,0xFF
04C4 4F7F SBCI R23,0xFF
04C5 01FB MOVW R30,R22
04C6 8100 LDD R16,Z+0
04C7 5A00 SUBI R16,0xA0
04C8 DFB8 RCALL _lcd_w
04C9 5F6F SUBI R22,0xFF
04CA 4F7F SBCI R23,0xFF
04CB E001 LDI R16,1
04CC E010 LDI R17,0
04CD DFA4 RCALL _delay_nms
04CE 2744 CLR R20
04CF 2755 CLR R21
04D0 C007 RJMP 0x04D8
04D1 EF07 LDI R16,0xF7
04D2 DFAE RCALL _lcd_w
04D3 E001 LDI R16,1
04D4 E010 LDI R17,0
04D5 DF9C RCALL _delay_nms
04D6 5F4F SUBI R20,0xFF
04D7 4F5F SBCI R21,0xFF
04D8 3140 CPI R20,0x10
04D9 E0E0 LDI R30,0
04DA 075E CPC R21,R30
04DB F3A8 BCS 0x04D1
04DC 01FB MOVW R30,R22
04DD 8020 LDD R2,Z+0
04DE 2022 TST R2
04DF F6C9 BNE 0x04B9
04E0 2744 CLR R20
04E1 2755 CLR R21
04E2 C007 RJMP 0x04EA
04E3 EF07 LDI R16,0xF7
04E4 DF9C RCALL _lcd_w
04E5 E001 LDI R16,1
04E6 E010 LDI R17,0
04E7 DF8A RCALL _delay_nms
04E8 5F4F SUBI R20,0xFF
04E9 4F5F SBCI R21,0xFF
04EA 3743 CPI R20,0x73
04EB E0E0 LDI R30,0
04EC 075E CPC R21,R30
04ED F3A8 BCS 0x04E3
04EE 940E0550 CALL pop_gset4
04F0 9508 RET
_lcd_putse:
ch --> R20
y --> R22
x --> R10
04F1 940E0557 CALL push_gset3
04F3 2F62 MOV R22,R18
04F4 2EA0 MOV R10,R16
04F5 814E LDD R20,Y+6
04F6 815F LDD R21,Y+7
04F7 2D8A MOV R24,R10
04F8 5F8C SUBI R24,0xFC
04F9 2EA8 MOV R10,R24
04FA C013 RJMP 0x050E
04FB EF03 LDI R16,0xF3
04FC DF84 RCALL _lcd_w
04FD 2D0A MOV R16,R10
04FE DF82 RCALL _lcd_w
04FF 2F06 MOV R16,R22
0500 DF80 RCALL _lcd_w
0501 01FA MOVW R30,R20
0502 8100 LDD R16,Z+0
0503 DF7D RCALL _lcd_w
0504 5F4F SUBI R20,0xFF
0505 4F5F SBCI R21,0xFF
0506 2D8A MOV R24,R10
0507 3183 CPI R24,0x13
0508 F020 BCS 0x050D
0509 E084 LDI R24,4
050A 2EA8 MOV R10,R24
050B 9563 INC R22
050C C001 RJMP 0x050E
050D 94A3 INC R10
050E E480 LDI R24,0x40
050F 1786 CP R24,R22
0510 F750 BCC 0x04FB
0511 940E054D CALL pop_gset3
0513 9508 RET
_main:
j --> Y,+3
i --> R20
0514 9722 SBIW R28,2
0515 C031 RJMP 0x0547
0516 DF7D RCALL _lcd_init
0517 DF94 RCALL _lcd_clear
0518 E680 LDI R24,0x60
0519 E098 LDI R25,0x8
051A 8399 STD Y+1,R25
051B 8388 STD Y+0,R24
051C E021 LDI R18,1
051D E007 LDI R16,7
051E DF90 RCALL _lcd_putsc
051F E680 LDI R24,0x60
0520 E090 LDI R25,0
0521 8399 STD Y+1,R25
0522 8388 STD Y+0,R24
0523 2722 CLR R18
0524 2700 CLR R16
0525 DFCB RCALL _lcd_putse
0526 2744 CLR R20
0527 2755 CLR R21
0528 E002 LDI R16,2
0529 E010 LDI R17,0
052A DF47 RCALL _delay_nms
052B EF05 LDI R16,0xF5
052C DF54 RCALL _lcd_w
052D 5F4F SUBI R20,0xFF
052E 4F5F SBCI R21,0xFF
052F 3440 CPI R20,0x40
0530 E0E0 LDI R30,0
0531 075E CPC R21,R30
0532 F3AC BLT 0x0528
0533 E680 LDI R24,0x60
0534 E094 LDI R25,4
0535 8399 STD Y+1,R25
0536 8388 STD Y+0,R24
0537 2722 CLR R18
0538 2700 CLR R16
0539 DFB7 RCALL _lcd_putse
053A 2744 CLR R20
053B 2755 CLR R21
053C E002 LDI R16,2
053D E010 LDI R17,0
053E DF33 RCALL _delay_nms
053F EF07 LDI R16,0xF7
0540 DF40 RCALL _lcd_w
0541 5F4F SUBI R20,0xFF
0542 4F5F SBCI R21,0xFF
0543 3840 CPI R20,0x80
0544 E0E0 LDI R30,0
0545 075E CPC R21,R30
0546 F3AC BLT 0x053C
0547 CFCE RJMP 0x0516
0548 9622 ADIW R28,2
0549 9508 RET
pop_gset2:
054A E0E2 LDI R30,2
054B 940C055F JMP pop
pop_gset3:
054D E0E4 LDI R30,4
054E 940C055F JMP pop
pop_gset4:
0550 E0E8 LDI R30,0x8
0551 940C055F JMP pop
push_gset5:
0553 92FA ST R15,-Y
0554 92EA ST R14,-Y
push_gset4:
0555 92DA ST R13,-Y
0556 92CA ST R12,-Y
push_gset3:
0557 92BA ST R11,-Y
0558 92AA ST R10,-Y
push_gset2:
0559 937A ST R23,-Y
055A 936A ST R22,-Y
push_gset1:
055B 935A ST R21,-Y
055C 934A ST R20,-Y
055D 9508 RET
pop_gset1:
055E E0E1 LDI R30,1
pop:
055F 9149 LD R20,Y+
0560 9159 LD R21,Y+
0561 FDE0 SBRC R30,0
0562 9508 RET
0563 9169 LD R22,Y+
0564 9179 LD R23,Y+
0565 FDE1 SBRC R30,1
0566 9508 RET
0567 90A9 LD R10,Y+
0568 90B9 LD R11,Y+
0569 FDE2 SBRC R30,2
056A 9508 RET
056B 90C9 LD R12,Y+
056C 90D9 LD R13,Y+
056D FDE3 SBRC R30,3
056E 9508 RET
056F 90E9 LD R14,Y+
0570 90F9 LD R15,Y+
0571 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -