Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 105 → Rev 106

/Transportables_Koptertool/lcd.lst
0,0 → 1,1805
1 .file "lcd.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 send_byte
20 send_byte:
21 .LFB8:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 C498 cbi 56-0x20,4
27 .LM3:
28 0002 8FB9 out 47-0x20,r24
29 .L2:
30 .LM4:
31 0004 779B sbis 46-0x20,7
32 0006 FECF rjmp .L2
33 .LM5:
34 0008 8EB1 in r24,46-0x20
35 000a 8EB9 out 46-0x20,r24
36 .LM6:
37 000c C49A sbi 56-0x20,4
38 /* epilogue: frame size=0 */
39 000e 0895 ret
40 /* epilogue end (size=1) */
41 /* function send_byte size 8 (7) */
42 .LFE8:
44 .global cls
46 cls:
47 .LFB9:
48 .LM7:
49 /* prologue: frame size=0 */
50 0010 0F93 push r16
51 0012 1F93 push r17
52 0014 CF93 push r28
53 0016 DF93 push r29
54 /* prologue end (size=4) */
55 0018 80E0 ldi r24,lo8(display_buffer)
56 001a 90E0 ldi r25,hi8(display_buffer)
57 001c FC01 movw r30,r24
58 .L9:
59 .LM8:
60 001e 1192 st Z+,__zero_reg__
61 0020 0196 adiw r24,1
62 .LM9:
63 0022 20E0 ldi r18,hi8(display_buffer+1023)
64 0024 8030 cpi r24,lo8(display_buffer+1023)
65 0026 9207 cpc r25,r18
66 0028 D1F3 breq .L9
67 002a C8F3 brlo .L9
68 .LM10:
69 002c 00E0 ldi r16,lo8(0)
70 002e 10E0 ldi r17,hi8(0)
71 .L17:
72 .LM11:
73 0030 C398 cbi 56-0x20,3
74 .LM12:
75 0032 802F mov r24,r16
76 0034 8055 subi r24,lo8(-(-80))
77 0036 0E94 0000 call send_byte
78 .LM13:
79 003a 80E1 ldi r24,lo8(16)
80 003c 0E94 0000 call send_byte
81 .LM14:
82 0040 84E0 ldi r24,lo8(4)
83 0042 0E94 0000 call send_byte
84 .LM15:
85 0046 C39A sbi 56-0x20,3
86 0048 CFE7 ldi r28,lo8(127)
87 004a D0E0 ldi r29,hi8(127)
88 .L16:
89 .LM16:
90 004c 80E0 ldi r24,lo8(0)
91 004e 0E94 0000 call send_byte
92 .LM17:
93 0052 2197 sbiw r28,1
94 0054 D7FF sbrs r29,7
95 0056 FACF rjmp .L16
96 .LM18:
97 0058 0F5F subi r16,lo8(-(1))
98 005a 1F4F sbci r17,hi8(-(1))
99 005c 0830 cpi r16,8
100 005e 1105 cpc r17,__zero_reg__
101 0060 38F3 brlo .L17
102 .LM19:
103 0062 1092 0000 sts lcd_xpos,__zero_reg__
104 .LM20:
105 0066 1092 0000 sts lcd_ypos,__zero_reg__
106 /* epilogue: frame size=0 */
107 006a DF91 pop r29
108 006c CF91 pop r28
109 006e 1F91 pop r17
110 0070 0F91 pop r16
111 0072 0895 ret
112 /* epilogue end (size=5) */
113 /* function cls size 50 (41) */
114 .LFE9:
116 .global lcd_cls
118 lcd_cls:
119 .LFB10:
120 .LM21:
121 /* prologue: frame size=0 */
122 /* prologue end (size=0) */
123 .LM22:
124 0074 0E94 0000 call cls
125 /* epilogue: frame size=0 */
126 0078 0895 ret
127 /* epilogue end (size=1) */
128 /* function lcd_cls size 3 (2) */
129 .LFE10:
131 .global wait_1ms
133 wait_1ms:
134 .LFB11:
135 .LM23:
136 /* prologue: frame size=0 */
137 /* prologue end (size=0) */
138 .LBB2:
139 .LBB3:
140 .LM24:
141 007a 83E3 ldi r24,lo8(1843)
142 007c 97E0 ldi r25,hi8(1843)
143 .LBB4:
144 .LBB5:
145 .LM25:
146 /* #APP */
147 007e 0197 1: sbiw r24,1
148 0080 F1F7 brne 1b
149 /* #NOAPP */
150 .LBE5:
151 .LBE4:
152 .LBE3:
153 .LBE2:
154 /* epilogue: frame size=0 */
155 0082 0895 ret
156 /* epilogue end (size=1) */
157 /* function wait_1ms size 7 (6) */
158 .LFE11:
160 .global wait_ms
162 wait_ms:
163 .LFB12:
164 .LM26:
165 /* prologue: frame size=0 */
166 0084 0F93 push r16
167 0086 1F93 push r17
168 0088 CF93 push r28
169 008a DF93 push r29
170 /* prologue end (size=4) */
171 008c 8C01 movw r16,r24
172 .LM27:
173 008e C0E0 ldi r28,lo8(0)
174 0090 D0E0 ldi r29,hi8(0)
175 0092 C817 cp r28,r24
176 0094 D907 cpc r29,r25
177 0096 30F4 brsh .L40
178 .L38:
179 .LM28:
180 0098 0E94 0000 call wait_1ms
181 .LM29:
182 009c 2196 adiw r28,1
183 009e C017 cp r28,r16
184 00a0 D107 cpc r29,r17
185 00a2 D0F3 brlo .L38
186 .L40:
187 /* epilogue: frame size=0 */
188 00a4 DF91 pop r29
189 00a6 CF91 pop r28
190 00a8 1F91 pop r17
191 00aa 0F91 pop r16
192 00ac 0895 ret
193 /* epilogue end (size=5) */
194 /* function wait_ms size 21 (12) */
195 .LFE12:
197 .global lcd_init
199 lcd_init:
200 .LFB13:
201 .LM30:
202 /* prologue: frame size=0 */
203 /* prologue end (size=0) */
204 .LM31:
205 00ae 1092 0000 sts lcd_xpos,__zero_reg__
206 .LM32:
207 00b2 1092 0000 sts lcd_ypos,__zero_reg__
208 .LM33:
209 00b6 8FEF ldi r24,lo8(-1)
210 00b8 87BB out 55-0x20,r24
211 .LM34:
212 00ba 8EE5 ldi r24,lo8(94)
213 00bc 8DB9 out 45-0x20,r24
214 .LM35:
215 00be C49A sbi 56-0x20,4
216 .LM36:
217 00c0 C298 cbi 56-0x20,2
218 .LM37:
219 00c2 8AE0 ldi r24,lo8(10)
220 00c4 90E0 ldi r25,hi8(10)
221 00c6 0E94 0000 call wait_ms
222 .LM38:
223 00ca C29A sbi 56-0x20,2
224 .LM39:
225 00cc C498 cbi 56-0x20,4
226 .LM40:
227 00ce C398 cbi 56-0x20,3
228 .LM41:
229 00d0 80E4 ldi r24,lo8(64)
230 00d2 0E94 0000 call send_byte
231 .LM42:
232 00d6 80EA ldi r24,lo8(-96)
233 00d8 0E94 0000 call send_byte
234 .LM43:
235 00dc 88EC ldi r24,lo8(-56)
236 00de 0E94 0000 call send_byte
237 .LM44:
238 00e2 86EA ldi r24,lo8(-90)
239 00e4 0E94 0000 call send_byte
240 .LM45:
241 00e8 82EA ldi r24,lo8(-94)
242 00ea 0E94 0000 call send_byte
243 .LM46:
244 00ee 8FE2 ldi r24,lo8(47)
245 00f0 0E94 0000 call send_byte
246 .LM47:
247 00f4 88EF ldi r24,lo8(-8)
248 00f6 0E94 0000 call send_byte
249 .LM48:
250 00fa 80E0 ldi r24,lo8(0)
251 00fc 0E94 0000 call send_byte
252 .LM49:
253 0100 87E2 ldi r24,lo8(39)
254 0102 0E94 0000 call send_byte
255 .LM50:
256 0106 81E8 ldi r24,lo8(-127)
257 0108 0E94 0000 call send_byte
258 .LM51:
259 010c 86E1 ldi r24,lo8(22)
260 010e 0E94 0000 call send_byte
261 .LM52:
262 0112 8CEA ldi r24,lo8(-84)
263 0114 0E94 0000 call send_byte
264 .LM53:
265 0118 80E0 ldi r24,lo8(0)
266 011a 0E94 0000 call send_byte
267 .LM54:
268 011e 8FEA ldi r24,lo8(-81)
269 0120 0E94 0000 call send_byte
270 .LM55:
271 0124 0E94 0000 call cls
272 /* epilogue: frame size=0 */
273 0128 0895 ret
274 /* epilogue end (size=1) */
275 /* function lcd_init size 62 (61) */
276 .LFE13:
278 .global set_adress
280 set_adress:
281 .LFB14:
282 .LM56:
283 /* prologue: frame size=0 */
284 012a FF92 push r15
285 012c 0F93 push r16
286 012e 1F93 push r17
287 /* prologue end (size=3) */
288 0130 8C01 movw r16,r24
289 0132 F62E mov r15,r22
290 .LM57:
291 0134 880F lsl r24
292 0136 892F mov r24,r25
293 0138 881F rol r24
294 013a 990B sbc r25,r25
295 013c 9195 neg r25
296 .LM58:
297 013e C398 cbi 56-0x20,3
298 .LM59:
299 0140 8055 subi r24,lo8(-(-80))
300 0142 0E94 0000 call send_byte
301 .LM60:
302 0146 102F mov r17,r16
303 0148 1F77 andi r17,lo8(127)
304 014a 1C5F subi r17,lo8(-(4))
305 .LM61:
306 014c 812F mov r24,r17
307 014e 8295 swap r24
308 0150 8F70 andi r24,0x0f
309 0152 805F subi r24,lo8(-(16))
310 0154 0E94 0000 call send_byte
311 .LM62:
312 0158 812F mov r24,r17
313 015a 8F70 andi r24,lo8(15)
314 015c 0E94 0000 call send_byte
315 .LM63:
316 0160 C39A sbi 56-0x20,3
317 .LM64:
318 0162 8F2D mov r24,r15
319 0164 0E94 0000 call send_byte
320 /* epilogue: frame size=0 */
321 0168 1F91 pop r17
322 016a 0F91 pop r16
323 016c FF90 pop r15
324 016e 0895 ret
325 /* epilogue end (size=4) */
326 /* function set_adress size 35 (28) */
327 .LFE14:
329 .global scroll
331 scroll:
332 .LFB15:
333 .LM65:
334 /* prologue: frame size=0 */
335 0170 EF92 push r14
336 0172 FF92 push r15
337 0174 0F93 push r16
338 0176 1F93 push r17
339 0178 CF93 push r28
340 017a DF93 push r29
341 /* prologue end (size=6) */
342 .LM66:
343 017c C0E0 ldi r28,lo8(0)
344 017e D0E0 ldi r29,hi8(0)
345 0180 30E0 ldi r19,lo8(display_buffer+128)
346 0182 E32E mov r14,r19
347 0184 30E0 ldi r19,hi8(display_buffer+128)
348 0186 F32E mov r15,r19
349 0188 8701 movw r16,r14
350 018a 0058 subi r16,lo8(-(-128))
351 018c 1040 sbci r17,hi8(-(-128))
352 .L47:
353 .LM67:
354 018e F701 movw r30,r14
355 0190 8191 ld r24,Z+
356 0192 7F01 movw r14,r30
357 0194 F801 movw r30,r16
358 0196 8083 st Z,r24
359 .LM68:
360 0198 6191 ld r22,Z+
361 019a 8F01 movw r16,r30
362 019c CE01 movw r24,r28
363 019e 0E94 0000 call set_adress
364 .LM69:
365 01a2 2196 adiw r28,1
366 01a4 F3E0 ldi r31,hi8(896)
367 01a6 C038 cpi r28,lo8(896)
368 01a8 DF07 cpc r29,r31
369 01aa 88F3 brlo .L47
370 01ac C0E8 ldi r28,lo8(896)
371 01ae D3E0 ldi r29,hi8(896)
372 01b0 00E0 ldi r16,lo8(display_buffer+896)
373 01b2 10E0 ldi r17,hi8(display_buffer+896)
374 .L51:
375 .LM70:
376 01b4 F801 movw r30,r16
377 01b6 1192 st Z+,__zero_reg__
378 01b8 8F01 movw r16,r30
379 .LM71:
380 01ba 60E0 ldi r22,lo8(0)
381 01bc CE01 movw r24,r28
382 01be 0E94 0000 call set_adress
383 .LM72:
384 01c2 2196 adiw r28,1
385 01c4 F4E0 ldi r31,hi8(1024)
386 01c6 C030 cpi r28,lo8(1024)
387 01c8 DF07 cpc r29,r31
388 01ca A0F3 brlo .L51
389 /* epilogue: frame size=0 */
390 01cc DF91 pop r29
391 01ce CF91 pop r28
392 01d0 1F91 pop r17
393 01d2 0F91 pop r16
394 01d4 FF90 pop r15
395 01d6 EF90 pop r14
396 01d8 0895 ret
397 /* epilogue end (size=7) */
398 /* function scroll size 53 (40) */
399 .LFE15:
401 .global put_char
403 put_char:
404 .LFB16:
405 .LM73:
406 /* prologue: frame size=0 */
407 01da BF92 push r11
408 01dc CF92 push r12
409 01de DF92 push r13
410 01e0 EF92 push r14
411 01e2 FF92 push r15
412 01e4 0F93 push r16
413 01e6 1F93 push r17
414 01e8 CF93 push r28
415 01ea DF93 push r29
416 /* prologue end (size=9) */
417 01ec 382F mov r19,r24
418 01ee F42E mov r15,r20
419 01f0 B22E mov r11,r18
420 .LM74:
421 01f2 842F mov r24,r20
422 01f4 9927 clr r25
423 01f6 8F3D cpi r24,223
424 01f8 9105 cpc r25,__zero_reg__
425 01fa 89F1 breq .L64
426 .LM75:
427 01fc 803E cpi r24,224
428 01fe 9105 cpc r25,__zero_reg__
429 0200 74F4 brge .L65
430 0202 863D cpi r24,214
431 0204 9105 cpc r25,__zero_reg__
432 0206 29F1 breq .L62
433 0208 873D cpi r24,215
434 020a 9105 cpc r25,__zero_reg__
435 020c 24F4 brge .L66
436 020e 843C cpi r24,196
437 0210 9105 cpc r25,__zero_reg__
438 0212 E1F0 breq .L61
439 0214 26C0 rjmp .L57
440 .L66:
441 0216 8C3D cpi r24,220
442 0218 9105 cpc r25,__zero_reg__
443 021a F1F0 breq .L63
444 021c 22C0 rjmp .L57
445 .L65:
446 021e 863F cpi r24,246
447 0220 9105 cpc r25,__zero_reg__
448 0222 71F0 breq .L59
449 0224 873F cpi r24,247
450 0226 9105 cpc r25,__zero_reg__
451 0228 24F4 brge .L67
452 022a 843E cpi r24,228
453 022c 9105 cpc r25,__zero_reg__
454 022e 29F0 breq .L58
455 0230 18C0 rjmp .L57
456 .L67:
457 0232 8C3F cpi r24,252
458 0234 9105 cpc r25,__zero_reg__
459 0236 39F0 breq .L60
460 0238 14C0 rjmp .L57
461 .L58:
462 .LM76:
463 023a 14E8 ldi r17,lo8(-124)
464 023c F12E mov r15,r17
465 .LM77:
466 023e 11C0 rjmp .L57
467 .L59:
468 .LM78:
469 0240 C4E9 ldi r28,lo8(-108)
470 0242 FC2E mov r15,r28
471 .LM79:
472 0244 0EC0 rjmp .L57
473 .L60:
474 .LM80:
475 0246 B1E8 ldi r27,lo8(-127)
476 0248 FB2E mov r15,r27
477 .LM81:
478 024a 0BC0 rjmp .L57
479 .L61:
480 .LM82:
481 024c AEE8 ldi r26,lo8(-114)
482 024e FA2E mov r15,r26
483 .LM83:
484 0250 08C0 rjmp .L57
485 .L62:
486 .LM84:
487 0252 F9E9 ldi r31,lo8(-103)
488 0254 FF2E mov r15,r31
489 .LM85:
490 0256 05C0 rjmp .L57
491 .L63:
492 .LM86:
493 0258 EAE9 ldi r30,lo8(-102)
494 025a FE2E mov r15,r30
495 .LM87:
496 025c 02C0 rjmp .L57
497 .L64:
498 .LM88:
499 025e 71EE ldi r23,lo8(-31)
500 0260 F72E mov r15,r23
501 .L57:
502 .LM89:
503 0262 C62F mov r28,r22
504 0264 DD27 clr r29
505 0266 D695 lsr r29
506 0268 DC2F mov r29,r28
507 026a CC27 clr r28
508 026c D795 ror r29
509 026e C795 ror r28
510 0270 86E0 ldi r24,lo8(6)
511 0272 389F mul r19,r24
512 0274 C001 movw r24,r0
513 0276 1124 clr r1
514 0278 C80F add r28,r24
515 027a D91F adc r29,r25
516 .LM90:
517 027c D370 andi r29,hi8(1023)
518 027e 6E01 movw r12,r28
519 0280 00E0 ldi r16,lo8(0)
520 0282 10E0 ldi r17,hi8(0)
521 0284 45E0 ldi r20,lo8(5)
522 0286 E42E mov r14,r20
523 .L78:
524 .LBB6:
525 .LM91:
526 0288 86E0 ldi r24,lo8(6)
527 028a F89E mul r15,r24
528 028c F001 movw r30,r0
529 028e 1124 clr r1
530 0290 E00F add r30,r16
531 0292 F11F adc r31,r17
532 0294 E050 subi r30,lo8(-(f8x6))
533 0296 F040 sbci r31,hi8(-(f8x6))
534 /* #APP */
535 0298 2491 lpm r18, Z
536
537 /* #NOAPP */
538 .LBE6:
539 .LM92:
540 029a 8B2D mov r24,r11
541 029c 9927 clr r25
542 029e 8230 cpi r24,2
543 02a0 9105 cpc r25,__zero_reg__
544 02a2 E9F0 breq .L74
545 02a4 8330 cpi r24,3
546 02a6 9105 cpc r25,__zero_reg__
547 02a8 2CF4 brge .L77
548 02aa 0097 sbiw r24,0
549 02ac 49F0 breq .L72
550 02ae 0197 sbiw r24,1
551 02b0 71F0 breq .L73
552 02b2 2CC0 rjmp .L71
553 .L77:
554 02b4 8330 cpi r24,3
555 02b6 9105 cpc r25,__zero_reg__
556 02b8 D1F0 breq .L75
557 02ba 0497 sbiw r24,4
558 02bc F1F0 breq .L76
559 02be 26C0 rjmp .L71
560 .L72:
561 .LM93:
562 02c0 FE01 movw r30,r28
563 02c2 E050 subi r30,lo8(-(display_buffer))
564 02c4 F040 sbci r31,hi8(-(display_buffer))
565 02c6 E00F add r30,r16
566 02c8 F11F adc r31,r17
567 02ca 2083 st Z,r18
568 .LM94:
569 02cc 1FC0 rjmp .L71
570 .L73:
571 .LM95:
572 02ce FE01 movw r30,r28
573 02d0 E050 subi r30,lo8(-(display_buffer))
574 02d2 F040 sbci r31,hi8(-(display_buffer))
575 02d4 E00F add r30,r16
576 02d6 F11F adc r31,r17
577 02d8 8081 ld r24,Z
578 02da 822B or r24,r18
579 02dc 16C0 rjmp .L82
580 .L74:
581 .LM96:
582 02de FE01 movw r30,r28
583 02e0 E050 subi r30,lo8(-(display_buffer))
584 02e2 F040 sbci r31,hi8(-(display_buffer))
585 02e4 E00F add r30,r16
586 02e6 F11F adc r31,r17
587 02e8 8081 ld r24,Z
588 02ea 8227 eor r24,r18
589 02ec 0EC0 rjmp .L82
590 .L75:
591 .LM97:
592 02ee FE01 movw r30,r28
593 02f0 E050 subi r30,lo8(-(display_buffer))
594 02f2 F040 sbci r31,hi8(-(display_buffer))
595 02f4 E00F add r30,r16
596 02f6 F11F adc r31,r17
597 02f8 06C0 rjmp .L81
598 .L76:
599 .LM98:
600 02fa FE01 movw r30,r28
601 02fc E050 subi r30,lo8(-(display_buffer))
602 02fe F040 sbci r31,hi8(-(display_buffer))
603 0300 E00F add r30,r16
604 0302 F11F adc r31,r17
605 0304 2095 com r18
606 .L81:
607 0306 8081 ld r24,Z
608 0308 8223 and r24,r18
609 .L82:
610 030a 8083 st Z,r24
611 .L71:
612 .LM99:
613 030c FE01 movw r30,r28
614 030e E050 subi r30,lo8(-(display_buffer))
615 0310 F040 sbci r31,hi8(-(display_buffer))
616 0312 E00F add r30,r16
617 0314 F11F adc r31,r17
618 0316 6081 ld r22,Z
619 0318 C601 movw r24,r12
620 031a 0E94 0000 call set_adress
621 .LM100:
622 031e EA94 dec r14
623 0320 0F5F subi r16,lo8(-(1))
624 0322 1F4F sbci r17,hi8(-(1))
625 0324 0894 sec
626 0326 C11C adc r12,__zero_reg__
627 0328 D11C adc r13,__zero_reg__
628 032a E7FE sbrs r14,7
629 032c ADCF rjmp .L78
630 /* epilogue: frame size=0 */
631 032e DF91 pop r29
632 0330 CF91 pop r28
633 0332 1F91 pop r17
634 0334 0F91 pop r16
635 0336 FF90 pop r15
636 0338 EF90 pop r14
637 033a DF90 pop r13
638 033c CF90 pop r12
639 033e BF90 pop r11
640 0340 0895 ret
641 /* epilogue end (size=10) */
642 /* function put_char size 186 (167) */
643 .LFE16:
645 .global new_line
647 new_line:
648 .LFB17:
649 .LM101:
650 /* prologue: frame size=0 */
651 /* prologue end (size=0) */
652 .LM102:
653 0342 8091 0000 lds r24,lcd_ypos
654 0346 8F5F subi r24,lo8(-(1))
655 0348 8093 0000 sts lcd_ypos,r24
656 .LM103:
657 034c 8830 cpi r24,lo8(8)
658 034e 28F0 brlo .L83
659 .LM104:
660 0350 0E94 0000 call scroll
661 .LM105:
662 0354 87E0 ldi r24,lo8(7)
663 0356 8093 0000 sts lcd_ypos,r24
664 .L83:
665 035a 0895 ret
666 /* epilogue: frame size=0 */
667 /* epilogue: noreturn */
668 /* epilogue end (size=0) */
669 /* function new_line size 13 (13) */
670 .LFE17:
672 .global lcd_printp
674 lcd_printp:
675 .LFB18:
676 .LM106:
677 /* prologue: frame size=0 */
678 035c 1F93 push r17
679 035e CF93 push r28
680 0360 DF93 push r29
681 /* prologue end (size=3) */
682 0362 EC01 movw r28,r24
683 0364 162F mov r17,r22
684 .LBB7:
685 .LM107:
686 0366 FC01 movw r30,r24
687 /* #APP */
688 0368 8491 lpm r24, Z
689
690 /* #NOAPP */
691 .LBE7:
692 036a 8823 tst r24
693 036c 51F1 breq .L96
694 .L94:
695 .LBB8:
696 .LM108:
697 036e FE01 movw r30,r28
698 /* #APP */
699 0370 8491 lpm r24, Z
700
701 /* #NOAPP */
702 .LBE8:
703 0372 8032 cpi r24,lo8(32)
704 0374 B0F0 brlo .L88
705 .LBB9:
706 .LM109:
707 0376 2196 adiw r28,1
708 /* #APP */
709 0378 8491 lpm r24, Z
710
711 /* #NOAPP */
712 .LBE9:
713 037a 212F mov r18,r17
714 037c 482F mov r20,r24
715 037e 6091 0000 lds r22,lcd_ypos
716 0382 8091 0000 lds r24,lcd_xpos
717 0386 0E94 0000 call put_char
718 .LM110:
719 038a 8091 0000 lds r24,lcd_xpos
720 038e 8F5F subi r24,lo8(-(1))
721 0390 8093 0000 sts lcd_xpos,r24
722 .LM111:
723 0394 8531 cpi r24,lo8(21)
724 0396 88F0 brlo .L86
725 .LM112:
726 0398 1092 0000 sts lcd_xpos,__zero_reg__
727 .LM113:
728 039c 0E94 0000 call new_line
729 03a0 0CC0 rjmp .L86
730 .L88:
731 .LM114:
732 03a2 9927 clr r25
733 03a4 8A30 cpi r24,10
734 03a6 9105 cpc r25,__zero_reg__
735 03a8 29F0 breq .L93
736 03aa 0D97 sbiw r24,13
737 03ac 29F4 brne .L91
738 .LM115:
739 03ae 1092 0000 sts lcd_xpos,__zero_reg__
740 .LM116:
741 03b2 02C0 rjmp .L91
742 .L93:
743 .LM117:
744 03b4 0E94 0000 call new_line
745 .L91:
746 .LM118:
747 03b8 2196 adiw r28,1
748 .L86:
749 .LBB10:
750 03ba FE01 movw r30,r28
751 /* #APP */
752 03bc 8491 lpm r24, Z
753
754 /* #NOAPP */
755 .LBE10:
756 03be 8823 tst r24
757 03c0 B1F6 brne .L94
758 .L96:
759 /* epilogue: frame size=0 */
760 03c2 DF91 pop r29
761 03c4 CF91 pop r28
762 03c6 1F91 pop r17
763 03c8 0895 ret
764 /* epilogue end (size=4) */
765 /* function lcd_printp size 68 (61) */
766 .LFE18:
768 .global lcd_print_atp
770 lcd_print_atp:
771 .LFB19:
772 .LM119:
773 /* prologue: frame size=0 */
774 /* prologue end (size=0) */
775 .LM120:
776 03ca 8093 0000 sts lcd_xpos,r24
777 .LM121:
778 03ce 6093 0000 sts lcd_ypos,r22
779 .LM122:
780 03d2 622F mov r22,r18
781 03d4 CA01 movw r24,r20
782 03d6 0E94 0000 call lcd_printp
783 /* epilogue: frame size=0 */
784 03da 0895 ret
785 /* epilogue end (size=1) */
786 /* function lcd_print_atp size 9 (8) */
787 .LFE19:
789 .global lcd_print
791 lcd_print:
792 .LFB20:
793 .LM123:
794 /* prologue: frame size=0 */
795 03dc 1F93 push r17
796 03de CF93 push r28
797 03e0 DF93 push r29
798 /* prologue end (size=3) */
799 03e2 EC01 movw r28,r24
800 03e4 162F mov r17,r22
801 .LM124:
802 03e6 8881 ld r24,Y
803 03e8 8823 tst r24
804 03ea 39F1 breq .L109
805 .L107:
806 .LM125:
807 03ec 4881 ld r20,Y
808 03ee 4032 cpi r20,lo8(32)
809 03f0 A0F0 brlo .L101
810 .LM126:
811 03f2 2196 adiw r28,1
812 03f4 212F mov r18,r17
813 03f6 6091 0000 lds r22,lcd_ypos
814 03fa 8091 0000 lds r24,lcd_xpos
815 03fe 0E94 0000 call put_char
816 .LM127:
817 0402 8091 0000 lds r24,lcd_xpos
818 0406 8F5F subi r24,lo8(-(1))
819 0408 8093 0000 sts lcd_xpos,r24
820 .LM128:
821 040c 8531 cpi r24,lo8(21)
822 040e 90F0 brlo .L99
823 .LM129:
824 0410 1092 0000 sts lcd_xpos,__zero_reg__
825 .LM130:
826 0414 0E94 0000 call new_line
827 0418 0DC0 rjmp .L99
828 .L101:
829 .LM131:
830 041a 5527 clr r21
831 041c 4A30 cpi r20,10
832 041e 5105 cpc r21,__zero_reg__
833 0420 31F0 breq .L106
834 0422 4D30 cpi r20,13
835 0424 5105 cpc r21,__zero_reg__
836 0426 29F4 brne .L104
837 .LM132:
838 0428 1092 0000 sts lcd_xpos,__zero_reg__
839 .LM133:
840 042c 02C0 rjmp .L104
841 .L106:
842 .LM134:
843 042e 0E94 0000 call new_line
844 .L104:
845 .LM135:
846 0432 2196 adiw r28,1
847 .L99:
848 0434 8881 ld r24,Y
849 0436 8823 tst r24
850 0438 C9F6 brne .L107
851 .L109:
852 /* epilogue: frame size=0 */
853 043a DF91 pop r29
854 043c CF91 pop r28
855 043e 1F91 pop r17
856 0440 0895 ret
857 /* epilogue end (size=4) */
858 /* function lcd_print size 51 (44) */
859 .LFE20:
861 .global lcd_print_at
863 lcd_print_at:
864 .LFB21:
865 .LM136:
866 /* prologue: frame size=0 */
867 /* prologue end (size=0) */
868 .LM137:
869 0442 8093 0000 sts lcd_xpos,r24
870 .LM138:
871 0446 6093 0000 sts lcd_ypos,r22
872 .LM139:
873 044a 622F mov r22,r18
874 044c CA01 movw r24,r20
875 044e 0E94 0000 call lcd_print
876 /* epilogue: frame size=0 */
877 0452 0895 ret
878 /* epilogue end (size=1) */
879 /* function lcd_print_at size 9 (8) */
880 .LFE21:
882 .global lcd_plot
884 lcd_plot:
885 .LFB22:
886 .LM140:
887 /* prologue: frame size=0 */
888 /* prologue end (size=0) */
889 0454 982F mov r25,r24
890 .LM141:
891 0456 87FD sbrc r24,7
892 0458 45C0 rjmp .L111
893 .LM142:
894 045a 6034 cpi r22,lo8(64)
895 045c 08F0 brlo .+2
896 045e 42C0 rjmp .L111
897 .LM143:
898 0460 862F mov r24,r22
899 0462 8695 lsr r24
900 0464 8695 lsr r24
901 0466 8695 lsr r24
902 0468 A82F mov r26,r24
903 046a BB27 clr r27
904 046c B695 lsr r27
905 046e BA2F mov r27,r26
906 0470 AA27 clr r26
907 0472 B795 ror r27
908 0474 A795 ror r26
909 0476 A90F add r26,r25
910 0478 B11D adc r27,__zero_reg__
911 .LM144:
912 047a 262F mov r18,r22
913 047c 3327 clr r19
914 047e 2770 andi r18,lo8(7)
915 0480 3070 andi r19,hi8(7)
916 0482 81E0 ldi r24,lo8(1)
917 0484 90E0 ldi r25,hi8(1)
918 0486 02C0 rjmp 2f
919 0488 880F 1: lsl r24
920 048a 991F rol r25
921 048c 2A95 2: dec r18
922 048e E2F7 brpl 1b
923 0490 982F mov r25,r24
924 .LM145:
925 0492 B370 andi r27,hi8(1023)
926 .LM146:
927 0494 5527 clr r21
928 0496 4130 cpi r20,1
929 0498 5105 cpc r21,__zero_reg__
930 049a 89F0 breq .L115
931 049c 4230 cpi r20,2
932 049e 5105 cpc r21,__zero_reg__
933 04a0 1CF4 brge .L117
934 04a2 452B or r20,r21
935 04a4 29F0 breq .L114
936 04a6 17C0 rjmp .L113
937 .L117:
938 04a8 4230 cpi r20,2
939 04aa 5105 cpc r21,__zero_reg__
940 04ac 71F0 breq .L116
941 04ae 13C0 rjmp .L113
942 .L114:
943 .LM147:
944 04b0 FD01 movw r30,r26
945 04b2 E050 subi r30,lo8(-(display_buffer))
946 04b4 F040 sbci r31,hi8(-(display_buffer))
947 04b6 9095 com r25
948 04b8 8081 ld r24,Z
949 04ba 8923 and r24,r25
950 04bc 0BC0 rjmp .L118
951 .L115:
952 .LM148:
953 04be FD01 movw r30,r26
954 04c0 E050 subi r30,lo8(-(display_buffer))
955 04c2 F040 sbci r31,hi8(-(display_buffer))
956 04c4 8081 ld r24,Z
957 04c6 892B or r24,r25
958 04c8 05C0 rjmp .L118
959 .L116:
960 .LM149:
961 04ca FD01 movw r30,r26
962 04cc E050 subi r30,lo8(-(display_buffer))
963 04ce F040 sbci r31,hi8(-(display_buffer))
964 04d0 8081 ld r24,Z
965 04d2 8927 eor r24,r25
966 .L118:
967 04d4 8083 st Z,r24
968 .L113:
969 .LM150:
970 04d6 FD01 movw r30,r26
971 04d8 E050 subi r30,lo8(-(display_buffer))
972 04da F040 sbci r31,hi8(-(display_buffer))
973 04dc 6081 ld r22,Z
974 04de CD01 movw r24,r26
975 04e0 0E94 0000 call set_adress
976 .L111:
977 04e4 0895 ret
978 /* epilogue: frame size=0 */
979 /* epilogue: noreturn */
980 /* epilogue end (size=0) */
981 /* function lcd_plot size 75 (75) */
982 .LFE22:
984 .global lcd_line
986 lcd_line:
987 .LFB23:
988 .LM151:
989 /* prologue: frame size=3 */
990 04e6 2F92 push r2
991 04e8 3F92 push r3
992 04ea 4F92 push r4
993 04ec 5F92 push r5
994 04ee 6F92 push r6
995 04f0 7F92 push r7
996 04f2 8F92 push r8
997 04f4 9F92 push r9
998 04f6 AF92 push r10
999 04f8 BF92 push r11
1000 04fa CF92 push r12
1001 04fc DF92 push r13
1002 04fe EF92 push r14
1003 0500 FF92 push r15
1004 0502 0F93 push r16
1005 0504 1F93 push r17
1006 0506 CF93 push r28
1007 0508 DF93 push r29
1008 050a CDB7 in r28,__SP_L__
1009 050c DEB7 in r29,__SP_H__
1010 050e 2397 sbiw r28,3
1011 0510 0FB6 in __tmp_reg__,__SREG__
1012 0512 F894 cli
1013 0514 DEBF out __SP_H__,r29
1014 0516 0FBE out __SREG__,__tmp_reg__
1015 0518 CDBF out __SP_L__,r28
1016 /* prologue end (size=26) */
1017 051a 0983 std Y+1,r16
1018 .LM152:
1019 051c A82E mov r10,r24
1020 051e BB24 clr r11
1021 .LM153:
1022 0520 C62E mov r12,r22
1023 0522 DD24 clr r13
1024 .LM154:
1025 0524 642E mov r6,r20
1026 0526 7724 clr r7
1027 0528 7301 movw r14,r6
1028 052a EA18 sub r14,r10
1029 052c FB08 sbc r15,r11
1030 .LM155:
1031 052e 822E mov r8,r18
1032 0530 9924 clr r9
1033 0532 8401 movw r16,r8
1034 0534 0C19 sub r16,r12
1035 0536 1D09 sbc r17,r13
1036 .LM156:
1037 0538 F7FE sbrs r15,7
1038 053a 04C0 rjmp .L120
1039 .LM157:
1040 053c 7FEF ldi r23,lo8(-1)
1041 053e 272E mov r2,r23
1042 0540 372E mov r3,r23
1043 0542 09C0 rjmp .L121
1044 .L120:
1045 .LM158:
1046 0544 1E14 cp __zero_reg__,r14
1047 0546 1F04 cpc __zero_reg__,r15
1048 0548 24F4 brge .L122
1049 .LM159:
1050 054a 61E0 ldi r22,lo8(1)
1051 054c 262E mov r2,r22
1052 054e 312C mov r3,__zero_reg__
1053 0550 02C0 rjmp .L121
1054 .L122:
1055 .LM160:
1056 0552 2224 clr r2
1057 0554 3324 clr r3
1058 .L121:
1059 .LM161:
1060 0556 17FF sbrs r17,7
1061 0558 04C0 rjmp .L124
1062 .LM162:
1063 055a 5FEF ldi r21,lo8(-1)
1064 055c 452E mov r4,r21
1065 055e 552E mov r5,r21
1066 0560 09C0 rjmp .L125
1067 .L124:
1068 .LM163:
1069 0562 1016 cp __zero_reg__,r16
1070 0564 1106 cpc __zero_reg__,r17
1071 0566 24F4 brge .L126
1072 .LM164:
1073 0568 41E0 ldi r20,lo8(1)
1074 056a 442E mov r4,r20
1075 056c 512C mov r5,__zero_reg__
1076 056e 02C0 rjmp .L125
1077 .L126:
1078 .LM165:
1079 0570 4424 clr r4
1080 0572 5524 clr r5
1081 .L125:
1082 .LM166:
1083 0574 F7FE sbrs r15,7
1084 0576 04C0 rjmp .L128
1085 .LM167:
1086 0578 F094 com r15
1087 057a E194 neg r14
1088 057c F108 sbc r15,__zero_reg__
1089 057e F394 inc r15
1090 .L128:
1091 .LM168:
1092 0580 17FF sbrs r17,7
1093 0582 03C0 rjmp .L129
1094 .LM169:
1095 0584 1095 com r17
1096 0586 0195 neg r16
1097 0588 1F4F sbci r17,lo8(-1)
1098 .L129:
1099 .LM170:
1100 058a 4981 ldd r20,Y+1
1101 058c 6C2D mov r22,r12
1102 058e 8A2D mov r24,r10
1103 0590 0E94 0000 call lcd_plot
1104 .LM171:
1105 0594 0E15 cp r16,r14
1106 0596 1F05 cpc r17,r15
1107 0598 4CF5 brge .L130
1108 .LM172:
1109 059a C701 movw r24,r14
1110 059c F7FC sbrc r15,7
1111 059e 0196 adiw r24,1
1112 .L131:
1113 05a0 9595 asr r25
1114 05a2 8795 ror r24
1115 05a4 2227 clr r18
1116 05a6 3327 clr r19
1117 05a8 281B sub r18,r24
1118 05aa 390B sbc r19,r25
1119 05ac 3B83 std Y+3,r19
1120 05ae 2A83 std Y+2,r18
1121 .LM173:
1122 05b0 A614 cp r10,r6
1123 05b2 B704 cpc r11,r7
1124 05b4 09F4 brne .+2
1125 05b6 41C0 rjmp .L119
1126 .L135:
1127 .LM174:
1128 05b8 8A81 ldd r24,Y+2
1129 05ba 9B81 ldd r25,Y+3
1130 05bc 800F add r24,r16
1131 05be 911F adc r25,r17
1132 05c0 9B83 std Y+3,r25
1133 05c2 8A83 std Y+2,r24
1134 .LM175:
1135 05c4 A20C add r10,r2
1136 05c6 B31C adc r11,r3
1137 .LM176:
1138 05c8 1816 cp __zero_reg__,r24
1139 05ca 1906 cpc __zero_reg__,r25
1140 05cc 34F4 brge .L134
1141 .LM177:
1142 05ce C40C add r12,r4
1143 05d0 D51C adc r13,r5
1144 .LM178:
1145 05d2 8E19 sub r24,r14
1146 05d4 9F09 sbc r25,r15
1147 05d6 9B83 std Y+3,r25
1148 05d8 8A83 std Y+2,r24
1149 .L134:
1150 .LM179:
1151 05da 4981 ldd r20,Y+1
1152 05dc 6C2D mov r22,r12
1153 05de 8A2D mov r24,r10
1154 05e0 0E94 0000 call lcd_plot
1155 05e4 A614 cp r10,r6
1156 05e6 B704 cpc r11,r7
1157 05e8 39F7 brne .L135
1158 05ea 27C0 rjmp .L119
1159 .L130:
1160 .LM180:
1161 05ec C801 movw r24,r16
1162 05ee 17FD sbrc r17,7
1163 05f0 0196 adiw r24,1
1164 .L137:
1165 05f2 9595 asr r25
1166 05f4 8795 ror r24
1167 05f6 EE27 clr r30
1168 05f8 FF27 clr r31
1169 05fa E81B sub r30,r24
1170 05fc F90B sbc r31,r25
1171 05fe FB83 std Y+3,r31
1172 0600 EA83 std Y+2,r30
1173 .LM181:
1174 0602 C814 cp r12,r8
1175 0604 D904 cpc r13,r9
1176 0606 C9F0 breq .L119
1177 .L141:
1178 .LM182:
1179 0608 2A81 ldd r18,Y+2
1180 060a 3B81 ldd r19,Y+3
1181 060c 2E0D add r18,r14
1182 060e 3F1D adc r19,r15
1183 0610 3B83 std Y+3,r19
1184 0612 2A83 std Y+2,r18
1185 .LM183:
1186 0614 C40C add r12,r4
1187 0616 D51C adc r13,r5
1188 .LM184:
1189 0618 1216 cp __zero_reg__,r18
1190 061a 1306 cpc __zero_reg__,r19
1191 061c 34F4 brge .L140
1192 .LM185:
1193 061e A20C add r10,r2
1194 0620 B31C adc r11,r3
1195 .LM186:
1196 0622 201B sub r18,r16
1197 0624 310B sbc r19,r17
1198 0626 3B83 std Y+3,r19
1199 0628 2A83 std Y+2,r18
1200 .L140:
1201 .LM187:
1202 062a 4981 ldd r20,Y+1
1203 062c 6C2D mov r22,r12
1204 062e 8A2D mov r24,r10
1205 0630 0E94 0000 call lcd_plot
1206 0634 C814 cp r12,r8
1207 0636 D904 cpc r13,r9
1208 0638 39F7 brne .L141
1209 .L119:
1210 /* epilogue: frame size=3 */
1211 063a 2396 adiw r28,3
1212 063c 0FB6 in __tmp_reg__,__SREG__
1213 063e F894 cli
1214 0640 DEBF out __SP_H__,r29
1215 0642 0FBE out __SREG__,__tmp_reg__
1216 0644 CDBF out __SP_L__,r28
1217 0646 DF91 pop r29
1218 0648 CF91 pop r28
1219 064a 1F91 pop r17
1220 064c 0F91 pop r16
1221 064e FF90 pop r15
1222 0650 EF90 pop r14
1223 0652 DF90 pop r13
1224 0654 CF90 pop r12
1225 0656 BF90 pop r11
1226 0658 AF90 pop r10
1227 065a 9F90 pop r9
1228 065c 8F90 pop r8
1229 065e 7F90 pop r7
1230 0660 6F90 pop r6
1231 0662 5F90 pop r5
1232 0664 4F90 pop r4
1233 0666 3F90 pop r3
1234 0668 2F90 pop r2
1235 066a 0895 ret
1236 /* epilogue end (size=25) */
1237 /* function lcd_line size 197 (146) */
1238 .LFE23:
1240 .global lcd_frect
1242 lcd_frect:
1243 .LFB24:
1244 .LM188:
1245 /* prologue: frame size=0 */
1246 066c BF92 push r11
1247 066e CF92 push r12
1248 0670 DF92 push r13
1249 0672 EF92 push r14
1250 0674 FF92 push r15
1251 0676 0F93 push r16
1252 0678 1F93 push r17
1253 067a CF93 push r28
1254 067c DF93 push r29
1255 /* prologue end (size=9) */
1256 067e 182F mov r17,r24
1257 0680 822F mov r24,r18
1258 0682 B02E mov r11,r16
1259 .LM189:
1260 0684 17FD sbrc r17,7
1261 .LM190:
1262 0686 1FE7 ldi r17,lo8(127)
1263 .L146:
1264 .LM191:
1265 0688 6034 cpi r22,lo8(64)
1266 068a 08F0 brlo .L147
1267 .LM192:
1268 068c 6FE3 ldi r22,lo8(63)
1269 .L147:
1270 .LM193:
1271 068e 212F mov r18,r17
1272 0690 240F add r18,r20
1273 0692 312D mov r19,__zero_reg__
1274 0694 311D adc r19,__zero_reg__
1275 0696 6901 movw r12,r18
1276 .LM194:
1277 0698 262F mov r18,r22
1278 069a 3327 clr r19
1279 069c 7901 movw r14,r18
1280 069e E80E add r14,r24
1281 06a0 F11C adc r15,__zero_reg__
1282 .LM195:
1283 06a2 81E8 ldi r24,lo8(129)
1284 06a4 C816 cp r12,r24
1285 06a6 D104 cpc r13,__zero_reg__
1286 06a8 18F0 brlo .L148
1287 .LM196:
1288 06aa F0E8 ldi r31,lo8(128)
1289 06ac CF2E mov r12,r31
1290 06ae D12C mov r13,__zero_reg__
1291 .L148:
1292 .LM197:
1293 06b0 81E4 ldi r24,lo8(65)
1294 06b2 E816 cp r14,r24
1295 06b4 F104 cpc r15,__zero_reg__
1296 06b6 18F0 brlo .L149
1297 .LM198:
1298 06b8 E0E4 ldi r30,lo8(64)
1299 06ba EE2E mov r14,r30
1300 06bc F12C mov r15,__zero_reg__
1301 .L149:
1302 .LM199:
1303 06be E901 movw r28,r18
1304 06c0 E216 cp r14,r18
1305 06c2 F306 cpc r15,r19
1306 06c4 58F0 brlo .L155
1307 .L153:
1308 .LM200:
1309 06c6 0B2D mov r16,r11
1310 06c8 2C2F mov r18,r28
1311 06ca 4C2D mov r20,r12
1312 06cc 6C2F mov r22,r28
1313 06ce 812F mov r24,r17
1314 06d0 0E94 0000 call lcd_line
1315 .LM201:
1316 06d4 2196 adiw r28,1
1317 06d6 EC16 cp r14,r28
1318 06d8 FD06 cpc r15,r29
1319 06da A8F7 brsh .L153
1320 .L155:
1321 /* epilogue: frame size=0 */
1322 06dc DF91 pop r29
1323 06de CF91 pop r28
1324 06e0 1F91 pop r17
1325 06e2 0F91 pop r16
1326 06e4 FF90 pop r15
1327 06e6 EF90 pop r14
1328 06e8 DF90 pop r13
1329 06ea CF90 pop r12
1330 06ec BF90 pop r11
1331 06ee 0895 ret
1332 /* epilogue end (size=10) */
1333 /* function lcd_frect size 67 (48) */
1334 .LFE24:
1336 .global lcd_rect
1338 lcd_rect:
1339 .LFB25:
1340 .LM202:
1341 /* prologue: frame size=0 */
1342 06f0 CF92 push r12
1343 06f2 DF92 push r13
1344 06f4 EF92 push r14
1345 06f6 FF92 push r15
1346 06f8 0F93 push r16
1347 06fa 1F93 push r17
1348 06fc CF93 push r28
1349 06fe DF93 push r29
1350 /* prologue end (size=8) */
1351 0700 D82E mov r13,r24
1352 0702 162F mov r17,r22
1353 0704 C02E mov r12,r16
1354 .LM203:
1355 0706 87FF sbrs r24,7
1356 0708 02C0 rjmp .L157
1357 .LM204:
1358 070a BFE7 ldi r27,lo8(127)
1359 070c DB2E mov r13,r27
1360 .L157:
1361 .LM205:
1362 070e 1034 cpi r17,lo8(64)
1363 0710 08F0 brlo .L158
1364 .LM206:
1365 0712 1FE3 ldi r17,lo8(63)
1366 .L158:
1367 .LM207:
1368 0714 8D2D mov r24,r13
1369 0716 840F add r24,r20
1370 0718 912D mov r25,__zero_reg__
1371 071a 911D adc r25,__zero_reg__
1372 071c EC01 movw r28,r24
1373 .LM208:
1374 071e 812F mov r24,r17
1375 0720 820F add r24,r18
1376 0722 912D mov r25,__zero_reg__
1377 0724 911D adc r25,__zero_reg__
1378 0726 7C01 movw r14,r24
1379 .LM209:
1380 0728 C138 cpi r28,129
1381 072a D105 cpc r29,__zero_reg__
1382 072c 10F0 brlo .L159
1383 .LM210:
1384 072e C0E8 ldi r28,lo8(128)
1385 0730 D0E0 ldi r29,hi8(128)
1386 .L159:
1387 .LM211:
1388 0732 91E4 ldi r25,lo8(65)
1389 0734 E916 cp r14,r25
1390 0736 F104 cpc r15,__zero_reg__
1391 0738 18F0 brlo .L160
1392 .LM212:
1393 073a A0E4 ldi r26,lo8(64)
1394 073c EA2E mov r14,r26
1395 073e F12C mov r15,__zero_reg__
1396 .L160:
1397 .LM213:
1398 0740 0C2D mov r16,r12
1399 0742 212F mov r18,r17
1400 0744 4C2F mov r20,r28
1401 0746 612F mov r22,r17
1402 0748 8D2D mov r24,r13
1403 074a 0E94 0000 call lcd_line
1404 .LM214:
1405 074e 2E2D mov r18,r14
1406 0750 4C2F mov r20,r28
1407 0752 612F mov r22,r17
1408 0754 8C2F mov r24,r28
1409 0756 0E94 0000 call lcd_line
1410 .LM215:
1411 075a 2E2D mov r18,r14
1412 075c 4D2D mov r20,r13
1413 075e 6E2D mov r22,r14
1414 0760 8C2F mov r24,r28
1415 0762 0E94 0000 call lcd_line
1416 .LM216:
1417 0766 212F mov r18,r17
1418 0768 4D2D mov r20,r13
1419 076a 6E2D mov r22,r14
1420 076c 8D2D mov r24,r13
1421 076e 0E94 0000 call lcd_line
1422 /* epilogue: frame size=0 */
1423 0772 DF91 pop r29
1424 0774 CF91 pop r28
1425 0776 1F91 pop r17
1426 0778 0F91 pop r16
1427 077a FF90 pop r15
1428 077c EF90 pop r14
1429 077e DF90 pop r13
1430 0780 CF90 pop r12
1431 0782 0895 ret
1432 /* epilogue end (size=9) */
1433 /* function lcd_rect size 74 (57) */
1434 .LFE25:
1436 .global draw_circle
1438 draw_circle:
1439 .LFB26:
1440 .LM217:
1441 /* prologue: frame size=0 */
1442 0784 2F92 push r2
1443 0786 3F92 push r3
1444 0788 4F92 push r4
1445 078a 5F92 push r5
1446 078c 6F92 push r6
1447 078e 7F92 push r7
1448 0790 8F92 push r8
1449 0792 9F92 push r9
1450 0794 AF92 push r10
1451 0796 BF92 push r11
1452 0798 CF92 push r12
1453 079a DF92 push r13
1454 079c EF92 push r14
1455 079e FF92 push r15
1456 07a0 0F93 push r16
1457 07a2 1F93 push r17
1458 07a4 CF93 push r28
1459 07a6 DF93 push r29
1460 /* prologue end (size=18) */
1461 07a8 5C01 movw r10,r24
1462 07aa 6B01 movw r12,r22
1463 07ac E22E mov r14,r18
1464 .LM218:
1465 07ae C1E0 ldi r28,lo8(1)
1466 07b0 8C2E mov r8,r28
1467 07b2 912C mov r9,__zero_reg__
1468 07b4 841A sub r8,r20
1469 07b6 950A sbc r9,r21
1470 .LM219:
1471 07b8 2224 clr r2
1472 07ba 3324 clr r3
1473 .LM220:
1474 07bc 8EEF ldi r24,lo8(-2)
1475 07be 9FEF ldi r25,hi8(-2)
1476 07c0 489F mul r20,r24
1477 07c2 2001 movw r4,r0
1478 07c4 499F mul r20,r25
1479 07c6 500C add r5,r0
1480 07c8 589F mul r21,r24
1481 07ca 500C add r5,r0
1482 07cc 1124 clr r1
1483 .LM221:
1484 07ce 3101 movw r6,r2
1485 .LM222:
1486 07d0 EA01 movw r28,r20
1487 .LM223:
1488 07d2 862F mov r24,r22
1489 07d4 840F add r24,r20
1490 07d6 422F mov r20,r18
1491 07d8 682F mov r22,r24
1492 07da 8A2D mov r24,r10
1493 07dc 0E94 0000 call lcd_plot
1494 .LM224:
1495 07e0 8C2D mov r24,r12
1496 07e2 8C1B sub r24,r28
1497 07e4 4E2D mov r20,r14
1498 07e6 682F mov r22,r24
1499 07e8 8A2D mov r24,r10
1500 07ea 0E94 0000 call lcd_plot
1501 .LM225:
1502 07ee 4E2D mov r20,r14
1503 07f0 6C2D mov r22,r12
1504 07f2 8A2D mov r24,r10
1505 07f4 8C0F add r24,r28
1506 07f6 0E94 0000 call lcd_plot
1507 .LM226:
1508 07fa 4E2D mov r20,r14
1509 07fc 6C2D mov r22,r12
1510 07fe 8A2D mov r24,r10
1511 0800 8C1B sub r24,r28
1512 0802 0E94 0000 call lcd_plot
1513 .LM227:
1514 0806 2C16 cp r2,r28
1515 0808 3D06 cpc r3,r29
1516 080a 0CF0 brlt .+2
1517 080c 51C0 rjmp .L167
1518 .L165:
1519 .LM228:
1520 080e 97FC sbrc r9,7
1521 0810 07C0 rjmp .L164
1522 .LM229:
1523 0812 2197 sbiw r28,1
1524 .LM230:
1525 0814 82E0 ldi r24,lo8(2)
1526 0816 90E0 ldi r25,hi8(2)
1527 0818 480E add r4,r24
1528 081a 591E adc r5,r25
1529 .LM231:
1530 081c 840C add r8,r4
1531 081e 951C adc r9,r5
1532 .L164:
1533 .LM232:
1534 0820 0894 sec
1535 0822 611C adc r6,__zero_reg__
1536 0824 711C adc r7,__zero_reg__
1537 .LM233:
1538 0826 82E0 ldi r24,lo8(2)
1539 0828 90E0 ldi r25,hi8(2)
1540 082a 280E add r2,r24
1541 082c 391E adc r3,r25
1542 .LM234:
1543 082e 820C add r8,r2
1544 0830 931C adc r9,r3
1545 0832 0894 sec
1546 0834 811C adc r8,__zero_reg__
1547 0836 911C adc r9,__zero_reg__
1548 .LM235:
1549 0838 1C2D mov r17,r12
1550 083a 1C0F add r17,r28
1551 083c FA2C mov r15,r10
1552 083e F60C add r15,r6
1553 0840 4E2D mov r20,r14
1554 0842 612F mov r22,r17
1555 0844 8F2D mov r24,r15
1556 0846 0E94 0000 call lcd_plot
1557 .LM236:
1558 084a 0A2D mov r16,r10
1559 084c 0619 sub r16,r6
1560 084e 4E2D mov r20,r14
1561 0850 612F mov r22,r17
1562 0852 802F mov r24,r16
1563 0854 0E94 0000 call lcd_plot
1564 .LM237:
1565 0858 1C2D mov r17,r12
1566 085a 1C1B sub r17,r28
1567 085c 4E2D mov r20,r14
1568 085e 612F mov r22,r17
1569 0860 8F2D mov r24,r15
1570 0862 0E94 0000 call lcd_plot
1571 .LM238:
1572 0866 4E2D mov r20,r14
1573 0868 612F mov r22,r17
1574 086a 802F mov r24,r16
1575 086c 0E94 0000 call lcd_plot
1576 .LM239:
1577 0870 1C2D mov r17,r12
1578 0872 160D add r17,r6
1579 0874 FA2C mov r15,r10
1580 0876 FC0E add r15,r28
1581 0878 4E2D mov r20,r14
1582 087a 612F mov r22,r17
1583 087c 8F2D mov r24,r15
1584 087e 0E94 0000 call lcd_plot
1585 .LM240:
1586 0882 0A2D mov r16,r10
1587 0884 0C1B sub r16,r28
1588 0886 4E2D mov r20,r14
1589 0888 612F mov r22,r17
1590 088a 802F mov r24,r16
1591 088c 0E94 0000 call lcd_plot
1592 .LM241:
1593 0890 1C2D mov r17,r12
1594 0892 1619 sub r17,r6
1595 0894 4E2D mov r20,r14
1596 0896 612F mov r22,r17
1597 0898 8F2D mov r24,r15
1598 089a 0E94 0000 call lcd_plot
1599 .LM242:
1600 089e 4E2D mov r20,r14
1601 08a0 612F mov r22,r17
1602 08a2 802F mov r24,r16
1603 08a4 0E94 0000 call lcd_plot
1604 08a8 6C16 cp r6,r28
1605 08aa 7D06 cpc r7,r29
1606 08ac 0CF4 brge .+2
1607 08ae AFCF rjmp .L165
1608 .L167:
1609 /* epilogue: frame size=0 */
1610 08b0 DF91 pop r29
1611 08b2 CF91 pop r28
1612 08b4 1F91 pop r17
1613 08b6 0F91 pop r16
1614 08b8 FF90 pop r15
1615 08ba EF90 pop r14
1616 08bc DF90 pop r13
1617 08be CF90 pop r12
1618 08c0 BF90 pop r11
1619 08c2 AF90 pop r10
1620 08c4 9F90 pop r9
1621 08c6 8F90 pop r8
1622 08c8 7F90 pop r7
1623 08ca 6F90 pop r6
1624 08cc 5F90 pop r5
1625 08ce 4F90 pop r4
1626 08d0 3F90 pop r3
1627 08d2 2F90 pop r2
1628 08d4 0895 ret
1629 /* epilogue end (size=19) */
1630 /* function draw_circle size 169 (132) */
1631 .LFE26:
1633 .global draw_fcircle
1635 draw_fcircle:
1636 .LFB27:
1637 .LM243:
1638 /* prologue: frame size=0 */
1639 08d6 2F92 push r2
1640 08d8 3F92 push r3
1641 08da 4F92 push r4
1642 08dc 5F92 push r5
1643 08de 6F92 push r6
1644 08e0 7F92 push r7
1645 08e2 8F92 push r8
1646 08e4 9F92 push r9
1647 08e6 AF92 push r10
1648 08e8 BF92 push r11
1649 08ea CF92 push r12
1650 08ec DF92 push r13
1651 08ee FF92 push r15
1652 08f0 0F93 push r16
1653 08f2 1F93 push r17
1654 08f4 CF93 push r28
1655 08f6 DF93 push r29
1656 /* prologue end (size=17) */
1657 08f8 5C01 movw r10,r24
1658 08fa 6B01 movw r12,r22
1659 .LM244:
1660 08fc 11E0 ldi r17,lo8(1)
1661 08fe 612E mov r6,r17
1662 0900 712C mov r7,__zero_reg__
1663 0902 641A sub r6,r20
1664 0904 750A sbc r7,r21
1665 .LM245:
1666 0906 2224 clr r2
1667 0908 3324 clr r3
1668 .LM246:
1669 090a 8EEF ldi r24,lo8(-2)
1670 090c 9FEF ldi r25,hi8(-2)
1671 090e 489F mul r20,r24
1672 0910 2001 movw r4,r0
1673 0912 499F mul r20,r25
1674 0914 500C add r5,r0
1675 0916 589F mul r21,r24
1676 0918 500C add r5,r0
1677 091a 1124 clr r1
1678 .LM247:
1679 091c 4101 movw r8,r2
1680 .LM248:
1681 091e EA01 movw r28,r20
1682 .LM249:
1683 0920 862F mov r24,r22
1684 0922 841B sub r24,r20
1685 0924 962F mov r25,r22
1686 0926 940F add r25,r20
1687 0928 01E0 ldi r16,lo8(1)
1688 092a 282F mov r18,r24
1689 092c 4A2D mov r20,r10
1690 092e 692F mov r22,r25
1691 0930 8A2D mov r24,r10
1692 0932 0E94 0000 call lcd_line
1693 .LM250:
1694 0936 8A2D mov r24,r10
1695 0938 8C1B sub r24,r28
1696 093a 2C2D mov r18,r12
1697 093c 482F mov r20,r24
1698 093e 6C2D mov r22,r12
1699 0940 8A2D mov r24,r10
1700 0942 8C0F add r24,r28
1701 0944 0E94 0000 call lcd_line
1702 .LM251:
1703 0948 2C16 cp r2,r28
1704 094a 3D06 cpc r3,r29
1705 094c 0CF0 brlt .+2
1706 094e 42C0 rjmp .L174
1707 .L172:
1708 .LM252:
1709 0950 77FC sbrc r7,7
1710 0952 07C0 rjmp .L171
1711 .LM253:
1712 0954 2197 sbiw r28,1
1713 .LM254:
1714 0956 82E0 ldi r24,lo8(2)
1715 0958 90E0 ldi r25,hi8(2)
1716 095a 480E add r4,r24
1717 095c 591E adc r5,r25
1718 .LM255:
1719 095e 640C add r6,r4
1720 0960 751C adc r7,r5
1721 .L171:
1722 .LM256:
1723 0962 0894 sec
1724 0964 811C adc r8,__zero_reg__
1725 0966 911C adc r9,__zero_reg__
1726 .LM257:
1727 0968 82E0 ldi r24,lo8(2)
1728 096a 90E0 ldi r25,hi8(2)
1729 096c 280E add r2,r24
1730 096e 391E adc r3,r25
1731 .LM258:
1732 0970 620C add r6,r2
1733 0972 731C adc r7,r3
1734 0974 0894 sec
1735 0976 611C adc r6,__zero_reg__
1736 0978 711C adc r7,__zero_reg__
1737 .LM259:
1738 097a 8C2D mov r24,r12
1739 097c 8C0F add r24,r28
1740 097e 1A2D mov r17,r10
1741 0980 1819 sub r17,r8
1742 0982 FA2C mov r15,r10
1743 0984 F80C add r15,r8
1744 0986 01E0 ldi r16,lo8(1)
1745 0988 282F mov r18,r24
1746 098a 412F mov r20,r17
1747 098c 682F mov r22,r24
1748 098e 8F2D mov r24,r15
1749 0990 0E94 0000 call lcd_line
1750 .LM260:
1751 0994 8C2D mov r24,r12
1752 0996 8C1B sub r24,r28
1753 0998 282F mov r18,r24
1754 099a 412F mov r20,r17
1755 099c 682F mov r22,r24
1756 099e 8F2D mov r24,r15
1757 09a0 0E94 0000 call lcd_line
1758 .LM261:
1759 09a4 8C2D mov r24,r12
1760 09a6 880D add r24,r8
1761 09a8 1A2D mov r17,r10
1762 09aa 1C1B sub r17,r28
1763 09ac FA2C mov r15,r10
1764 09ae FC0E add r15,r28
1765 09b0 282F mov r18,r24
1766 09b2 412F mov r20,r17
1767 09b4 682F mov r22,r24
1768 09b6 8F2D mov r24,r15
1769 09b8 0E94 0000 call lcd_line
1770 .LM262:
1771 09bc 8C2D mov r24,r12
1772 09be 8819 sub r24,r8
1773 09c0 282F mov r18,r24
1774 09c2 412F mov r20,r17
1775 09c4 682F mov r22,r24
1776 09c6 8F2D mov r24,r15
1777 09c8 0E94 0000 call lcd_line
1778 09cc 8C16 cp r8,r28
1779 09ce 9D06 cpc r9,r29
1780 09d0 0CF4 brge .+2
1781 09d2 BECF rjmp .L172
1782 .L174:
1783 /* epilogue: frame size=0 */
1784 09d4 DF91 pop r29
1785 09d6 CF91 pop r28
1786 09d8 1F91 pop r17
1787 09da 0F91 pop r16
1788 09dc FF90 pop r15
1789 09de DF90 pop r13
1790 09e0 CF90 pop r12
1791 09e2 BF90 pop r11
1792 09e4 AF90 pop r10
1793 09e6 9F90 pop r9
1794 09e8 8F90 pop r8
1795 09ea 7F90 pop r7
1796 09ec 6F90 pop r6
1797 09ee 5F90 pop r5
1798 09f0 4F90 pop r4
1799 09f2 3F90 pop r3
1800 09f4 2F90 pop r2
1801 09f6 0895 ret
1802 /* epilogue end (size=18) */
1803 /* function draw_fcircle size 145 (110) */
1804 .LFE27:
1806 .comm display_buffer,1024,1
1807 .comm display_buffer_pointer,2,1
1808 .comm display_buffer_counter,1,1
1809 .comm display_page_counter,1,1
1810 .comm display_mode,1,1
1811 .comm lcd_xpos,1,1
1812 .comm lcd_ypos,1,1
1813 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 lcd.c
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:20 .text:00000000 send_byte
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:46 .text:00000010 cls
*COM*:00000400 display_buffer
*COM*:00000001 lcd_xpos
*COM*:00000001 lcd_ypos
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:118 .text:00000074 lcd_cls
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:133 .text:0000007a wait_1ms
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:162 .text:00000084 wait_ms
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:199 .text:000000ae lcd_init
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:280 .text:0000012a set_adress
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:331 .text:00000170 scroll
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:403 .text:000001da put_char
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:647 .text:00000342 new_line
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:674 .text:0000035c lcd_printp
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:770 .text:000003ca lcd_print_atp
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:791 .text:000003dc lcd_print
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:863 .text:00000442 lcd_print_at
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:884 .text:00000454 lcd_plot
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:986 .text:000004e6 lcd_line
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1242 .text:0000066c lcd_frect
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1338 .text:000006f0 lcd_rect
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1438 .text:00000784 draw_circle
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1635 .text:000008d6 draw_fcircle
*COM*:00000002 display_buffer_pointer
*COM*:00000001 display_buffer_counter
*COM*:00000001 display_page_counter
*COM*:00000001 display_mode
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
f8x6