0,0 → 1,519 |
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/cc3mEyhY.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:20 .text:00000000 __vector_8 |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:503 .bss:00000004 TMR1OvF |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:48 .text:00000022 __vector_5 |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:523 .bss:0000000a pos_ICR.1752 |
.bss:00000008 ppm.1753 |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:491 .bss:00000000 ppm_signal |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:497 .bss:00000002 ppm_new |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:168 .text:00000100 StartIRModulation |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:194 .text:00000114 __vector_9 |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:509 .bss:00000005 IRstate |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:521 .bss:00000007 IRbit |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:515 .bss:00000006 IRdat |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:333 .text:000001f0 SendIRSignal |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:366 .text:00000210 StartPPM |
C:\DOKUME~1\Walter\LOKALE~1\Temp/cc3mEyhY.s:388 .text:0000021e main |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
StartUART |