📄 cepark-avr
字号:
1 .file "LCD12232.c"
2 .arch atmega16
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 WriteCommand
20 WriteCommand:
21 .LFB8:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LVL0:
26 .LM2:
27 0000 9927 clr r25
28 .LVL1:
29 0002 80FF sbrs r24,0
30 0004 00C0 rjmp .L2
31 .LM3:
32 0006 DE9A sbi 59-0x20,6
33 .LM4:
34 0008 DC98 cbi 59-0x20,4
35 .LM5:
36 000a DD98 cbi 59-0x20,5
37 .LM6:
38 000c 68BB out 56-0x20,r22
39 .LM7:
40 000e DE98 cbi 59-0x20,6
41 0010 00C0 rjmp .L4
42 .L2:
43 .LM8:
44 0012 81FF sbrs r24,1
45 0014 00C0 rjmp .L5
46 .LM9:
47 0016 DF9A sbi 59-0x20,7
48 .LM10:
49 0018 DC98 cbi 59-0x20,4
50 .LM11:
51 001a DD98 cbi 59-0x20,5
52 .LM12:
53 001c 68BB out 56-0x20,r22
54 .LM13:
55 001e DF98 cbi 59-0x20,7
56 0020 00C0 rjmp .L4
57 .L5:
58 .LM14:
59 0022 DC98 cbi 59-0x20,4
60 .LM15:
61 0024 DD98 cbi 59-0x20,5
62 .LM16:
63 0026 68BB out 56-0x20,r22
64 .L4:
65 .LM17:
66 0028 DC9A sbi 59-0x20,4
67 .LM18:
68 002a DD9A sbi 59-0x20,5
69 /* epilogue: frame size=0 */
70 002c 0895 ret
71 /* epilogue end (size=1) */
72 /* function WriteCommand size 23 (22) */
73 .LFE8:
75 .global LCD_Init
77 LCD_Init:
78 .LFB7:
79 .LM19:
80 /* prologue: frame size=0 */
81 /* prologue end (size=0) */
82 .LM20:
83 002e 62EE ldi r22,lo8(-30)
84 0030 81E0 ldi r24,lo8(1)
85 0032 0E94 0000 call WriteCommand
86 .LM21:
87 0036 62EE ldi r22,lo8(-30)
88 0038 82E0 ldi r24,lo8(2)
89 003a 0E94 0000 call WriteCommand
90 .LM22:
91 003e 69EA ldi r22,lo8(-87)
92 0040 81E0 ldi r24,lo8(1)
93 0042 0E94 0000 call WriteCommand
94 .LM23:
95 0046 69EA ldi r22,lo8(-87)
96 0048 82E0 ldi r24,lo8(2)
97 004a 0E94 0000 call WriteCommand
98 .LM24:
99 004e 6FEA ldi r22,lo8(-81)
100 0050 81E0 ldi r24,lo8(1)
101 0052 0E94 0000 call WriteCommand
102 .LM25:
103 0056 6FEA ldi r22,lo8(-81)
104 0058 82E0 ldi r24,lo8(2)
105 005a 0E94 0000 call WriteCommand
106 /* epilogue: frame size=0 */
107 005e 0895 ret
108 /* epilogue end (size=1) */
109 /* function LCD_Init size 25 (24) */
110 .LFE7:
112 .global WriteData
114 WriteData:
115 .LFB9:
116 .LM26:
117 /* prologue: frame size=0 */
118 /* prologue end (size=0) */
119 .LVL2:
120 .LM27:
121 0060 9927 clr r25
122 .LVL3:
123 0062 80FF sbrs r24,0
124 0064 00C0 rjmp .L11
125 .LM28:
126 0066 DE9A sbi 59-0x20,6
127 .LM29:
128 0068 DC9A sbi 59-0x20,4
129 .LM30:
130 006a DD98 cbi 59-0x20,5
131 .LM31:
132 006c 68BB out 56-0x20,r22
133 .LM32:
134 006e DE98 cbi 59-0x20,6
135 0070 00C0 rjmp .L13
136 .L11:
137 .LM33:
138 0072 81FF sbrs r24,1
139 0074 00C0 rjmp .L14
140 .LM34:
141 0076 DF9A sbi 59-0x20,7
142 .LM35:
143 0078 DC9A sbi 59-0x20,4
144 .LM36:
145 007a DD98 cbi 59-0x20,5
146 .LM37:
147 007c 68BB out 56-0x20,r22
148 .LM38:
149 007e DF98 cbi 59-0x20,7
150 0080 00C0 rjmp .L13
151 .L14:
152 .LM39:
153 0082 DC9A sbi 59-0x20,4
154 .LM40:
155 0084 DD98 cbi 59-0x20,5
156 .LM41:
157 0086 68BB out 56-0x20,r22
158 .L13:
159 .LM42:
160 0088 DC98 cbi 59-0x20,4
161 .LM43:
162 008a DD9A sbi 59-0x20,5
163 /* epilogue: frame size=0 */
164 008c 0895 ret
165 /* epilogue end (size=1) */
166 /* function WriteData size 23 (22) */
167 .LFE9:
169 .global clear_lcd
171 clear_lcd:
172 .LFB10:
173 .LM44:
174 /* prologue: frame size=0 */
175 008e 0F93 push r16
176 0090 1F93 push r17
177 /* prologue end (size=2) */
178 0092 08EB ldi r16,lo8(-72)
179 .LVL4:
180 .LVL5:
181 .L18:
182 .LM45:
183 0094 602F mov r22,r16
184 0096 81E0 ldi r24,lo8(1)
185 0098 0E94 0000 call WriteCommand
186 .LM46:
187 009c 602F mov r22,r16
188 009e 82E0 ldi r24,lo8(2)
189 00a0 0E94 0000 call WriteCommand
190 .LM47:
191 00a4 60E0 ldi r22,lo8(0)
192 00a6 82E0 ldi r24,lo8(2)
193 00a8 0E94 0000 call WriteCommand
194 .LM48:
195 00ac 60E0 ldi r22,lo8(0)
196 00ae 81E0 ldi r24,lo8(1)
197 00b0 0E94 0000 call WriteCommand
198 00b4 10E0 ldi r17,lo8(0)
199 .L19:
200 .LM49:
201 00b6 60E0 ldi r22,lo8(0)
202 00b8 81E0 ldi r24,lo8(1)
203 00ba 0E94 0000 call WriteData
204 .LM50:
205 00be 60E0 ldi r22,lo8(0)
206 00c0 82E0 ldi r24,lo8(2)
207 00c2 0E94 0000 call WriteData
208 .LM51:
209 00c6 1F5F subi r17,lo8(-(1))
210 00c8 1D33 cpi r17,lo8(61)
211 00ca 01F4 brne .L19
212 .LM52:
213 00cc 0F5F subi r16,lo8(-(1))
214 00ce 0C3B cpi r16,lo8(-68)
215 00d0 01F4 brne .L18
216 /* epilogue: frame size=0 */
217 00d2 1F91 pop r17
218 00d4 0F91 pop r16
219 00d6 0895 ret
220 /* epilogue end (size=3) */
221 /* function clear_lcd size 37 (32) */
222 .LFE10:
224 .global tex_Write
226 tex_Write:
227 .LFB11:
228 .LM53:
229 /* prologue: frame size=0 */
230 00d8 EF92 push r14
231 00da FF92 push r15
232 00dc 0F93 push r16
233 00de 1F93 push r17
234 00e0 CF93 push r28
235 00e2 DF93 push r29
236 /* prologue end (size=6) */
237 .LVL6:
238 00e4 7C01 movw r14,r24
239 .LM54:
240 00e6 8091 0000 lds r24,SEL_E1
241 .LVL7:
242 00ea 8823 tst r24
243 00ec 01F0 breq .L28
244 .LM55:
245 00ee 68EB ldi r22,lo8(-72)
246 00f0 81E0 ldi r24,lo8(1)
247 00f2 0E94 0000 call WriteCommand
248 .LM56:
249 00f6 6091 0000 lds r22,Add1
250 00fa 81E0 ldi r24,lo8(1)
251 00fc 0E94 0000 call WriteCommand
252 0100 E701 movw r28,r14
253 0102 18E0 ldi r17,lo8(8)
254 .LVL8:
255 .L30:
256 .LM57:
257 0104 6885 ldd r22,Y+8
258 0106 81E0 ldi r24,lo8(1)
259 0108 0E94 0000 call WriteData
260 .LM58:
261 010c 1F5F subi r17,lo8(-(1))
262 010e 2196 adiw r28,1
263 0110 1031 cpi r17,lo8(16)
264 0112 01F4 brne .L30
265 .LM59:
266 0114 69EB ldi r22,lo8(-71)
267 0116 81E0 ldi r24,lo8(1)
268 0118 0E94 0000 call WriteCommand
269 .LM60:
270 011c 6091 0000 lds r22,Add1
271 0120 81E0 ldi r24,lo8(1)
272 0122 0E94 0000 call WriteCommand
273 0126 E701 movw r28,r14
274 0128 8701 movw r16,r14
275 012a 085F subi r16,lo8(-(8))
276 012c 1F4F sbci r17,hi8(-(8))
277 .L32:
278 .LM61:
279 012e 6991 ld r22,Y+
280 0130 81E0 ldi r24,lo8(1)
281 0132 0E94 0000 call WriteData
282 .LM62:
283 0136 C017 cp r28,r16
284 0138 D107 cpc r29,r17
285 013a 01F0 breq .L33
286 .LVL9:
287 013c 00C0 rjmp .L32
288 .LVL10:
289 .L28:
290 .LM63:
291 013e 68EB ldi r22,lo8(-72)
292 0140 82E0 ldi r24,lo8(2)
293 0142 0E94 0000 call WriteCommand
294 .LM64:
295 0146 6091 0000 lds r22,Add1
296 014a 82E0 ldi r24,lo8(2)
297 014c 0E94 0000 call WriteCommand
298 0150 E701 movw r28,r14
299 0152 18E0 ldi r17,lo8(8)
300 .LVL11:
301 .L34:
302 .LM65:
303 0154 6885 ldd r22,Y+8
304 0156 82E0 ldi r24,lo8(2)
305 0158 0E94 0000 call WriteData
306 .LM66:
307 015c 1F5F subi r17,lo8(-(1))
308 015e 2196 adiw r28,1
309 0160 1031 cpi r17,lo8(16)
310 0162 01F4 brne .L34
311 .LM67:
312 0164 69EB ldi r22,lo8(-71)
313 0166 82E0 ldi r24,lo8(2)
314 0168 0E94 0000 call WriteCommand
315 .LM68:
316 016c 6091 0000 lds r22,Add1
317 0170 82E0 ldi r24,lo8(2)
318 0172 0E94 0000 call WriteCommand
319 0176 E701 movw r28,r14
320 0178 8701 movw r16,r14
321 017a 085F subi r16,lo8(-(8))
322 017c 1F4F sbci r17,hi8(-(8))
323 .L36:
324 .LM69:
325 017e 6991 ld r22,Y+
326 0180 82E0 ldi r24,lo8(2)
327 0182 0E94 0000 call WriteData
328 .LM70:
329 0186 C017 cp r28,r16
330 0188 D107 cpc r29,r17
331 018a 01F4 brne .L36
332 .LVL12:
333 .L33:
334 .LM71:
335 018c 2091 0000 lds r18,Add1
336 0190 822F mov r24,r18
337 0192 9927 clr r25
338 0194 C597 sbiw r24,53
339 0196 04F4 brge .L37
340 .LM72:
341 0198 285F subi r18,lo8(-(8))
342 019a 2093 0000 sts Add1,r18
343 019e 00C0 rjmp .L44
344 .L37:
345 .LM73:
346 01a0 1092 0000 sts Add1,__zero_reg__
347 .LM74:
348 01a4 68EB ldi r22,lo8(-72)
349 01a6 82E0 ldi r24,lo8(2)
350 01a8 0E94 0000 call WriteCommand
351 .LM75:
352 01ac 6091 0000 lds r22,Add1
353 01b0 82E0 ldi r24,lo8(2)
354 01b2 0E94 0000 call WriteCommand
355 01b6 E701 movw r28,r14
356 .LVL13:
357 01b8 1CE0 ldi r17,lo8(12)
358 .LVL14:
359 .L40:
360 .LM76:
361 01ba 6C85 ldd r22,Y+12
362 01bc 82E0 ldi r24,lo8(2)
363 01be 0E94 0000 call WriteData
364 .LM77:
365 01c2 1F5F subi r17,lo8(-(1))
366 01c4 2196 adiw r28,1
367 01c6 1031 cpi r17,lo8(16)
368 01c8 01F4 brne .L40
369 .LM78:
370 01ca 69EB ldi r22,lo8(-71)
371 01cc 82E0 ldi r24,lo8(2)
372 01ce 0E94 0000 call WriteCommand
373 .LM79:
374 01d2 6091 0000 lds r22,Add1
375 01d6 82E0 ldi r24,lo8(2)
376 01d8 0E94 0000 call WriteCommand
377 01dc E701 movw r28,r14
378 01de 14E0 ldi r17,lo8(4)
379 .LVL15:
380 .L42:
381 .LM80:
382 01e0 6C81 ldd r22,Y+4
383 01e2 82E0 ldi r24,lo8(2)
384 01e4 0E94 0000 call WriteData
385 .LM81:
386 01e8 1F5F subi r17,lo8(-(1))
387 01ea 2196 adiw r28,1
388 01ec 1830 cpi r17,lo8(8)
389 01ee 01F4 brne .L42
390 .LM82:
391 01f0 8091 0000 lds r24,Add1
392 01f4 8C5F subi r24,lo8(-(4))
393 01f6 8093 0000 sts Add1,r24
394 .LM83:
395 01fa 1092 0000 sts SEL_E1,__zero_reg__
396 .LVL16:
397 .L44:
398 /* epilogue: frame size=0 */
399 01fe DF91 pop r29
400 0200 CF91 pop r28
401 0202 1F91 pop r17
402 0204 0F91 pop r16
403 0206 FF90 pop r15
404 0208 EF90 pop r14
405 020a 0895 ret
406 /* epilogue end (size=7) */
407 /* function tex_Write size 155 (142) */
408 .LFE11:
410 .global WriteCharacter
412 WriteCharacter:
413 .LFB12:
414 .LM84:
415 /* prologue: frame size=0 */
416 020c EF92 push r14
417 020e FF92 push r15
418 0210 0F93 push r16
419 0212 1F93 push r17
420 0214 CF93 push r28
421 0216 DF93 push r29
422 /* prologue end (size=6) */
423 .LVL17:
424 0218 7C01 movw r14,r24
425 .LM85:
426 021a 8091 0000 lds r24,SEL_E2
427 .LVL18:
428 021e 8823 tst r24
429 0220 01F0 breq .L56
430 .LM86:
431 0222 6AEB ldi r22,lo8(-70)
432 0224 81E0 ldi r24,lo8(1)
433 0226 0E94 0000 call WriteCommand
434 .LM87:
435 022a 6091 0000 lds r22,Add2
436 022e 81E0 ldi r24,lo8(1)
437 0230 0E94 0000 call WriteCommand
438 0234 E701 movw r28,r14
439 0236 10E1 ldi r17,lo8(16)
440 .LVL19:
441 .L58:
442 .LM88:
443 0238 6889 ldd r22,Y+16
444 023a 81E0 ldi r24,lo8(1)
445 023c 0E94 0000 call WriteData
446 .LM89:
447 0240 1F5F subi r17,lo8(-(1))
448 0242 2196 adiw r28,1
449 0244 1032 cpi r17,lo8(32)
450 0246 01F4 brne .L58
451 .LM90:
452 0248 6BEB ldi r22,lo8(-69)
453 024a 81E0 ldi r24,lo8(1)
454 024c 0E94 0000 call WriteCommand
455 .LM91:
456 0250 6091 0000 lds r22,Add2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -