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