Subversion Repositories FlightCtrl

Rev

Rev 1189 | Blame | Compare with Previous | Last modification | View Log | RSS feed

   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