📄 lcd.lst
字号:
1 .file "lcd.c"
2 .arch atmega8
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global adress_table
19 .section .progmem.data,"a",@progbits
22 adress_table:
23 0000 80 .byte -128
24 0001 81 .byte -127
25 0002 82 .byte -126
26 0003 83 .byte -125
27 0004 84 .byte -124
28 0005 85 .byte -123
29 0006 86 .byte -122
30 0007 87 .byte -121
31 0008 90 .byte -112
32 0009 91 .byte -111
33 000a 92 .byte -110
34 000b 93 .byte -109
35 000c 94 .byte -108
36 000d 95 .byte -107
37 000e 96 .byte -106
38 000f 97 .byte -105
39 0010 88 .byte -120
40 0011 89 .byte -119
41 0012 8A .byte -118
42 0013 8B .byte -117
43 0014 8C .byte -116
44 0015 8D .byte -115
45 0016 8E .byte -114
46 0017 8F .byte -113
47 0018 98 .byte -104
48 0019 99 .byte -103
49 001a 9A .byte -102
50 001b 9B .byte -101
51 001c 9C .byte -100
52 001d 9D .byte -99
53 001e 9E .byte -98
54 001f 9F .byte -97
55 .global sse
58 sse:
59 0020 2A2A B0E6 .string "**\260\346\261\276\272\305 V0.11**"
59 B1BE BAC5
59 2056 302E
59 3131 2A2A
59 00
60 .global ssd
63 ssd:
64 0031 D6C7 C4DC .string "\326\307\304\334\323\315\317\344\277\330\326\306\317\265\315\263"
64 D3CD CFE4
64 BFD8 D6C6
64 CFB5 CDB3
64 00
65 .global ssa
68 ssa:
69 0042 2D2D 2D2D .string "----\271\342\303\242\265\347\327\323----"
69 B9E2 C3A2
69 B5E7 D7D3
69 2D2D 2D2D
69 00
70 .global ssb
73 ssb:
74 0053 B1B1 BBAA .string "\261\261\273\252\272\275\314\354\271\244\322\265\321\247\324\272"
74 BABD CCEC
74 B9A4 D2B5
74 D1A7 D4BA
74 00
75 .text
76 .global write_byte
78 write_byte:
79 .LFB2:
80 .LM1:
81 /* prologue: frame size=0 */
82 /* prologue end (size=0) */
83 0000 682F mov r22,r24
84 0002 7727 clr r23
85 0004 20E0 ldi r18,lo8(0)
86 0006 30E0 ldi r19,hi8(0)
87 0008 47E0 ldi r20,lo8(7)
88 .L7:
89 .LM2:
90 000a CB01 movw r24,r22
91 000c 022E mov r0,r18
92 000e 02C0 rjmp 2f
93 0010 880F 1: lsl r24
94 0012 991F rol r25
95 0014 0A94 2: dec r0
96 0016 E2F7 brpl 1b
97 .LM3:
98 0018 87FF sbrs r24,7
99 001a 02C0 rjmp .L5
100 001c AC9A sbi 53-0x20,4
101 001e 01C0 rjmp .L6
102 .L5:
103 .LM4:
104 0020 AC98 cbi 53-0x20,4
105 .L6:
106 .LM5:
107 0022 AB9A sbi 53-0x20,3
108 .LM6:
109 0024 AB98 cbi 53-0x20,3
110 .LM7:
111 0026 4150 subi r20,lo8(-(-1))
112 0028 2F5F subi r18,lo8(-(1))
113 002a 3F4F sbci r19,hi8(-(1))
114 002c 47FF sbrs r20,7
115 002e EDCF rjmp .L7
116 /* epilogue: frame size=0 */
117 0030 0895 ret
118 /* epilogue end (size=1) */
119 /* function write_byte size 25 (24) */
120 .LFE2:
122 .global delay
124 delay:
125 .LFB3:
126 .LM8:
127 /* prologue: frame size=0 */
128 /* prologue end (size=0) */
129 .L43:
130 .LM9:
131 0032 0097 sbiw r24,0
132 0034 11F0 breq .L20
133 .LM10:
134 0036 0197 sbiw r24,1
135 0038 FCCF rjmp .L43
136 .L20:
137 003a 0895 ret
138 /* epilogue: frame size=0 */
139 /* epilogue: noreturn */
140 /* epilogue end (size=0) */
141 /* function delay size 5 (5) */
142 .LFE3:
144 .global write_command
146 write_command:
147 .LFB4:
148 .LM11:
149 /* prologue: frame size=0 */
150 003c 1F93 push r17
151 /* prologue end (size=1) */
152 003e 182F mov r17,r24
153 .LM12:
154 0040 AD9A sbi 53-0x20,5
155 .LM13:
156 0042 88EF ldi r24,lo8(-8)
157 0044 DDDF rcall write_byte
158 .LM14:
159 0046 812F mov r24,r17
160 0048 807F andi r24,lo8(-16)
161 004a DADF rcall write_byte
162 .LM15:
163 004c 812F mov r24,r17
164 004e 8295 swap r24
165 0050 807F andi r24,0xf0
166 0052 D6DF rcall write_byte
167 .LM16:
168 0054 AD98 cbi 53-0x20,5
169 /* epilogue: frame size=0 */
170 0056 1F91 pop r17
171 0058 0895 ret
172 /* epilogue end (size=2) */
173 /* function write_command size 15 (12) */
174 .LFE4:
176 .global write_data
178 write_data:
179 .LFB5:
180 .LM17:
181 /* prologue: frame size=0 */
182 005a 1F93 push r17
183 /* prologue end (size=1) */
184 005c 182F mov r17,r24
185 .LM18:
186 005e AD9A sbi 53-0x20,5
187 .LM19:
188 0060 8AEF ldi r24,lo8(-6)
189 0062 CEDF rcall write_byte
190 .LM20:
191 0064 812F mov r24,r17
192 0066 807F andi r24,lo8(-16)
193 0068 CBDF rcall write_byte
194 .LM21:
195 006a 812F mov r24,r17
196 006c 8295 swap r24
197 006e 807F andi r24,0xf0
198 0070 C7DF rcall write_byte
199 .LM22:
200 0072 AD98 cbi 53-0x20,5
201 /* epilogue: frame size=0 */
202 0074 1F91 pop r17
203 0076 0895 ret
204 /* epilogue end (size=2) */
205 /* function write_data size 15 (12) */
206 .LFE5:
208 .global LCD_Init
210 LCD_Init:
211 .LFB6:
212 .LM23:
213 /* prologue: frame size=0 */
214 /* prologue end (size=0) */
215 .LM24:
216 0078 88EC ldi r24,lo8(200)
217 007a 90E0 ldi r25,hi8(200)
218 007c DADF rcall delay
219 .LM25:
220 007e 80E3 ldi r24,lo8(48)
221 0080 DDDF rcall write_command
222 .LM26:
223 0082 8AE0 ldi r24,lo8(10)
224 0084 90E0 ldi r25,hi8(10)
225 0086 D5DF rcall delay
226 .LM27:
227 0088 8CE0 ldi r24,lo8(12)
228 008a D8DF rcall write_command
229 .LM28:
230 008c 8AE0 ldi r24,lo8(10)
231 008e 90E0 ldi r25,hi8(10)
232 0090 D0DF rcall delay
233 .LM29:
234 0092 81E0 ldi r24,lo8(1)
235 0094 D3DF rcall write_command
236 .LM30:
237 0096 84EF ldi r24,lo8(500)
238 0098 91E0 ldi r25,hi8(500)
239 009a CBDF rcall delay
240 .LM31:
241 009c 82E0 ldi r24,lo8(2)
242 009e CEDF rcall write_command
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -