Blame | Last modification | View Log | RSS feed
1 .file "main.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 __vector_8
20 __vector_8:
21 .LFB10:
22 .LM1:
23 /* prologue: frame size=0 */
24 0000 1F92 push __zero_reg__
25 0002 0F92 push __tmp_reg__
26 0004 0FB6 in __tmp_reg__,__SREG__
27 0006 0F92 push __tmp_reg__
28 0008 1124 clr __zero_reg__
29 000a 8F93 push r24
30 /* prologue end (size=6) */
31 .LM2:
32 000c 8091 0000 lds r24,TMR1OvF
33 0010 8F5F subi r24,lo8(-(1))
34 0012 8093 0000 sts TMR1OvF,r24
35 /* epilogue: frame size=0 */
36 0016 8F91 pop r24
37 0018 0F90 pop __tmp_reg__
38 001a 0FBE out __SREG__,__tmp_reg__
39 001c 0F90 pop __tmp_reg__
40 001e 1F90 pop __zero_reg__
41 0020 1895 reti
42 /* epilogue end (size=6) */
43 /* function __vector_8 size 17 (5) */
44 .LFE10:
46 .global __vector_5
48 __vector_5:
49 .LFB11:
50 .LM3:
51 /* prologue: frame size=0 */
52 0022 1F92 push __zero_reg__
53 0024 0F92 push __tmp_reg__
54 0026 0FB6 in __tmp_reg__,__SREG__
55 0028 0F92 push __tmp_reg__
56 002a 1124 clr __zero_reg__
57 002c 2F93 push r18
58 002e 3F93 push r19
59 0030 4F93 push r20
60 0032 8F93 push r24
61 0034 9F93 push r25
62 /* prologue end (size=10) */
63 .LM4:
64 0036 0EB4 in __tmp_reg__,78-0x20
65 0038 06FE sbrs __tmp_reg__,6
66 003a 00C0 rjmp .L4
67 .LM5:
68 003c 8EB5 in r24,78-0x20
69 003e 8F7B andi r24,lo8(-65)
70 0040 8EBD out 78-0x20,r24
71 .LM6:
72 0042 1092 0000 sts TMR1OvF,__zero_reg__
73 .LM7:
74 0046 86B5 in r24,70-0x20
75 0048 97B5 in r25,(70)+1-0x20
76 004a 9093 0000 sts (pos_ICR.1752)+1,r25
77 004e 8093 0000 sts pos_ICR.1752,r24
78 0052 00C0 rjmp .L12
79 .L4:
80 .LM8:
81 0054 8EB5 in r24,78-0x20
82 0056 8064 ori r24,lo8(64)
83 0058 8EBD out 78-0x20,r24
84 .LM9:
85 005a 26B5 in r18,70-0x20
86 005c 37B5 in r19,(70)+1-0x20
87 005e 8091 0000 lds r24,TMR1OvF
88 0062 8091 0000 lds r24,pos_ICR.1752
89 0066 9091 0000 lds r25,(pos_ICR.1752)+1
90 006a 281B sub r18,r24
91 006c 390B sbc r19,r25
92 006e 3093 0000 sts (ppm.1753)+1,r19
93 0072 2093 0000 sts ppm.1753,r18
94 .LM10:
95 0076 C901 movw r24,r18
96 0078 8955 subi r24,lo8(-(-601))
97 007a 9240 sbci r25,hi8(-(-601))
98 007c 8750 subi r24,lo8(1799)
99 007e 9740 sbci r25,hi8(1799)
100 0080 00F4 brsh .L12
101 .LM11:
102 0082 88E0 ldi r24,hi8(2101)
103 0084 2533 cpi r18,lo8(2101)
104 0086 3807 cpc r19,r24
105 0088 00F0 brlo .L8
106 008a 84E3 ldi r24,lo8(2100)
107 008c 98E0 ldi r25,hi8(2100)
108 008e 00C0 rjmp .L13
109 .L8:
110 .LM12:
111 0090 2458 subi r18,lo8(900)
112 0092 3340 sbci r19,hi8(900)
113 0094 00F4 brsh .L10
114 0096 84E8 ldi r24,lo8(900)
115 0098 93E0 ldi r25,hi8(900)
116 .L13:
117 009a 9093 0000 sts (ppm.1753)+1,r25
118 009e 8093 0000 sts ppm.1753,r24
119 .L10:
120 .LM13:
121 00a2 2091 0000 lds r18,ppm_signal
122 00a6 3091 0000 lds r19,(ppm_signal)+1
123 00aa C901 movw r24,r18
124 00ac 43E0 ldi r20,3
125 00ae 880F 1: lsl r24
126 00b0 991F rol r25
127 00b2 4A95 dec r20
128 00b4 01F4 brne 1b
129 00b6 821B sub r24,r18
130 00b8 930B sbc r25,r19
131 00ba 2091 0000 lds r18,ppm.1753
132 00be 3091 0000 lds r19,(ppm.1753)+1
133 00c2 820F add r24,r18
134 00c4 931F adc r25,r19
135 00c6 23E0 ldi r18,3
136 00c8 9695 1: lsr r25
137 00ca 8795 ror r24
138 00cc 2A95 dec r18
139 00ce 01F4 brne 1b
140 00d0 9093 0000 sts (ppm.1753)+1,r25
141 00d4 8093 0000 sts ppm.1753,r24
142 .LM14:
143 00d8 9093 0000 sts (ppm_signal)+1,r25
144 00dc 8093 0000 sts ppm_signal,r24
145 .LM15:
146 00e0 81E0 ldi r24,lo8(1)
147 00e2 90E0 ldi r25,hi8(1)
148 00e4 9093 0000 sts (ppm_new)+1,r25
149 00e8 8093 0000 sts ppm_new,r24
150 .L12:
151 /* epilogue: frame size=0 */
152 00ec 9F91 pop r25
153 00ee 8F91 pop r24
154 00f0 4F91 pop r20
155 00f2 3F91 pop r19
156 00f4 2F91 pop r18
157 00f6 0F90 pop __tmp_reg__
158 00f8 0FBE out __SREG__,__tmp_reg__
159 00fa 0F90 pop __tmp_reg__
160 00fc 1F90 pop __zero_reg__
161 00fe 1895 reti
162 /* epilogue end (size=10) */
163 /* function __vector_5 size 113 (93) */
164 .LFE11:
166 .global StartIRModulation
168 StartIRModulation:
169 .LFB12:
170 .LM16:
171 /* prologue: frame size=0 */
172 /* prologue end (size=0) */
173 .LM17:
174 0100 89E0 ldi r24,lo8(9)
175 0102 85BD out 69-0x20,r24
176 .LM18:
177 0104 8CE6 ldi r24,lo8(108)
178 0106 83BD out 67-0x20,r24
179 .LM19:
180 0108 85E0 ldi r24,lo8(5)
181 010a 83BF out 83-0x20,r24
182 .LM20:
183 010c 89B7 in r24,89-0x20
184 010e 8E7F andi r24,lo8(-2)
185 0110 89BF out 89-0x20,r24
186 /* epilogue: frame size=0 */
187 0112 0895 ret
188 /* epilogue end (size=1) */
189 /* function StartIRModulation size 10 (9) */
190 .LFE12:
192 .global __vector_9
194 __vector_9:
195 .LFB13:
196 .LM21:
197 /* prologue: frame size=0 */
198 0114 1F92 push __zero_reg__
199 0116 0F92 push __tmp_reg__
200 0118 0FB6 in __tmp_reg__,__SREG__
201 011a 0F92 push __tmp_reg__
202 011c 1124 clr __zero_reg__
203 011e 8F93 push r24
204 0120 9F93 push r25
205 /* prologue end (size=7) */
206 .LM22:
207 0122 9091 0000 lds r25,IRstate
208 0126 9230 cpi r25,lo8(2)
209 0128 01F0 breq .L19
210 .LM23:
211 012a 9330 cpi r25,lo8(3)
212 012c 00F4 brsh .L22
213 012e 9130 cpi r25,lo8(1)
214 0130 01F0 breq .+2
215 0132 00C0 rjmp .L17
216 0134 00C0 rjmp .L18
217 .L22:
218 0136 9330 cpi r25,lo8(3)
219 0138 01F0 breq .L20
220 013a 9430 cpi r25,lo8(4)
221 013c 01F0 breq .+2
222 013e 00C0 rjmp .L17
223 0140 00C0 rjmp .L21
224 .L18:
225 .LM24:
226 0142 85B5 in r24,69-0x20
227 0144 8061 ori r24,lo8(16)
228 0146 85BD out 69-0x20,r24
229 .LM25:
230 0148 82E0 ldi r24,lo8(2)
231 014a 8093 0000 sts IRstate,r24
232 .LM26:
233 014e 1092 0000 sts IRbit,__zero_reg__
234 .LM27:
235 0152 8AE9 ldi r24,lo8(-102)
236 0154 00C0 rjmp .L32
237 .L19:
238 .LM28:
239 0156 85B5 in r24,69-0x20
240 0158 8F7E andi r24,lo8(-17)
241 015a 85BD out 69-0x20,r24
242 .LM29:
243 015c 83E0 ldi r24,lo8(3)
244 015e 8093 0000 sts IRstate,r24
245 .LM30:
246 0162 8091 0000 lds r24,IRdat
247 0166 86FD sbrc r24,6
248 0168 00C0 rjmp .L24
249 016a 88EF ldi r24,lo8(-8)
250 .L32:
251 016c 82BF out 82-0x20,r24
252 016e 00C0 rjmp .L31
253 .L24:
254 .LM31:
255 0170 88EE ldi r24,lo8(-24)
256 0172 00C0 rjmp .L32
257 .L20:
258 .LM32:
259 0174 85B5 in r24,69-0x20
260 0176 8061 ori r24,lo8(16)
261 0178 85BD out 69-0x20,r24
262 .LM33:
263 017a 88EF ldi r24,lo8(-8)
264 017c 82BF out 82-0x20,r24
265 .LM34:
266 017e 8091 0000 lds r24,IRdat
267 0182 880F lsl r24
268 0184 8093 0000 sts IRdat,r24
269 .LM35:
270 0188 8091 0000 lds r24,IRbit
271 018c 8F5F subi r24,lo8(-(1))
272 018e 8093 0000 sts IRbit,r24
273 .LM36:
274 0192 8091 0000 lds r24,IRbit
275 0196 8730 cpi r24,lo8(7)
276 0198 00F4 brsh .L26
277 019a 82E0 ldi r24,lo8(2)
278 019c 8093 0000 sts IRstate,r24
279 01a0 00C0 rjmp .L31
280 .L26:
281 .LM37:
282 01a2 84E0 ldi r24,lo8(4)
283 01a4 8093 0000 sts IRstate,r24
284 .LM38:
285 01a8 1092 0000 sts IRbit,__zero_reg__
286 01ac 00C0 rjmp .L31
287 .L21:
288 .LM39:
289 01ae 85B5 in r24,69-0x20
290 01b0 8F7E andi r24,lo8(-17)
291 01b2 85BD out 69-0x20,r24
292 .LM40:
293 01b4 8CE3 ldi r24,lo8(60)
294 01b6 82BF out 82-0x20,r24
295 .LM41:
296 01b8 8091 0000 lds r24,IRbit
297 01bc 8431 cpi r24,lo8(20)
298 01be 00F4 brsh .L28
299 01c0 9093 0000 sts IRstate,r25
300 01c4 00C0 rjmp .L30
301 .L28:
302 .LM42:
303 01c6 85E0 ldi r24,lo8(5)
304 01c8 8093 0000 sts IRstate,r24
305 .L30:
306 .LM43:
307 01cc 8091 0000 lds r24,IRbit
308 01d0 8F5F subi r24,lo8(-(1))
309 01d2 8093 0000 sts IRbit,r24
310 01d6 00C0 rjmp .L31
311 .L17:
312 .LM44:
313 01d8 89B7 in r24,89-0x20
314 01da 8E7F andi r24,lo8(-2)
315 01dc 89BF out 89-0x20,r24
316 .LM45:
317 01de 1092 0000 sts IRstate,__zero_reg__
318 .L31:
319 /* epilogue: frame size=0 */
320 01e2 9F91 pop r25
321 01e4 8F91 pop r24
322 01e6 0F90 pop __tmp_reg__
323 01e8 0FBE out __SREG__,__tmp_reg__
324 01ea 0F90 pop __tmp_reg__
325 01ec 1F90 pop __zero_reg__
326 01ee 1895 reti
327 /* epilogue end (size=7) */
328 /* function __vector_9 size 110 (96) */
329 .LFE13:
331 .global SendIRSignal
333 SendIRSignal:
334 .LFB14:
335 .LM46:
336 /* prologue: frame size=0 */
337 /* prologue end (size=0) */
338 .LVL0:
339 01f0 982F mov r25,r24
340 .LVL1:
341 .L35:
342 .LM47:
343 01f2 8091 0000 lds r24,IRstate
344 01f6 8823 tst r24
345 01f8 01F4 brne .L35
346 .LM48:
347 01fa 81E0 ldi r24,lo8(1)
348 01fc 8093 0000 sts IRstate,r24
349 .LM49:
350 0200 9093 0000 sts IRdat,r25
351 .LM50:
352 0204 88B7 in r24,88-0x20
353 0206 18BE out 88-0x20,__zero_reg__
354 .LM51:
355 0208 89B7 in r24,89-0x20
356 020a 8160 ori r24,lo8(1)
357 020c 89BF out 89-0x20,r24
358 /* epilogue: frame size=0 */
359 020e 0895 ret
360 /* epilogue end (size=1) */
361 /* function SendIRSignal size 16 (15) */
362 .LFE14:
364 .global StartPPM
366 StartPPM:
367 .LFB15:
368 .LM52:
369 /* prologue: frame size=0 */
370 /* prologue end (size=0) */
371 .LM53:
372 0210 1FBC out 79-0x20,__zero_reg__
373 .LM54:
374 0212 82EC ldi r24,lo8(-62)
375 0214 8EBD out 78-0x20,r24
376 .LM55:
377 0216 89B7 in r24,89-0x20
378 0218 8462 ori r24,lo8(36)
379 021a 89BF out 89-0x20,r24
380 /* epilogue: frame size=0 */
381 021c 0895 ret
382 /* epilogue end (size=1) */
383 /* function StartPPM size 7 (6) */
384 .LFE15:
386 .global main
388 main:
389 .LFB16:
390 .LM56:
391 /* prologue: frame size=0 */
392 /* prologue end (size=0) */
393 .LM57:
394 021e 88E0 ldi r24,lo8(8)
395 0220 84BB out 52-0x20,r24
396 .LM58:
397 0222 15BA out 53-0x20,__zero_reg__
398 .LM59:
399 0224 80E8 ldi r24,lo8(-128)
400 0226 81BB out 49-0x20,r24
401 .LM60:
402 0228 12BA out 50-0x20,__zero_reg__
403 .LM61:
404 022a 8EE0 ldi r24,lo8(14)
405 022c 87BB out 55-0x20,r24
406 .LM62:
407 022e 18BA out 56-0x20,__zero_reg__
408 .LM63:
409 0230 00D0 rcall StartUART
410 .LBB4:
411 .LBB5:
412 .LM64:
413 0232 1FBC out 79-0x20,__zero_reg__
414 .LM65:
415 0234 82EC ldi r24,lo8(-62)
416 0236 8EBD out 78-0x20,r24
417 .LM66:
418 0238 89B7 in r24,89-0x20
419 023a 8462 ori r24,lo8(36)
420 023c 89BF out 89-0x20,r24
421 .LBE5:
422 .LBE4:
423 .LM67:
424 023e 00D0 rcall StartIRModulation
425 .LM68:
426 /* #APP */
427 0240 7894 sei
428 /* #NOAPP */
429 .L62:
430 .LM69:
431 0242 8091 0000 lds r24,ppm_new
432 0246 9091 0000 lds r25,(ppm_new)+1
433 024a 0197 sbiw r24,1
434 024c 01F4 brne .L62
435 .LM70:
436 024e 1092 0000 sts (ppm_new)+1,__zero_reg__
437 0252 1092 0000 sts ppm_new,__zero_reg__
438 .LM71:
439 0256 8091 0000 lds r24,ppm_signal
440 025a 9091 0000 lds r25,(ppm_signal)+1
441 025e 875D subi r24,lo8(1751)
442 0260 9640 sbci r25,hi8(1751)
443 0262 00F0 brlo .L45
444 .LM72:
445 0264 81E4 ldi r24,lo8(65)
446 0266 00D0 rcall SendIRSignal
447 .LM73:
448 0268 AB9A sbi 53-0x20,3
449 .L47:
450 .LM74:
451 026a 8091 0000 lds r24,ppm_signal
452 026e 9091 0000 lds r25,(ppm_signal)+1
453 0272 8357 subi r24,lo8(1651)
454 0274 9640 sbci r25,hi8(1651)
455 0276 00F4 brsh .L47
456 .LM75:
457 0278 AB98 cbi 53-0x20,3
458 .L45:
459 .LM76:
460 027a 8091 0000 lds r24,ppm_signal
461 027e 9091 0000 lds r25,(ppm_signal)+1
462 0282 825E subi r24,lo8(1250)
463 0284 9440 sbci r25,hi8(1250)
464 0286 00F4 brsh .L62
465 .LM77:
466 0288 979A sbi 50-0x20,7
467 .LM78:
468 028a 80E4 ldi r24,lo8(64)
469 028c 00D0 rcall SendIRSignal
470 .L50:
471 .LM79:
472 028e 8091 0000 lds r24,ppm_signal
473 0292 9091 0000 lds r25,(ppm_signal)+1
474 0296 8654 subi r24,lo8(1350)
475 0298 9540 sbci r25,hi8(1350)
476 029a 00F0 brlo .L50
477 .LM80:
478 029c 9798 cbi 50-0x20,7
479 029e 00C0 rjmp .L62
480 /* epilogue: frame size=0 */
481 /* epilogue: noreturn */
482 /* epilogue end (size=0) */
483 /* function main size 71 (71) */
484 .LFE16:
486 .global ppm_signal
487 .global ppm_signal
488 .section .bss
491 ppm_signal:
492 0000 0000 .skip 2,0
493 .global ppm_new
494 .global ppm_new
497 ppm_new:
498 0002 0000 .skip 2,0
499 .global TMR1OvF
500 .global TMR1OvF
503 TMR1OvF:
504 0004 00 .skip 1,0
505 .global IRstate
506 .global IRstate
509 IRstate:
510 0005 00 .skip 1,0
511 .global IRdat
512 .global IRdat
515 IRdat:
516 0006 00 .skip 1,0
517 .global IRbit
518 .global IRbit
521 IRbit:
522 0007 00 .skip 1,0
523 .lcomm ppm.1753,2
524 .lcomm pos_ICR.1752,2
597 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:20 .text:00000000 __vector_8
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:503 .bss:00000004 TMR1OvF
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:48 .text:00000022 __vector_5
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:523 .bss:0000000a pos_ICR.1752
.bss:00000008 ppm.1753
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:491 .bss:00000000 ppm_signal
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:497 .bss:00000002 ppm_new
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:168 .text:00000100 StartIRModulation
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:194 .text:00000114 __vector_9
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:509 .bss:00000005 IRstate
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:521 .bss:00000007 IRbit
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:515 .bss:00000006 IRdat
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:333 .text:000001f0 SendIRSignal
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:366 .text:00000210 StartPPM
C:\DOKUME~1\Walter\LOKALE~1\Temp/cclgteKI.s:388 .text:0000021e main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
StartUART