📄 glcd.lst
字号:
1 .file "glcd.c"
2 .arch atmega32
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 _yy
19 .global _yy
20 .section .bss
23 _yy:
24 0000 00 .skip 1,0
25 .global _xx
26 .global _xx
29 _xx:
30 0001 00 .skip 1,0
31 .global font5x7
32 .section .progmem.data,"a",@progbits
35 font5x7:
36 0000 00 .byte 0
37 0001 00 .byte 0
38 0002 00 .byte 0
39 0003 00 .byte 0
40 0004 00 .byte 0
41 0005 00 .byte 0
42 0006 00 .byte 0
43 0007 5F .byte 95
44 0008 00 .byte 0
45 0009 00 .byte 0
46 000a 00 .byte 0
47 000b 07 .byte 7
48 000c 00 .byte 0
49 000d 07 .byte 7
50 000e 00 .byte 0
51 .text
52 .global glcd_back_light_on
54 glcd_back_light_on:
55 .LFB14:
56 .LM1:
57 /* prologue: frame size=0 */
58 /* prologue end (size=0) */
59 /* epilogue: frame size=0 */
60 0000 0895 ret
61 /* epilogue end (size=1) */
62 /* function glcd_back_light_on size 1 (0) */
63 .LFE14:
65 .global glcd_back_light_off
67 glcd_back_light_off:
68 .LFB15:
69 .LM2:
70 /* prologue: frame size=0 */
71 /* prologue end (size=0) */
72 /* epilogue: frame size=0 */
73 0002 0895 ret
74 /* epilogue end (size=1) */
75 /* function glcd_back_light_off size 1 (0) */
76 .LFE15:
78 .global glcd_gotoxy
80 glcd_gotoxy:
81 .LFB16:
82 .LM3:
83 /* prologue: frame size=0 */
84 /* prologue end (size=0) */
85 .LM4:
86 0004 8093 0000 sts _xx,r24
87 .LM5:
88 0008 6093 0000 sts _yy,r22
89 /* epilogue: frame size=0 */
90 000c 0895 ret
91 /* epilogue end (size=1) */
92 /* function glcd_gotoxy size 5 (4) */
93 .LFE16:
95 .global glcd_line
97 glcd_line:
98 .LFB21:
99 .LM6:
100 /* prologue: frame size=0 */
101 /* prologue end (size=0) */
102 /* epilogue: frame size=0 */
103 000e 0895 ret
104 /* epilogue end (size=1) */
105 /* function glcd_line size 1 (0) */
106 .LFE21:
108 .global glcd_rd_data
110 glcd_rd_data:
111 .LFB27:
112 .LM7:
113 /* prologue: frame size=0 */
114 /* prologue end (size=0) */
115 .LM8:
116 0010 0E94 0000 call glcd_wait_for_busy
117 .LM9:
118 0014 17BA out 55-0x20,__zero_reg__
119 .LM10:
120 0016 DA9A sbi 59-0x20,2
121 .LM11:
122 0018 D99A sbi 59-0x20,1
123 .LM12:
124 001a DB9A sbi 59-0x20,3
125 .LM13:
126 001c 81E0 ldi r24,lo8(1)
127 001e 90E0 ldi r25,hi8(1)
128 0020 0E94 0000 call glcd_delay
129 .LM14:
130 0024 DB98 cbi 59-0x20,3
131 .LM15:
132 0026 86B3 in r24,54-0x20
133 .LM16:
134 0028 9927 clr r25
135 /* epilogue: frame size=0 */
136 002a 0895 ret
137 /* epilogue end (size=1) */
138 /* function glcd_rd_data size 14 (13) */
139 .LFE27:
141 .global glcd_wr_data
143 glcd_wr_data:
144 .LFB26:
145 .LM17:
146 /* prologue: frame size=0 */
147 002c 1F93 push r17
148 /* prologue end (size=1) */
149 002e 182F mov r17,r24
150 .LM18:
151 0030 0E94 0000 call glcd_wait_for_busy
152 .LM19:
153 0034 DA98 cbi 59-0x20,2
154 .LM20:
155 0036 D99A sbi 59-0x20,1
156 .LM21:
157 0038 8FEF ldi r24,lo8(-1)
158 003a 87BB out 55-0x20,r24
159 .LM22:
160 003c 18BB out 56-0x20,r17
161 .LM23:
162 003e DB9A sbi 59-0x20,3
163 .LM24:
164 0040 81E0 ldi r24,lo8(1)
165 0042 90E0 ldi r25,hi8(1)
166 0044 0E94 0000 call glcd_delay
167 .LM25:
168 0048 DB98 cbi 59-0x20,3
169 /* epilogue: frame size=0 */
170 004a 1F91 pop r17
171 004c 0895 ret
172 /* epilogue end (size=2) */
173 /* function glcd_wr_data size 17 (14) */
174 .LFE26:
176 .global glcd_wr_cmd
178 glcd_wr_cmd:
179 .LFB25:
180 .LM26:
181 /* prologue: frame size=0 */
182 004e 1F93 push r17
183 /* prologue end (size=1) */
184 0050 182F mov r17,r24
185 .LM27:
186 0052 0E94 0000 call glcd_wait_for_busy
187 .LM28:
188 0056 DA98 cbi 59-0x20,2
189 .LM29:
190 0058 D998 cbi 59-0x20,1
191 .LM30:
192 005a 8FEF ldi r24,lo8(-1)
193 005c 87BB out 55-0x20,r24
194 .LM31:
195 005e 18BB out 56-0x20,r17
196 .LM32:
197 0060 DB9A sbi 59-0x20,3
198 .LM33:
199 0062 81E0 ldi r24,lo8(1)
200 0064 90E0 ldi r25,hi8(1)
201 0066 0E94 0000 call glcd_delay
202 .LM34:
203 006a DB98 cbi 59-0x20,3
204 /* epilogue: frame size=0 */
205 006c 1F91 pop r17
206 006e 0895 ret
207 /* epilogue end (size=2) */
208 /* function glcd_wr_cmd size 17 (14) */
209 .LFE25:
211 .global glcd_start_line
213 glcd_start_line:
214 .LFB30:
215 .LM35:
216 /* prologue: frame size=0 */
217 0070 1F93 push r17
218 /* prologue end (size=1) */
219 .LM36:
220 0072 DC9A sbi 59-0x20,4
221 .LM37:
222 0074 182F mov r17,r24
223 0076 106C ori r17,lo8(-64)
224 0078 812F mov r24,r17
225 007a 0E94 0000 call glcd_wr_cmd
226 .LM38:
227 007e DC98 cbi 59-0x20,4
228 .LM39:
229 0080 DD9A sbi 59-0x20,5
230 .LM40:
231 0082 812F mov r24,r17
232 0084 0E94 0000 call glcd_wr_cmd
233 .LM41:
234 0088 DD98 cbi 59-0x20,5
235 /* epilogue: frame size=0 */
236 008a 1F91 pop r17
237 008c 0895 ret
238 /* epilogue end (size=2) */
239 /* function glcd_start_line size 15 (12) */
240 .LFE30:
242 .global glcd_set_y_addr
244 glcd_set_y_addr:
245 .LFB29:
246 .LM42:
247 /* prologue: frame size=0 */
248 /* prologue end (size=0) */
249 .LM43:
250 008e 886B ori r24,lo8(-72)
251 0090 0E94 0000 call glcd_wr_cmd
252 /* epilogue: frame size=0 */
253 0094 0895 ret
254 /* epilogue end (size=1) */
255 /* function glcd_set_y_addr size 4 (3) */
256 .LFE29:
258 .global glcd_set_x_addr
260 glcd_set_x_addr:
261 .LFB28:
262 .LM44:
263 /* prologue: frame size=0 */
264 /* prologue end (size=0) */
265 .LM45:
266 0096 8064 ori r24,lo8(64)
267 0098 0E94 0000 call glcd_wr_cmd
268 /* epilogue: frame size=0 */
269 009c 0895 ret
270 /* epilogue end (size=1) */
271 /* function glcd_set_x_addr size 4 (3) */
272 .LFE28:
274 .global glcd_clrscr
276 glcd_clrscr:
277 .LFB31:
278 .LM46:
279 /* prologue: frame size=0 */
280 009e 1F93 push r17
281 00a0 CF93 push r28
282 /* prologue end (size=2) */
283 .LM47:
284 00a2 DC9A sbi 59-0x20,4
285 .LM48:
286 00a4 10E0 ldi r17,lo8(0)
287 .L21:
288 .LBB2:
289 .LBB3:
290 .LM49:
291 00a6 812F mov r24,r17
292 00a8 886B ori r24,lo8(-72)
293 00aa 0E94 0000 call glcd_wr_cmd
294 .LBE3:
295 .LBE2:
296 .LBB4:
297 .LBB5:
298 .LM50:
299 00ae 80E4 ldi r24,lo8(64)
300 00b0 0E94 0000 call glcd_wr_cmd
301 00b4 CFE3 ldi r28,lo8(63)
302 .L20:
303 .LBE5:
304 .LBE4:
305 .LM51:
306 00b6 80E0 ldi r24,lo8(0)
307 00b8 0E94 0000 call glcd_wr_data
308 00bc C150 subi r28,lo8(-(-1))
309 00be C7FF sbrs r28,7
310 00c0 FACF rjmp .L20
311 .LM52:
312 00c2 1F5F subi r17,lo8(-(1))
313 00c4 1830 cpi r17,lo8(8)
314 00c6 78F3 brlo .L21
315 00c8 10E0 ldi r17,lo8(0)
316 .LM53:
317 00ca DC98 cbi 59-0x20,4
318 .LM54:
319 00cc DD9A sbi 59-0x20,5
320 .L31:
321 .LBB6:
322 .LBB7:
323 .LM55:
324 00ce 812F mov r24,r17
325 00d0 886B ori r24,lo8(-72)
326 00d2 0E94 0000 call glcd_wr_cmd
327 .LBE7:
328 .LBE6:
329 .LBB8:
330 .LBB9:
331 .LM56:
332 00d6 80E4 ldi r24,lo8(64)
333 00d8 0E94 0000 call glcd_wr_cmd
334 00dc CFE3 ldi r28,lo8(63)
335 .L30:
336 .LBE9:
337 .LBE8:
338 .LM57:
339 00de 80E0 ldi r24,lo8(0)
340 00e0 0E94 0000 call glcd_wr_data
341 00e4 C150 subi r28,lo8(-(-1))
342 00e6 C7FF sbrs r28,7
343 00e8 FACF rjmp .L30
344 .LM58:
345 00ea 1F5F subi r17,lo8(-(1))
346 00ec 1830 cpi r17,lo8(8)
347 00ee 78F3 brlo .L31
348 .LM59:
349 00f0 DD98 cbi 59-0x20,5
350 /* epilogue: frame size=0 */
351 00f2 CF91 pop r28
352 00f4 1F91 pop r17
353 00f6 0895 ret
354 /* epilogue end (size=3) */
355 /* function glcd_clrscr size 45 (40) */
356 .LFE31:
358 .global glcd_clr_dot
360 glcd_clr_dot:
361 .LFB20:
362 .LM60:
363 /* prologue: frame size=0 */
364 00f8 0F93 push r16
365 00fa 1F93 push r17
366 00fc CF93 push r28
367 /* prologue end (size=3) */
368 00fe 182F mov r17,r24
369 0100 C62F mov r28,r22
370 0102 C695 lsr r28
371 0104 C695 lsr r28
372 0106 C695 lsr r28
373 0108 062F mov r16,r22
374 010a 0770 andi r16,lo8(7)
375 .LM61:
376 010c 1034 cpi r17,lo8(64)
377 010e F0F4 brsh .L41
378 .LM62:
379 0110 DC9A sbi 59-0x20,4
380 .LBB10:
381 .LBB11:
382 .LM63:
383 0112 1064 ori r17,lo8(64)
384 0114 812F mov r24,r17
385 0116 0E94 0000 call glcd_wr_cmd
386 .LBE11:
387 .LBE10:
388 .LBB12:
389 .LBB13:
390 .LM64:
391 011a 8C2F mov r24,r28
392 011c 886B ori r24,lo8(-72)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -