📄 lcd.lst
字号:
NO DEBUG INFORMATION AVAILABLE!
__text_start:
__start:
005E EFCF LDI R28,0xFF
005F E1D0 LDI R29,0x10
0060 BFCD OUT 0x3D,R28
0061 BFDE OUT 0x3E,R29
0062 51C0 SUBI R28,0x10
0063 40D0 SBCI R29,0
0064 EA0A LDI R16,0xAA
0065 8308 STD Y+0,R16
0066 2400 CLR R0
0067 E2EF LDI R30,0x2F
0068 E0F1 LDI R31,1
0069 E011 LDI R17,1
006A 32EF CPI R30,0x2F
006B 07F1 CPC R31,R17
006C F011 BEQ 0x006F
006D 9201 ST R0,Z+
006E CFFB RJMP 0x006A
006F 8300 STD Z+0,R16
0070 E8EC LDI R30,0x8C
0071 E0F0 LDI R31,0
0072 E0A0 LDI R26,0
0073 E0B1 LDI R27,1
0074 E010 LDI R17,0
0075 3BEB CPI R30,0xBB
0076 07F1 CPC R31,R17
0077 F021 BEQ 0x007C
0078 95C8 LPM
0079 9631 ADIW R30,1
007A 920D ST R0,X+
007B CFF9 RJMP 0x0075
007C 940E01A3 CALL _main
_exit:
007E CFFF RJMP _exit
_delay:
007F 940E01F4 CALL push_gset1
0081 E041 LDI R20,1
0082 C001 RJMP 0x0084
0083 9543 INC R20
0084 2E24 MOV R2,R20
0085 2433 CLR R3
0086 1620 CP R2,R16
0087 0631 CPC R3,R17
0088 F3D0 BCS 0x0083
0089 940E01F7 CALL pop_gset1
008B 9508 RET
_delay_1ms:
008C 2700 CLR R16
008D 2711 CLR R17
008E C002 RJMP 0x0091
008F 5F0F SUBI R16,0xFF
0090 4F1F SBCI R17,0xFF
0091 3E0E CPI R16,0xEE
0092 E0E8 LDI R30,0x8
0093 071E CPC R17,R30
0094 F3D0 BCS 0x008F
0095 9508 RET
_delay_nms:
0096 940E01F2 CALL push_gset2
0098 01B8 MOVW R22,R16
0099 2744 CLR R20
009A 2755 CLR R21
009B C003 RJMP 0x009F
009C DFEF RCALL _delay_1ms
009D 5F4F SUBI R20,0xFF
009E 4F5F SBCI R21,0xFF
009F 1746 CP R20,R22
00A0 0757 CPC R21,R23
00A1 F3D0 BCS 0x009C
00A2 940E01E3 CALL pop_gset2
00A4 9508 RET
_lcd_w:
00A5 940E01F4 CALL push_gset1
00A7 E040 LDI R20,0
00A8 E950 LDI R21,0x90
00A9 B181 IN R24,0x01
00AA 7880 ANDI R24,0x80
00AB F7E9 BNE 0x00A9
00AC 9AC0 SBI 0x18,0
00AD 01FA MOVW R30,R20
00AE 8300 STD Z+0,R16
00AF 98C0 CBI 0x18,0
00B0 9A1E SBI 0x03,6
00B1 B181 IN R24,0x01
00B2 7880 ANDI R24,0x80
00B3 F3E9 BEQ 0x00B1
00B4 981E CBI 0x03,6
00B5 940E01F7 CALL pop_gset1
00B7 9508 RET
_lcd_init:
00B8 B785 IN R24,0x35
00B9 6880 ORI R24,0x80
00BA BF85 OUT 0x35,R24
00BB 9AB8 SBI 0x17,0
00BC B388 IN R24,0x18
00BD 7F8E ANDI R24,0xFE
00BE BB88 OUT 0x18,R24
00BF E480 LDI R24,0x40
00C0 B982 OUT 0x02,R24
00C1 EF8F LDI R24,0xFF
00C2 B983 OUT 0x03,R24
00C3 98AB CBI 0x15,3
00C4 E00A LDI R16,0xA
00C5 E010 LDI R17,0
00C6 DFB8 RCALL _delay
00C7 9AAB SBI 0x15,3
00C8 E00A LDI R16,0xA
00C9 E010 LDI R17,0
00CA DFB4 RCALL _delay
00CB 981E CBI 0x03,6
00CC E00A LDI R16,0xA
00CD E010 LDI R17,0
00CE DFB0 RCALL _delay
00CF 9508 RET
_lcd_clear:
00D0 EF04 LDI R16,0xF4
00D1 DFD3 RCALL _lcd_w
00D2 9508 RET
_lcd_putsc:
00D3 940E01EE CALL push_gset4
00D5 2EA2 MOV R10,R18
00D6 2F40 MOV R20,R16
00D7 8568 LDD R22,Y+8
00D8 8579 LDD R23,Y+9
00D9 5F4E SUBI R20,0xFE
00DA C025 RJMP 0x0100
00DB EF00 LDI R16,0xF0
00DC DFC8 RCALL _lcd_w
00DD 2F04 MOV R16,R20
00DE DFC6 RCALL _lcd_w
00DF 2D0A MOV R16,R10
00E0 DFC4 RCALL _lcd_w
00E1 01FB MOVW R30,R22
00E2 8100 LDD R16,Z+0
00E3 5A00 SUBI R16,0xA0
00E4 DFC0 RCALL _lcd_w
00E5 5F6F SUBI R22,0xFF
00E6 4F7F SBCI R23,0xFF
00E7 01FB MOVW R30,R22
00E8 8100 LDD R16,Z+0
00E9 5A00 SUBI R16,0xA0
00EA DFBA RCALL _lcd_w
00EB 5F6F SUBI R22,0xFF
00EC 4F7F SBCI R23,0xFF
00ED E002 LDI R16,2
00EE E010 LDI R17,0
00EF DFA6 RCALL _delay_nms
00F0 24CC CLR R12
00F1 24DD CLR R13
00F2 C008 RJMP 0x00FB
00F3 EF07 LDI R16,0xF7
00F4 DFB0 RCALL _lcd_w
00F5 E002 LDI R16,2
00F6 E010 LDI R17,0
00F7 DF9E RCALL _delay_nms
00F8 01C6 MOVW R24,R12
00F9 9601 ADIW R24,1
00FA 016C MOVW R12,R24
00FB 01C6 MOVW R24,R12
00FC 3180 CPI R24,0x10
00FD E0E0 LDI R30,0
00FE 079E CPC R25,R30
00FF F398 BCS 0x00F3
0100 01FB MOVW R30,R22
0101 8020 LDD R2,Z+0
0102 2022 TST R2
0103 F009 BEQ 0x0105
0104 CFD6 RJMP 0x00DB
0105 24CC CLR R12
0106 24DD CLR R13
0107 C008 RJMP 0x0110
0108 EF07 LDI R16,0xF7
0109 DF9B RCALL _lcd_w
010A E002 LDI R16,2
010B E010 LDI R17,0
010C DF89 RCALL _delay_nms
010D 01C6 MOVW R24,R12
010E 9601 ADIW R24,1
010F 016C MOVW R12,R24
0110 01C6 MOVW R24,R12
0111 3783 CPI R24,0x73
0112 E0E0 LDI R30,0
0113 079E CPC R25,R30
0114 F398 BCS 0x0108
0115 940E01E9 CALL pop_gset4
0117 9508 RET
_lcd_putsm:
0118 940E01EE CALL push_gset4
011A 2EA2 MOV R10,R18
011B 2F40 MOV R20,R16
011C 8568 LDD R22,Y+8
011D 8579 LDD R23,Y+9
011E 5F4C SUBI R20,0xFC
011F C01E RJMP 0x013E
0120 EF01 LDI R16,0xF1
0121 DF83 RCALL _lcd_w
0122 2F04 MOV R16,R20
0123 DF81 RCALL _lcd_w
0124 2D0A MOV R16,R10
0125 DF7F RCALL _lcd_w
0126 01FB MOVW R30,R22
0127 8100 LDD R16,Z+0
0128 DF7C RCALL _lcd_w
0129 5F6F SUBI R22,0xFF
012A 4F7F SBCI R23,0xFF
012B E001 LDI R16,1
012C E010 LDI R17,0
012D DF68 RCALL _delay_nms
012E 24CC CLR R12
012F 24DD CLR R13
0130 C008 RJMP 0x0139
0131 EF07 LDI R16,0xF7
0132 DF72 RCALL _lcd_w
0133 E002 LDI R16,2
0134 E010 LDI R17,0
0135 DF60 RCALL _delay_nms
0136 01C6 MOVW R24,R12
0137 9601 ADIW R24,1
0138 016C MOVW R12,R24
0139 01C6 MOVW R24,R12
013A 3088 CPI R24,0x8
013B E0E0 LDI R30,0
013C 079E CPC R25,R30
013D F398 BCS 0x0131
013E 01FB MOVW R30,R22
013F 8020 LDD R2,Z+0
0140 2022 TST R2
0141 F6F1 BNE 0x0120
0142 24CC CLR R12
0143 24DD CLR R13
0144 C008 RJMP 0x014D
0145 EF07 LDI R16,0xF7
0146 DF5E RCALL _lcd_w
0147 E002 LDI R16,2
0148 E010 LDI R17,0
0149 DF4C RCALL _delay_nms
014A 01C6 MOVW R24,R12
014B 9601 ADIW R24,1
014C 016C MOVW R12,R24
014D 01C6 MOVW R24,R12
014E 3786 CPI R24,0x76
014F E0E0 LDI R30,0
0150 079E CPC R25,R30
0151 F398 BCS 0x0145
0152 940E01E9 CALL pop_gset4
0154 9508 RET
_lcd_putse:
0155 940E01F0 CALL push_gset3
0157 2F62 MOV R22,R18
0158 2EA0 MOV R10,R16
0159 814E LDD R20,Y+6
015A 815F LDD R21,Y+7
015B 2D8A MOV R24,R10
015C 5F8C SUBI R24,0xFC
015D 2EA8 MOV R10,R24
015E C013 RJMP 0x0172
015F EF01 LDI R16,0xF1
0160 DF44 RCALL _lcd_w
0161 2D0A MOV R16,R10
0162 DF42 RCALL _lcd_w
0163 2F06 MOV R16,R22
0164 DF40 RCALL _lcd_w
0165 01FA MOVW R30,R20
0166 8100 LDD R16,Z+0
0167 DF3D RCALL _lcd_w
0168 5F4F SUBI R20,0xFF
0169 4F5F SBCI R21,0xFF
016A 2D8A MOV R24,R10
016B 3183 CPI R24,0x13
016C F020 BCS 0x0171
016D E084 LDI R24,4
016E 2EA8 MOV R10,R24
016F 5F68 SUBI R22,0xF8
0170 C001 RJMP 0x0172
0171 94A3 INC R10
0172 01FA MOVW R30,R20
0173 8020 LDD R2,Z+0
0174 2022 TST R2
0175 F749 BNE 0x015F
0176 940E01E6 CALL pop_gset3
0178 9508 RET
_lcd_putsf:
0179 940E01F0 CALL push_gset3
017B 2EA2 MOV R10,R18
017C 2F40 MOV R20,R16
017D 816E LDD R22,Y+6
017E 817F LDD R23,Y+7
017F 5F4E SUBI R20,0xFE
0180 C01B RJMP 0x019C
0181 EF00 LDI R16,0xF0
0182 DF22 RCALL _lcd_w
0183 2F04 MOV R16,R20
0184 DF20 RCALL _lcd_w
0185 2D0A MOV R16,R10
0186 DF1E RCALL _lcd_w
0187 01FB MOVW R30,R22
0188 8100 LDD R16,Z+0
0189 5A00 SUBI R16,0xA0
018A DF1A RCALL _lcd_w
018B 5F6F SUBI R22,0xFF
018C 4F7F SBCI R23,0xFF
018D 01FB MOVW R30,R22
018E 8100 LDD R16,Z+0
018F 5A00 SUBI R16,0xA0
0190 DF14 RCALL _lcd_w
0191 5F6F SUBI R22,0xFF
0192 4F7F SBCI R23,0xFF
0193 E002 LDI R16,2
0194 E010 LDI R17,0
0195 DF00 RCALL _delay_nms
0196 3049 CPI R20,0x9
0197 F018 BCS 0x019B
0198 E042 LDI R20,2
0199 94A3 INC R10
019A C001 RJMP 0x019C
019B 9543 INC R20
019C 01FB MOVW R30,R22
019D 8020 LDD R2,Z+0
019E 2022 TST R2
019F F709 BNE 0x0181
01A0 940E01E6 CALL pop_gset3
01A2 9508 RET
_main:
01A3 9722 SBIW R28,2
01A4 C03B RJMP 0x01E0
01A5 DF12 RCALL _lcd_init
01A6 DF29 RCALL _lcd_clear
01A7 E284 LDI R24,0x24
01A8 E091 LDI R25,1
01A9 8399 STD Y+1,R25
01AA 8388 STD Y+0,R24
01AB 2722 CLR R18
01AC E007 LDI R16,7
01AD DF25 RCALL _lcd_putsc
01AE E180 LDI R24,0x10
01AF E091 LDI R25,1
01B0 8399 STD Y+1,R25
01B1 8388 STD Y+0,R24
01B2 E02A LDI R18,0xA
01B3 E307 LDI R16,0x37
01B4 DF63 RCALL _lcd_putsm
01B5 E604 LDI R16,0x64
01B6 E010 LDI R17,0
01B7 DEDE RCALL _delay_nms
01B8 2744 CLR R20
01B9 2755 CLR R21
01BA E284 LDI R24,0x24
01BB E091 LDI R25,1
01BC 8399 STD Y+1,R25
01BD 8388 STD Y+0,R24
01BE E021 LDI R18,1
01BF E001 LDI R16,1
01C0 DFB8 RCALL _lcd_putsf
01C1 E104 LDI R16,0x14
01C2 E010 LDI R17,0
01C3 DED2 RCALL _delay_nms
01C4 EF04 LDI R16,0xF4
01C5 DEDF RCALL _lcd_w
01C6 E104 LDI R16,0x14
01C7 E010 LDI R17,0
01C8 DECD RCALL _delay_nms
01C9 5F4F SUBI R20,0xFF
01CA 4F5F SBCI R21,0xFF
01CB 3042 CPI R20,2
01CC E0E0 LDI R30,0
01CD 075E CPC R21,R30
01CE F35C BLT 0x01BA
01CF E284 LDI R24,0x24
01D0 E091 LDI R25,1
01D1 8399 STD Y+1,R25
01D2 8388 STD Y+0,R24
01D3 E021 LDI R18,1
01D4 E001 LDI R16,1
01D5 DFA3 RCALL _lcd_putsf
01D6 E180 LDI R24,0x10
01D7 E091 LDI R25,1
01D8 8399 STD Y+1,R25
01D9 8388 STD Y+0,R24
01DA E223 LDI R18,0x23
01DB 2700 CLR R16
01DC DF78 RCALL _lcd_putse
01DD E906 LDI R16,0x96
01DE E010 LDI R17,0
01DF DEB6 RCALL _delay_nms
01E0 CFC4 RJMP 0x01A5
01E1 9622 ADIW R28,2
01E2 9508 RET
pop_gset2:
01E3 E0E2 LDI R30,2
01E4 940C01F8 JMP pop
pop_gset3:
01E6 E0E4 LDI R30,4
01E7 940C01F8 JMP pop
pop_gset4:
01E9 E0E8 LDI R30,0x8
01EA 940C01F8 JMP pop
push_gset5:
01EC 92FA ST R15,-Y
01ED 92EA ST R14,-Y
push_gset4:
01EE 92DA ST R13,-Y
01EF 92CA ST R12,-Y
push_gset3:
01F0 92BA ST R11,-Y
01F1 92AA ST R10,-Y
push_gset2:
01F2 937A ST R23,-Y
01F3 936A ST R22,-Y
push_gset1:
01F4 935A ST R21,-Y
01F5 934A ST R20,-Y
01F6 9508 RET
pop_gset1:
01F7 E0E1 LDI R30,1
pop:
01F8 9149 LD R20,Y+
01F9 9159 LD R21,Y+
01FA FDE0 SBRC R30,0
01FB 9508 RET
01FC 9169 LD R22,Y+
01FD 9179 LD R23,Y+
01FE FDE1 SBRC R30,1
01FF 9508 RET
0200 90A9 LD R10,Y+
0201 90B9 LD R11,Y+
0202 FDE2 SBRC R30,2
0203 9508 RET
0204 90C9 LD R12,Y+
0205 90D9 LD R13,Y+
0206 FDE3 SBRC R30,3
0207 9508 RET
0208 90E9 LD R14,Y+
0209 90F9 LD R15,Y+
020A 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -