1 .file "Spectrum.c" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __tmp_reg__ = 0 6 __zero_reg__ = 1 7 .global __do_copy_data 8 .global __do_clear_bss 9 .text 10 .global Uart1Init 12 Uart1Init: 13 /* prologue: frame size=0 */ 14 /* prologue end (size=0) */ 15 0000 8091 C900 lds r24,201 16 0004 8F77 andi r24,lo8(127) 17 0006 8093 C900 sts 201,r24 18 000a 8091 C900 lds r24,201 19 000e 8F7B andi r24,lo8(-65) 20 0010 8093 C900 sts 201,r24 21 0014 8091 C900 lds r24,201 22 0018 8F7D andi r24,lo8(-33) 23 001a 8093 C900 sts 201,r24 24 001e 5A9A sbi 43-0x20,2 25 0020 5298 cbi 42-0x20,2 26 0022 1092 CD00 sts 205,__zero_reg__ 27 0026 84E1 ldi r24,lo8(20) 28 0028 8093 CC00 sts 204,r24 29 002c 8091 C800 lds r24,200 30 0030 8260 ori r24,lo8(2) 31 0032 8093 C800 sts 200,r24 32 0036 80E1 ldi r24,lo8(16) 33 0038 8093 C900 sts 201,r24 34 003c 8091 CA00 lds r24,202 35 0040 8F77 andi r24,lo8(127) 36 0042 8093 CA00 sts 202,r24 37 0046 8091 CA00 lds r24,202 38 004a 8F7B andi r24,lo8(-65) 39 004c 8093 CA00 sts 202,r24 40 0050 8091 CA00 lds r24,202 41 0054 8F7D andi r24,lo8(-33) 42 0056 8093 CA00 sts 202,r24 43 005a 8091 CA00 lds r24,202 44 005e 8F7E andi r24,lo8(-17) 45 0060 8093 CA00 sts 202,r24 46 0064 8091 CA00 lds r24,202 47 0068 877F andi r24,lo8(-9) 48 006a 8093 CA00 sts 202,r24 49 006e 8091 C900 lds r24,201 50 0072 8B7F andi r24,lo8(-5) 51 0074 8093 C900 sts 201,r24 52 0078 8091 CA00 lds r24,202 53 007c 8460 ori r24,lo8(4) 54 007e 8093 CA00 sts 202,r24 55 0082 8091 CA00 lds r24,202 56 0086 8260 ori r24,lo8(2) 57 0088 8093 CA00 sts 202,r24 58 008c 8091 C800 lds r24,200 59 0090 87FF sbrs r24,7 60 0092 00C0 rjmp .L2 61 .L5: 62 0094 8091 CE00 lds r24,206 63 0098 8091 C800 lds r24,200 64 009c 87FD sbrc r24,7 65 009e 00C0 rjmp .L5 66 .L2: 67 00a0 8091 C900 lds r24,201 68 00a4 8068 ori r24,lo8(-128) 69 00a6 8093 C900 sts 201,r24 70 /* epilogue: frame size=0 */ 71 00aa 0895 ret 72 /* epilogue end (size=1) */ 73 /* function Uart1Init size 86 (85) */ 75 .global __vector_28 77 __vector_28: 78 /* prologue: frame size=0 */ 79 00ac 1F92 push __zero_reg__ 80 00ae 0F92 push __tmp_reg__ 81 00b0 0FB6 in __tmp_reg__,__SREG__ 82 00b2 0F92 push __tmp_reg__ 83 00b4 1124 clr __zero_reg__ 84 00b6 0F93 push r16 85 00b8 1F93 push r17 86 00ba 2F93 push r18 87 00bc 3F93 push r19 88 00be 4F93 push r20 89 00c0 5F93 push r21 90 00c2 6F93 push r22 91 00c4 7F93 push r23 92 00c6 8F93 push r24 93 00c8 9F93 push r25 94 00ca AF93 push r26 95 00cc BF93 push r27 96 00ce CF93 push r28 97 00d0 DF93 push r29 98 00d2 EF93 push r30 99 00d4 FF93 push r31 100 /* prologue end (size=21) */ 101 00d6 1091 CE00 lds r17,206 102 00da 8091 0000 lds r24,ReSync.2413 103 00de 9091 0000 lds r25,(ReSync.2413)+1 104 00e2 0197 sbiw r24,1 105 00e4 01F4 brne .+2 106 00e6 00C0 rjmp .L48 107 00e8 8091 0000 lds r24,FrameTimer.2415 108 00ec 9091 0000 lds r25,(FrameTimer.2415)+1 109 00f0 0E94 0000 call CheckDelay 110 00f4 2091 0000 lds r18,Sync.2410 111 00f8 3091 0000 lds r19,(Sync.2410)+1 112 00fc 2115 cp r18,__zero_reg__ 113 00fe 3105 cpc r19,__zero_reg__ 114 0100 01F0 breq .L49 115 0102 2130 cpi r18,1 116 0104 3105 cpc r19,__zero_reg__ 117 0106 01F4 brne .+2 118 0108 00C0 rjmp .L50 119 .L16: 120 010a 2230 cpi r18,2 121 010c 3105 cpc r19,__zero_reg__ 122 010e 01F4 brne .+2 123 0110 00C0 rjmp .L51 124 .L19: 125 0112 2330 cpi r18,3 126 0114 3105 cpc r19,__zero_reg__ 127 0116 01F4 brne .+2 128 0118 00C0 rjmp .L52 129 .L25: 130 011a 81E0 ldi r24,lo8(1) 131 011c 90E0 ldi r25,hi8(1) 132 011e 9093 0000 sts (ReSync.2413)+1,r25 133 0122 8093 0000 sts ReSync.2413,r24 134 0126 1092 0000 sts (FrameCnt.2411)+1,__zero_reg__ 135 012a 1092 0000 sts FrameCnt.2411,__zero_reg__ 136 012e 1092 0000 sts (Frame2.2414)+1,__zero_reg__ 137 0132 1092 0000 sts Frame2.2414,__zero_reg__ 138 .L42: 139 0136 87E0 ldi r24,lo8(7) 140 0138 90E0 ldi r25,hi8(7) 141 013a 0E94 0000 call SetDelay 142 013e 9093 0000 sts (FrameTimer.2415)+1,r25 143 0142 8093 0000 sts FrameTimer.2415,r24 144 0146 00C0 rjmp .L46 145 .L49: 146 0148 8823 tst r24 147 014a 01F4 brne .L53 148 014c C091 0000 lds r28,FrameCnt.2411 149 0150 D091 0000 lds r29,(FrameCnt.2411)+1 150 .L14: 151 0154 6097 sbiw r28,16 152 0156 00F0 brlo .L42 153 0158 8091 0000 lds r24,Frame2.2414 154 015c 9091 0000 lds r25,(Frame2.2414)+1 155 0160 892B or r24,r25 156 0162 01F4 brne .L44 157 0164 1092 0000 sts NewPpmData,__zero_reg__ 158 .L44: 159 0168 1092 0000 sts (FrameCnt.2411)+1,__zero_reg__ 160 016c 1092 0000 sts FrameCnt.2411,__zero_reg__ 161 0170 1092 0000 sts (Frame2.2414)+1,__zero_reg__ 162 0174 1092 0000 sts Frame2.2414,__zero_reg__ 163 0178 1092 0000 sts (Sync.2410)+1,__zero_reg__ 164 017c 1092 0000 sts Sync.2410,__zero_reg__ 165 0180 00C0 rjmp .L42 166 .L48: 167 0182 1092 0000 sts (ReSync.2413)+1,__zero_reg__ 168 0186 1092 0000 sts ReSync.2413,__zero_reg__ 169 018a 87E0 ldi r24,lo8(7) 170 018c 90E0 ldi r25,hi8(7) 171 018e 0E94 0000 call SetDelay 172 0192 9093 0000 sts (FrameTimer.2415)+1,r25 173 0196 8093 0000 sts FrameTimer.2415,r24 174 019a 1092 0000 sts (FrameCnt.2411)+1,__zero_reg__ 175 019e 1092 0000 sts FrameCnt.2411,__zero_reg__ 176 01a2 1092 0000 sts (Sync.2410)+1,__zero_reg__ 177 01a6 1092 0000 sts Sync.2410,__zero_reg__ 178 01aa 1092 0000 sts (ByteHigh.2412)+1,__zero_reg__ 179 01ae 1092 0000 sts ByteHigh.2412,__zero_reg__ 180 01b2 00C0 rjmp .L46 181 .L53: 182 01b4 81E0 ldi r24,lo8(1) 183 01b6 90E0 ldi r25,hi8(1) 184 01b8 9093 0000 sts (Sync.2410)+1,r25 185 01bc 8093 0000 sts Sync.2410,r24 186 01c0 C091 0000 lds r28,FrameCnt.2411 187 01c4 D091 0000 lds r29,(FrameCnt.2411)+1 188 01c8 2196 adiw r28,1 189 01ca D093 0000 sts (FrameCnt.2411)+1,r29 190 01ce C093 0000 sts FrameCnt.2411,r28 191 01d2 00C0 rjmp .L14 192 .L52: 193 01d4 8823 tst r24 194 01d6 01F0 breq .+2 195 01d8 00C0 rjmp .L25 196 01da 82E0 ldi r24,lo8(2) 197 01dc 90E0 ldi r25,hi8(2) 198 01de 9093 0000 sts (Sync.2410)+1,r25 199 01e2 8093 0000 sts Sync.2410,r24 200 01e6 C091 0000 lds r28,FrameCnt.2411 201 01ea D091 0000 lds r29,(FrameCnt.2411)+1 202 01ee 2196 adiw r28,1 203 01f0 D093 0000 sts (FrameCnt.2411)+1,r29 204 01f4 C093 0000 sts FrameCnt.2411,r28 205 01f8 2091 0000 lds r18,ByteHigh.2412 206 01fc 3091 0000 lds r19,(ByteHigh.2412)+1 207 0200 F901 movw r30,r18 208 0202 F695 lsr r31 209 0204 E795 ror r30 210 0206 F695 lsr r31 211 0208 E795 ror r30 212 020a EF70 andi r30,lo8(15) 213 020c F070 andi r31,hi8(15) 214 020e 3196 adiw r30,1 215 0210 EB30 cpi r30,11 216 0212 F105 cpc r31,__zero_reg__ 217 0214 00F0 brlo .+2 218 0216 00C0 rjmp .L14 219 0218 812F mov r24,r17 220 021a 90E0 ldi r25,lo8(0) 221 021c 322F mov r19,r18 222 021e 2227 clr r18 223 0220 822B or r24,r18 224 0222 932B or r25,r19 225 0224 9370 andi r25,hi8(1023) 226 0226 8050 subi r24,lo8(-(-512)) 227 0228 9240 sbci r25,hi8(-(-512)) 228 022a 63E0 ldi r22,lo8(3) 229 022c 70E0 ldi r23,hi8(3) 230 022e 0E94 0000 call __divmodhi4 231 0232 8F01 movw r16,r30 232 0234 000F lsl r16 233 0236 111F rol r17 234 0238 F801 movw r30,r16 235 023a E050 subi r30,lo8(-(PPM_in)) 236 023c F040 sbci r31,hi8(-(PPM_in)) 237 023e 8081 ld r24,Z 238 0240 9181 ldd r25,Z+1 239 0242 9B01 movw r18,r22 240 0244 281B sub r18,r24 241 0246 390B sbc r19,r25 242 0248 C901 movw r24,r18 243 024a 37FD sbrc r19,7 244 024c 00C0 rjmp .L54 245 .L30: 246 024e 0697 sbiw r24,6 247 0250 04F4 brge .L29 248 0252 8091 0000 lds r24,SenderOkay 249 0256 883C cpi r24,lo8(-56) 250 0258 00F0 brlo .+2 251 025a 00C0 rjmp .L32 252 025c 8091 0000 lds r24,SenderOkay 253 0260 865F subi r24,lo8(-(10)) 254 0262 8093 0000 sts SenderOkay,r24 255 .L29: 256 0266 F801 movw r30,r16 257 0268 E050 subi r30,lo8(-(PPM_in)) 258 026a F040 sbci r31,hi8(-(PPM_in)) 259 026c 8081 ld r24,Z 260 026e 9181 ldd r25,Z+1 261 0270 9C01 movw r18,r24 262 0272 220F lsl r18 263 0274 331F rol r19 264 0276 280F add r18,r24 265 0278 391F adc r19,r25 266 027a 260F add r18,r22 267 027c 371F adc r19,r23 268 027e 37FD sbrc r19,7 269 0280 00C0 rjmp .L55 270 .L34: 271 0282 3595 asr r19 272 0284 2795 ror r18 273 0286 3595 asr r19 274 0288 2795 ror r18 275 028a CB01 movw r24,r22 276 028c 0196 adiw r24,1 277 028e 8217 cp r24,r18 278 0290 9307 cpc r25,r19 279 0292 04F0 brlt .+2 280 0294 00C0 rjmp .L35 281 0296 2150 subi r18,lo8(-(-1)) 282 0298 3040 sbci r19,hi8(-(-1)) 283 .L37: 284 029a 8091 0000 lds r24,SenderOkay 285 029e 843B cpi r24,lo8(-76) 286 02a0 00F4 brsh .+2 287 02a2 00C0 rjmp .L39 288 02a4 F801 movw r30,r16 289 02a6 E050 subi r30,lo8(-(PPM_in)) 290 02a8 F040 sbci r31,hi8(-(PPM_in)) 291 02aa 8081 ld r24,Z 292 02ac 9181 ldd r25,Z+1 293 02ae A901 movw r20,r18 294 02b0 481B sub r20,r24 295 02b2 590B sbc r21,r25 296 02b4 CA01 movw r24,r20 297 02b6 63E0 ldi r22,lo8(3) 298 02b8 70E0 ldi r23,hi8(3) 299 02ba 0E94 0000 call __divmodhi4 300 02be CB01 movw r24,r22 301 02c0 880F lsl r24 302 02c2 991F rol r25 303 02c4 860F add r24,r22 304 02c6 971F adc r25,r23 305 02c8 F801 movw r30,r16 306 02ca E050 subi r30,lo8(-(PPM_diff)) 307 02cc F040 sbci r31,hi8(-(PPM_diff)) 308 02ce 9183 std Z+1,r25 309 02d0 8083 st Z,r24 310 .L41: 311 02d2 0050 subi r16,lo8(-(PPM_in)) 312 02d4 1040 sbci r17,hi8(-(PPM_in)) 313 02d6 F801 movw r30,r16 314 02d8 3183 std Z+1,r19 315 02da 2083 st Z,r18 316 02dc 00C0 rjmp .L14 317 .L50: 318 02de 8823 tst r24 319 02e0 01F0 breq .+2 320 02e2 00C0 rjmp .L16 321 02e4 82E0 ldi r24,lo8(2) 322 02e6 90E0 ldi r25,hi8(2) 323 02e8 9093 0000 sts (Sync.2410)+1,r25 324 02ec 8093 0000 sts Sync.2410,r24 325 02f0 C091 0000 lds r28,FrameCnt.2411 326 02f4 D091 0000 lds r29,(FrameCnt.2411)+1 327 02f8 2196 adiw r28,1 328 02fa D093 0000 sts (FrameCnt.2411)+1,r29 329 02fe C093 0000 sts FrameCnt.2411,r28 330 0302 00C0 rjmp .L14 331 .L51: 332 0304 8823 tst r24 333 0306 01F0 breq .+2 334 0308 00C0 rjmp .L19 335 030a 812F mov r24,r17 336 030c 90E0 ldi r25,lo8(0) 337 030e 9093 0000 sts (ByteHigh.2412)+1,r25 338 0312 8093 0000 sts ByteHigh.2412,r24 339 0316 2091 0000 lds r18,FrameCnt.2411 340 031a 3091 0000 lds r19,(FrameCnt.2411)+1 341 031e 2230 cpi r18,2 342 0320 3105 cpc r19,__zero_reg__ 343 0322 01F0 breq .L56 344 .L22: 345 0324 83E0 ldi r24,lo8(3) 346 0326 90E0 ldi r25,hi8(3) 347 0328 9093 0000 sts (Sync.2410)+1,r25 348 032c 8093 0000 sts Sync.2410,r24 349 0330 E901 movw r28,r18 350 0332 2196 adiw r28,1 351 0334 D093 0000 sts (FrameCnt.2411)+1,r29 352 0338 C093 0000 sts FrameCnt.2411,r28 353 033c 00C0 rjmp .L14 354 .L56: 355 033e 1092 0000 sts (Frame2.2414)+1,__zero_reg__ 356 0342 1092 0000 sts Frame2.2414,__zero_reg__ 357 0346 17FF sbrs r17,7 358 0348 00C0 rjmp .L22 359 034a 81E0 ldi r24,lo8(1) 360 034c 90E0 ldi r25,hi8(1) 361 034e 9093 0000 sts (Frame2.2414)+1,r25 362 0352 8093 0000 sts Frame2.2414,r24 363 0356 00C0 rjmp .L22 364 .L39: 365 0358 F801 movw r30,r16 366 035a E050 subi r30,lo8(-(PPM_diff)) 367 035c F040 sbci r31,hi8(-(PPM_diff)) 368 035e 1182 std Z+1,__zero_reg__ 369 0360 1082 st Z,__zero_reg__ 370 0362 00C0 rjmp .L41 371 .L35: 372 0364 6150 subi r22,lo8(-(-1)) 373 0366 7040 sbci r23,hi8(-(-1)) 374 0368 2617 cp r18,r22 375 036a 3707 cpc r19,r23 376 036c 04F0 brlt .+2 377 036e 00C0 rjmp .L37 378 0370 2F5F subi r18,lo8(-(1)) 379 0372 3F4F sbci r19,hi8(-(1)) 380 0374 00C0 rjmp .L37 381 .L32: 382 0376 88EC ldi r24,lo8(-56) 383 0378 8093 0000 sts SenderOkay,r24 384 037c 00C0 rjmp .L29 385 .L55: 386 037e 2D5F subi r18,lo8(-(3)) 387 0380 3F4F sbci r19,hi8(-(3)) 388 0382 00C0 rjmp .L34 389 .L54: 390 0384 9095 com r25 391 0386 8195 neg r24 392 0388 9F4F sbci r25,lo8(-1) 393 038a 00C0 rjmp .L30 394 .L46: 395 /* epilogue: frame size=0 */ 396 038c FF91 pop r31 397 038e EF91 pop r30 398 0390 DF91 pop r29 399 0392 CF91 pop r28 400 0394 BF91 pop r27 401 0396 AF91 pop r26 402 0398 9F91 pop r25 403 039a 8F91 pop r24 404 039c 7F91 pop r23 405 039e 6F91 pop r22 406 03a0 5F91 pop r21 407 03a2 4F91 pop r20 408 03a4 3F91 pop r19 409 03a6 2F91 pop r18 410 03a8 1F91 pop r17 411 03aa 0F91 pop r16 412 03ac 0F90 pop __tmp_reg__ 413 03ae 0FBE out __SREG__,__tmp_reg__ 414 03b0 0F90 pop __tmp_reg__ 415 03b2 1F90 pop __zero_reg__ 416 03b4 1895 reti 417 /* epilogue end (size=21) */ 418 /* function __vector_28 size 393 (351) */ 420 .lcomm FrameTimer.2415,2 421 .lcomm Frame2.2414,2 422 .data 425 ReSync.2413: 426 0000 0100 .word 1 427 .lcomm ByteHigh.2412,2 428 .lcomm FrameCnt.2411,2 429 .lcomm Sync.2410,2 430 /* File "Spectrum.c": code 479 = 0x01df ( 436), prologues 21, epilogues 22 */ DEFINED SYMBOLS *ABS*:00000000 Spectrum.c C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:2 *ABS*:0000003f __SREG__ C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:3 *ABS*:0000003e __SP_H__ C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:4 *ABS*:0000003d __SP_L__ C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:5 *ABS*:00000000 __tmp_reg__ C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:6 *ABS*:00000001 __zero_reg__ C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:12 .text:00000000 Uart1Init C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:77 .text:000000ac __vector_28 C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:425 .data:00000000 ReSync.2413 .bss:00000000 FrameTimer.2415 C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:428 .bss:00000008 Sync.2410 C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:427 .bss:00000006 FrameCnt.2411 C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:420 .bss:00000002 Frame2.2414 C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:421 .bss:00000004 ByteHigh.2412 UNDEFINED SYMBOLS __do_copy_data __do_clear_bss CheckDelay SetDelay NewPpmData __divmodhi4 PPM_in SenderOkay PPM_diff