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 8093 0000 sts ppm_new,r24 148 .L12: 149 /* epilogue: frame size=0 */ 150 00e6 9F91 pop r25 151 00e8 8F91 pop r24 152 00ea 4F91 pop r20 153 00ec 3F91 pop r19 154 00ee 2F91 pop r18 155 00f0 0F90 pop __tmp_reg__ 156 00f2 0FBE out __SREG__,__tmp_reg__ 157 00f4 0F90 pop __tmp_reg__ 158 00f6 1F90 pop __zero_reg__ 159 00f8 1895 reti 160 /* epilogue end (size=10) */ 161 /* function __vector_5 size 110 (90) */ 162 .LFE11: 164 .global StartIRModulation 166 StartIRModulation: 167 .LFB12: 168 .LM16: 169 /* prologue: frame size=0 */ 170 /* prologue end (size=0) */ 171 .LM17: 172 00fa 89E0 ldi r24,lo8(9) 173 00fc 85BD out 69-0x20,r24 174 .LM18: 175 00fe 8CE6 ldi r24,lo8(108) 176 0100 83BD out 67-0x20,r24 177 .LM19: 178 0102 85E0 ldi r24,lo8(5) 179 0104 83BF out 83-0x20,r24 180 .LM20: 181 0106 89B7 in r24,89-0x20 182 0108 8E7F andi r24,lo8(-2) 183 010a 89BF out 89-0x20,r24 184 /* epilogue: frame size=0 */ 185 010c 0895 ret 186 /* epilogue end (size=1) */ 187 /* function StartIRModulation size 10 (9) */ 188 .LFE12: 190 .global __vector_9 192 __vector_9: 193 .LFB13: 194 .LM21: 195 /* prologue: frame size=0 */ 196 010e 1F92 push __zero_reg__ 197 0110 0F92 push __tmp_reg__ 198 0112 0FB6 in __tmp_reg__,__SREG__ 199 0114 0F92 push __tmp_reg__ 200 0116 1124 clr __zero_reg__ 201 0118 8F93 push r24 202 011a 9F93 push r25 203 /* prologue end (size=7) */ 204 .LM22: 205 011c 9091 0000 lds r25,IRstate 206 0120 9230 cpi r25,lo8(2) 207 0122 01F0 breq .L19 208 .LM23: 209 0124 9330 cpi r25,lo8(3) 210 0126 00F4 brsh .L22 211 0128 9130 cpi r25,lo8(1) 212 012a 01F0 breq .+2 213 012c 00C0 rjmp .L17 214 012e 00C0 rjmp .L18 215 .L22: 216 0130 9330 cpi r25,lo8(3) 217 0132 01F0 breq .L20 218 0134 9430 cpi r25,lo8(4) 219 0136 01F0 breq .+2 220 0138 00C0 rjmp .L17 221 013a 00C0 rjmp .L21 222 .L18: 223 .LM24: 224 013c 85B5 in r24,69-0x20 225 013e 8061 ori r24,lo8(16) 226 0140 85BD out 69-0x20,r24 227 .LM25: 228 0142 82E0 ldi r24,lo8(2) 229 0144 8093 0000 sts IRstate,r24 230 .LM26: 231 0148 1092 0000 sts IRbit,__zero_reg__ 232 .LM27: 233 014c 8AE9 ldi r24,lo8(-102) 234 014e 00C0 rjmp .L32 235 .L19: 236 .LM28: 237 0150 85B5 in r24,69-0x20 238 0152 8F7E andi r24,lo8(-17) 239 0154 85BD out 69-0x20,r24 240 .LM29: 241 0156 83E0 ldi r24,lo8(3) 242 0158 8093 0000 sts IRstate,r24 243 .LM30: 244 015c 8091 0000 lds r24,IRdat 245 0160 86FD sbrc r24,6 246 0162 00C0 rjmp .L24 247 0164 88EF ldi r24,lo8(-8) 248 .L32: 249 0166 82BF out 82-0x20,r24 250 0168 00C0 rjmp .L31 251 .L24: 252 .LM31: 253 016a 88EE ldi r24,lo8(-24) 254 016c 00C0 rjmp .L32 255 .L20: 256 .LM32: 257 016e 85B5 in r24,69-0x20 258 0170 8061 ori r24,lo8(16) 259 0172 85BD out 69-0x20,r24 260 .LM33: 261 0174 88EF ldi r24,lo8(-8) 262 0176 82BF out 82-0x20,r24 263 .LM34: 264 0178 8091 0000 lds r24,IRdat 265 017c 880F lsl r24 266 017e 8093 0000 sts IRdat,r24 267 .LM35: 268 0182 8091 0000 lds r24,IRbit 269 0186 8F5F subi r24,lo8(-(1)) 270 0188 8093 0000 sts IRbit,r24 271 .LM36: 272 018c 8091 0000 lds r24,IRbit 273 0190 8730 cpi r24,lo8(7) 274 0192 00F4 brsh .L26 275 0194 82E0 ldi r24,lo8(2) 276 0196 8093 0000 sts IRstate,r24 277 019a 00C0 rjmp .L31 278 .L26: 279 .LM37: 280 019c 84E0 ldi r24,lo8(4) 281 019e 8093 0000 sts IRstate,r24 282 .LM38: 283 01a2 1092 0000 sts IRbit,__zero_reg__ 284 01a6 00C0 rjmp .L31 285 .L21: 286 .LM39: 287 01a8 85B5 in r24,69-0x20 288 01aa 8F7E andi r24,lo8(-17) 289 01ac 85BD out 69-0x20,r24 290 .LM40: 291 01ae 8CE3 ldi r24,lo8(60) 292 01b0 82BF out 82-0x20,r24 293 .LM41: 294 01b2 8091 0000 lds r24,IRbit 295 01b6 8431 cpi r24,lo8(20) 296 01b8 00F4 brsh .L28 297 01ba 9093 0000 sts IRstate,r25 298 01be 00C0 rjmp .L30 299 .L28: 300 .LM42: 301 01c0 85E0 ldi r24,lo8(5) 302 01c2 8093 0000 sts IRstate,r24 303 .L30: 304 .LM43: 305 01c6 8091 0000 lds r24,IRbit 306 01ca 8F5F subi r24,lo8(-(1)) 307 01cc 8093 0000 sts IRbit,r24 308 01d0 00C0 rjmp .L31 309 .L17: 310 .LM44: 311 01d2 89B7 in r24,89-0x20 312 01d4 8E7F andi r24,lo8(-2) 313 01d6 89BF out 89-0x20,r24 314 .LM45: 315 01d8 1092 0000 sts IRstate,__zero_reg__ 316 .L31: 317 /* epilogue: frame size=0 */ 318 01dc 9F91 pop r25 319 01de 8F91 pop r24 320 01e0 0F90 pop __tmp_reg__ 321 01e2 0FBE out __SREG__,__tmp_reg__ 322 01e4 0F90 pop __tmp_reg__ 323 01e6 1F90 pop __zero_reg__ 324 01e8 1895 reti 325 /* epilogue end (size=7) */ 326 /* function __vector_9 size 110 (96) */ 327 .LFE13: 329 .global SendIRSignal 331 SendIRSignal: 332 .LFB14: 333 .LM46: 334 /* prologue: frame size=0 */ 335 /* prologue end (size=0) */ 336 .LVL0: 337 01ea 982F mov r25,r24 338 .LVL1: 339 .L35: 340 .LM47: 341 01ec 8091 0000 lds r24,IRstate 342 01f0 8823 tst r24 343 01f2 01F4 brne .L35 344 .LM48: 345 01f4 81E0 ldi r24,lo8(1) 346 01f6 8093 0000 sts IRstate,r24 347 .LM49: 348 01fa 9093 0000 sts IRdat,r25 349 .LM50: 350 01fe 88B7 in r24,88-0x20 351 0200 18BE out 88-0x20,__zero_reg__ 352 .LM51: 353 0202 89B7 in r24,89-0x20 354 0204 8160 ori r24,lo8(1) 355 0206 89BF out 89-0x20,r24 356 /* epilogue: frame size=0 */ 357 0208 0895 ret 358 /* epilogue end (size=1) */ 359 /* function SendIRSignal size 16 (15) */ 360 .LFE14: 362 .global StartPPM 364 StartPPM: 365 .LFB15: 366 .LM52: 367 /* prologue: frame size=0 */ 368 /* prologue end (size=0) */ 369 .LM53: 370 020a 1FBC out 79-0x20,__zero_reg__ 371 .LM54: 372 020c 82EC ldi r24,lo8(-62) 373 020e 8EBD out 78-0x20,r24 374 .LM55: 375 0210 89B7 in r24,89-0x20 376 0212 8462 ori r24,lo8(36) 377 0214 89BF out 89-0x20,r24 378 /* epilogue: frame size=0 */ 379 0216 0895 ret 380 /* epilogue end (size=1) */ 381 /* function StartPPM size 7 (6) */ 382 .LFE15: 384 .global GetPPM 386 GetPPM: 387 .LFB16: 388 .LM56: 389 /* prologue: frame size=0 */ 390 /* prologue end (size=0) */ 391 .LM57: 392 0218 29B7 in r18,89-0x20 393 .LVL2: 394 .LM58: 395 021a 89B7 in r24,89-0x20 396 021c 8F7D andi r24,lo8(-33) 397 021e 89BF out 89-0x20,r24 398 .LM59: 399 0220 8091 0000 lds r24,ppm_signal 400 0224 9091 0000 lds r25,(ppm_signal)+1 401 .LVL3: 402 .LM60: 403 0228 29BF out 89-0x20,r18 404 .LVL4: 405 /* epilogue: frame size=0 */ 406 022a 0895 ret 407 /* epilogue end (size=1) */ 408 /* function GetPPM size 10 (9) */ 409 .LFE16: 411 .global main 413 main: 414 .LFB17: 415 .LM61: 416 /* prologue: frame size=0 */ 417 /* prologue end (size=0) */ 418 .LM62: 419 022c 88E0 ldi r24,lo8(8) 420 022e 84BB out 52-0x20,r24 421 .LM63: 422 0230 15BA out 53-0x20,__zero_reg__ 423 .LM64: 424 0232 80E8 ldi r24,lo8(-128) 425 0234 81BB out 49-0x20,r24 426 .LM65: 427 0236 12BA out 50-0x20,__zero_reg__ 428 .LM66: 429 0238 8EE0 ldi r24,lo8(14) 430 023a 87BB out 55-0x20,r24 431 .LM67: 432 023c 18BA out 56-0x20,__zero_reg__ 433 .LM68: 434 023e 00D0 rcall StartUART 435 .LBB12: 436 .LBB13: 437 .LM69: 438 0240 1FBC out 79-0x20,__zero_reg__ 439 .LM70: 440 0242 82EC ldi r24,lo8(-62) 441 0244 8EBD out 78-0x20,r24 442 .LM71: 443 0246 89B7 in r24,89-0x20 444 0248 8462 ori r24,lo8(36) 445 024a 89BF out 89-0x20,r24 446 .LBE13: 447 .LBE12: 448 .LM72: 449 024c 00D0 rcall StartIRModulation 450 .LM73: 451 /* #APP */ 452 024e 7894 sei 453 .LVL5: 454 /* #NOAPP */ 455 .L64: 456 .LM74: 457 0250 8091 0000 lds r24,ppm_new 458 0254 8130 cpi r24,lo8(1) 459 0256 01F4 brne .L64 460 .LM75: 461 0258 1092 0000 sts ppm_new,__zero_reg__ 462 .LBB14: 463 .LBB15: 464 .LM76: 465 025c 89B7 in r24,89-0x20 466 .LVL6: 467 .LM77: 468 025e 99B7 in r25,89-0x20 469 0260 9F7D andi r25,lo8(-33) 470 0262 99BF out 89-0x20,r25 471 .LM78: 472 0264 2091 0000 lds r18,ppm_signal 473 0268 3091 0000 lds r19,(ppm_signal)+1 474 .LVL7: 475 .LM79: 476 026c 89BF out 89-0x20,r24 477 .LBE15: 478 .LBE14: 479 .LM80: 480 026e 275D subi r18,lo8(1751) 481 0270 3640 sbci r19,hi8(1751) 482 .LVL8: 483 0272 04F0 brlt .L47 484 .LM81: 485 0274 81E4 ldi r24,lo8(65) 486 0276 00D0 rcall SendIRSignal 487 .LVL9: 488 .LM82: 489 0278 AB9A sbi 53-0x20,3 490 .L49: 491 .LBB16: 492 .LBB17: 493 .LM83: 494 027a 89B7 in r24,89-0x20 495 .LVL10: 496 .LM84: 497 027c 99B7 in r25,89-0x20 498 027e 9F7D andi r25,lo8(-33) 499 0280 99BF out 89-0x20,r25 500 .LM85: 501 0282 2091 0000 lds r18,ppm_signal 502 0286 3091 0000 lds r19,(ppm_signal)+1 503 .LVL11: 504 .LM86: 505 028a 89BF out 89-0x20,r24 506 .LBE17: 507 .LBE16: 508 .LM87: 509 028c 2357 subi r18,lo8(1651) 510 028e 3640 sbci r19,hi8(1651) 511 .LVL12: 512 0290 04F4 brge .L49 513 .LM88: 514 0292 AB98 cbi 53-0x20,3 515 .LVL13: 516 .L47: 517 .LBB18: 518 .LBB19: 519 .LM89: 520 0294 89B7 in r24,89-0x20 521 .LVL14: 522 .LM90: 523 0296 99B7 in r25,89-0x20 524 0298 9F7D andi r25,lo8(-33) 525 029a 99BF out 89-0x20,r25 526 .LM91: 527 029c 2091 0000 lds r18,ppm_signal 528 02a0 3091 0000 lds r19,(ppm_signal)+1 529 .LVL15: 530 .LM92: 531 02a4 89BF out 89-0x20,r24 532 .LBE19: 533 .LBE18: 534 .LM93: 535 02a6 225E subi r18,lo8(1250) 536 02a8 3440 sbci r19,hi8(1250) 537 .LVL16: 538 02aa 04F4 brge .L64 539 .LM94: 540 02ac 979A sbi 50-0x20,7 541 .LM95: 542 02ae 80E4 ldi r24,lo8(64) 543 02b0 00D0 rcall SendIRSignal 544 .LVL17: 545 .L52: 546 .LBB20: 547 .LBB21: 548 .LM96: 549 02b2 89B7 in r24,89-0x20 550 .LVL18: 551 .LM97: 552 02b4 99B7 in r25,89-0x20 553 02b6 9F7D andi r25,lo8(-33) 554 02b8 99BF out 89-0x20,r25 555 .LM98: 556 02ba 2091 0000 lds r18,ppm_signal 557 02be 3091 0000 lds r19,(ppm_signal)+1 558 .LVL19: 559 .LM99: 560 02c2 89BF out 89-0x20,r24 561 .LBE21: 562 .LBE20: 563 .LM100: 564 02c4 2654 subi r18,lo8(1350) 565 02c6 3540 sbci r19,hi8(1350) 566 .LVL20: 567 02c8 04F0 brlt .L52 568 .LM101: 569 02ca 9798 cbi 50-0x20,7 570 02cc 00C0 rjmp .L64 571 /* epilogue: frame size=0 */ 572 /* epilogue: noreturn */ 573 /* epilogue end (size=0) */ 574 /* function main size 86 (86) */ 575 .LFE17: 577 .global ppm_signal 578 .global ppm_signal 579 .section .bss 582 ppm_signal: 583 0000 0000 .skip 2,0 584 .global ppm_new 585 .global ppm_new 588 ppm_new: 589 0002 00 .skip 1,0 590 .global TMR1OvF 591 .global TMR1OvF 594 TMR1OvF: 595 0003 00 .skip 1,0 596 .global IRstate 597 .global IRstate 600 IRstate: 601 0004 00 .skip 1,0 602 .global IRdat 603 .global IRdat 606 IRdat: 607 0005 00 .skip 1,0 608 .global IRbit 609 .global IRbit 612 IRbit: 613 0006 00 .skip 1,0 614 .lcomm ppm.1753,2 615 .lcomm pos_ICR.1752,2 696 .Letext0: DEFINED SYMBOLS *ABS*:00000000 main.c C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:3 *ABS*:0000003f __SREG__ C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:4 *ABS*:0000003e __SP_H__ C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:5 *ABS*:0000003d __SP_L__ C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:6 *ABS*:00000000 __tmp_reg__ C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:7 *ABS*:00000001 __zero_reg__ C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:20 .text:00000000 __vector_8 C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:594 .bss:00000003 TMR1OvF C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:48 .text:00000022 __vector_5 C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:614 .bss:00000009 pos_ICR.1752 .bss:00000007 ppm.1753 C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:582 .bss:00000000 ppm_signal C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:588 .bss:00000002 ppm_new C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:166 .text:000000fa StartIRModulation C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:192 .text:0000010e __vector_9 C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:600 .bss:00000004 IRstate C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:612 .bss:00000006 IRbit C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:606 .bss:00000005 IRdat C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:331 .text:000001ea SendIRSignal C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:364 .text:0000020a StartPPM C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:386 .text:00000218 GetPPM C:\DOKUME~1\Walter\LOKALE~1\Temp/cccvgVQY.s:413 .text:0000022c main UNDEFINED SYMBOLS __do_copy_data __do_clear_bss StartUART