Subversion Repositories Projects

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

   1                            .file   "Spektrum.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 SpektrumUartInit
  12                    SpektrumUartInit:
  13                    /* prologue: frame size=0 */
  14                    /* prologue end (size=0) */
  15 0000 9FB7                  in r25,95-0x20
  16                    /* #APP */
  17 0002 F894                  cli
  18                    /* #NOAPP */
  19 0004 8091 C900             lds r24,201
  20 0008 8F77                  andi r24,lo8(127)
  21 000a 8093 C900             sts 201,r24
  22 000e 8091 C900             lds r24,201
  23 0012 8F7B                  andi r24,lo8(-65)
  24 0014 8093 C900             sts 201,r24
  25 0018 8091 C900             lds r24,201
  26 001c 8F7D                  andi r24,lo8(-33)
  27 001e 8093 C900             sts 201,r24
  28 0022 5A9A                  sbi 43-0x20,2
  29 0024 5298                  cbi 42-0x20,2
  30 0026 5B9A                  sbi 43-0x20,3
  31 0028 539A                  sbi 42-0x20,3
  32 002a 1092 CD00             sts 205,__zero_reg__
  33 002e 84E1                  ldi r24,lo8(20)
  34 0030 8093 CC00             sts 204,r24
  35 0034 8091 C800             lds r24,200
  36 0038 8260                  ori r24,lo8(2)
  37 003a 8093 C800             sts 200,r24
  38 003e 80E1                  ldi r24,lo8(16)
  39 0040 8093 C900             sts 201,r24
  40 0044 8091 CA00             lds r24,202
  41 0048 8F77                  andi r24,lo8(127)
  42 004a 8093 CA00             sts 202,r24
  43 004e 8091 CA00             lds r24,202
  44 0052 8F7B                  andi r24,lo8(-65)
  45 0054 8093 CA00             sts 202,r24
  46 0058 8091 CA00             lds r24,202
  47 005c 8F7D                  andi r24,lo8(-33)
  48 005e 8093 CA00             sts 202,r24
  49 0062 8091 CA00             lds r24,202
  50 0066 8F7E                  andi r24,lo8(-17)
  51 0068 8093 CA00             sts 202,r24
  52 006c 8091 CA00             lds r24,202
  53 0070 877F                  andi r24,lo8(-9)
  54 0072 8093 CA00             sts 202,r24
  55 0076 8091 C900             lds r24,201
  56 007a 8B7F                  andi r24,lo8(-5)
  57 007c 8093 C900             sts 201,r24
  58 0080 8091 CA00             lds r24,202
  59 0084 8460                  ori r24,lo8(4)
  60 0086 8093 CA00             sts 202,r24
  61 008a 8091 CA00             lds r24,202
  62 008e 8260                  ori r24,lo8(2)
  63 0090 8093 CA00             sts 202,r24
  64 0094 00C0                  rjmp .L2
  65                    .L3:
  66 0096 8091 CE00             lds r24,206
  67                    .L2:
  68 009a 8091 C800             lds r24,200
  69 009e 87FD                  sbrc r24,7
  70 00a0 00C0                  rjmp .L3
  71 00a2 8091 C900             lds r24,201
  72 00a6 8068                  ori r24,lo8(-128)
  73 00a8 8093 C900             sts 201,r24
  74 00ac 9FBF                  out 95-0x20,r25
  75                    /* epilogue: frame size=0 */
  76 00ae 0895                  ret
  77                    /* epilogue end (size=1) */
  78                    /* function SpektrumUartInit size 89 (88) */
  80                    .global SpektrumParser
  82                    SpektrumParser:
  83                    /* prologue: frame size=0 */
  84 00b0 0F93                  push r16
  85 00b2 1F93                  push r17
  86 00b4 CF93                  push r28
  87 00b6 DF93                  push r29
  88                    /* prologue end (size=4) */
  89 00b8 982F                  mov r25,r24
  90 00ba 8091 0000             lds r24,ReSync.2543
  91 00be 8130                  cpi r24,lo8(1)
  92 00c0 01F4                  brne .L7
  93 00c2 1092 0000             sts ReSync.2543,__zero_reg__
  94 00c6 84E4                  ldi r24,lo8(68)
  95 00c8 8093 0000             sts SpektrumTimer,r24
  96 00cc 1092 0000             sts FrameCnt.2541,__zero_reg__
  97 00d0 1092 0000             sts Sync.2540,__zero_reg__
  98 00d4 1092 0000             sts ByteHigh.2542,__zero_reg__
  99 00d8 00C0                  rjmp .L50
 100                    .L7:
 101 00da 20E0                  ldi r18,lo8(0)
 102 00dc 8091 0000             lds r24,SpektrumTimer
 103 00e0 8823                  tst r24
 104 00e2 01F4                  brne .L10
 105 00e4 21E0                  ldi r18,lo8(1)
 106                    .L10:
 107 00e6 8091 0000             lds r24,Sync.2540
 108 00ea 8823                  tst r24
 109 00ec 01F4                  brne .L11
 110 00ee 2223                  tst r18
 111 00f0 01F0                  breq .L13
 112 00f2 81E0                  ldi r24,lo8(1)
 113 00f4 00C0                  rjmp .L54
 114                    .L13:
 115 00f6 84E4                  ldi r24,lo8(68)
 116 00f8 8093 0000             sts SpektrumTimer,r24
 117 00fc 1092 0000             sts FrameCnt.2541,__zero_reg__
 118 0100 1092 0000             sts Sync.2540,__zero_reg__
 119 0104 1092 0000             sts ByteHigh.2542,__zero_reg__
 120 0108 00C0                  rjmp .L15
 121                    .L11:
 122 010a 8130                  cpi r24,lo8(1)
 123 010c 01F4                  brne .L16
 124 010e 2223                  tst r18
 125 0110 01F0                  breq .+2
 126 0112 00C0                  rjmp .L25
 127 0114 82E0                  ldi r24,lo8(2)
 128                    .L54:
 129 0116 8093 0000             sts Sync.2540,r24
 130 011a 8091 0000             lds r24,FrameCnt.2541
 131 011e 8F5F                  subi r24,lo8(-(1))
 132 0120 8093 0000             sts FrameCnt.2541,r24
 133 0124 83E0                  ldi r24,lo8(3)
 134 0126 00C0                  rjmp .L53
 135                    .L16:
 136 0128 8230                  cpi r24,lo8(2)
 137 012a 01F4                  brne .L19
 138 012c 2223                  tst r18
 139 012e 01F0                  breq .+2
 140 0130 00C0                  rjmp .L25
 141 0132 83E0                  ldi r24,lo8(3)
 142 0134 8093 0000             sts SpektrumTimer,r24
 143 0138 9093 0000             sts ByteHigh.2542,r25
 144 013c 2091 0000             lds r18,FrameCnt.2541
 145 0140 2230                  cpi r18,lo8(2)
 146 0142 01F4                  brne .L22
 147 0144 1092 0000             sts Frame2.2544,__zero_reg__
 148 0148 97FF                  sbrs r25,7
 149 014a 00C0                  rjmp .L22
 150 014c 81E0                  ldi r24,lo8(1)
 151 014e 8093 0000             sts Frame2.2544,r24
 152                    .L22:
 153 0152 83E0                  ldi r24,lo8(3)
 154 0154 8093 0000             sts Sync.2540,r24
 155 0158 2F5F                  subi r18,lo8(-(1))
 156 015a 2093 0000             sts FrameCnt.2541,r18
 157 015e 00C0                  rjmp .L15
 158                    .L19:
 159 0160 8330                  cpi r24,lo8(3)
 160 0162 01F0                  breq .+2
 161 0164 00C0                  rjmp .L25
 162 0166 2223                  tst r18
 163 0168 01F0                  breq .+2
 164 016a 00C0                  rjmp .L25
 165 016c 8093 0000             sts SpektrumTimer,r24
 166 0170 82E0                  ldi r24,lo8(2)
 167 0172 8093 0000             sts Sync.2540,r24
 168 0176 8091 0000             lds r24,FrameCnt.2541
 169 017a 8F5F                  subi r24,lo8(-(1))
 170 017c 8093 0000             sts FrameCnt.2541,r24
 171 0180 4091 0000             lds r20,ByteHigh.2542
 172 0184 292F                  mov r18,r25
 173 0186 30E0                  ldi r19,lo8(0)
 174 0188 842F                  mov r24,r20
 175 018a 90E0                  ldi r25,lo8(0)
 176 018c 982F                  mov r25,r24
 177 018e 8827                  clr r24
 178 0190 282B                  or r18,r24
 179 0192 392B                  or r19,r25
 180 0194 8091 0000             lds r24,EE_Parameter+39
 181 0198 8130                  cpi r24,lo8(1)
 182 019a 01F4                  brne .L28
 183 019c 3370                  andi r19,hi8(1023)
 184 019e C901                  movw r24,r18
 185 01a0 8050                  subi r24,lo8(-(-512))
 186 01a2 9240                  sbci r25,hi8(-(-512))
 187 01a4 63E0                  ldi r22,lo8(3)
 188 01a6 70E0                  ldi r23,hi8(3)
 189 01a8 00C0                  rjmp .L51
 190                    .L28:
 191 01aa 8230                  cpi r24,lo8(2)
 192 01ac 01F4                  brne .L31
 193 01ae 3770                  andi r19,hi8(2047)
 194 01b0 C901                  movw r24,r18
 195 01b2 8050                  subi r24,lo8(-(-1024))
 196 01b4 9440                  sbci r25,hi8(-(-1024))
 197 01b6 66E0                  ldi r22,lo8(6)
 198 01b8 70E0                  ldi r23,hi8(6)
 199 01ba 0E94 0000             call __divmodhi4
 200 01be EB01                  movw r28,r22
 201 01c0 4695                  lsr r20
 202 01c2 4695                  lsr r20
 203 01c4 4695                  lsr r20
 204 01c6 00C0                  rjmp .L52
 205                    .L31:
 206 01c8 3370                  andi r19,hi8(1023)
 207 01ca C901                  movw r24,r18
 208 01cc 8856                  subi r24,lo8(-(-360))
 209 01ce 9140                  sbci r25,hi8(-(-360))
 210 01d0 62E0                  ldi r22,lo8(2)
 211 01d2 70E0                  ldi r23,hi8(2)
 212                    .L51:
 213 01d4 0E94 0000             call __divmodhi4
 214 01d8 EB01                  movw r28,r22
 215 01da 4695                  lsr r20
 216 01dc 4695                  lsr r20
 217                    .L52:
 218 01de 842F                  mov r24,r20
 219 01e0 90E0                  ldi r25,lo8(0)
 220 01e2 8F70                  andi r24,lo8(15)
 221 01e4 9070                  andi r25,hi8(15)
 222 01e6 8C01                  movw r16,r24
 223 01e8 0F5F                  subi r16,lo8(-(1))
 224 01ea 1F4F                  sbci r17,hi8(-(1))
 225 01ec 0D30                  cpi r16,13
 226 01ee 1105                  cpc r17,__zero_reg__
 227 01f0 00F0                  brlo .+2
 228 01f2 00C0                  rjmp .L15
 229 01f4 F801                  movw r30,r16
 230 01f6 EE0F                  lsl r30
 231 01f8 FF1F                  rol r31
 232 01fa E050                  subi r30,lo8(-(PPM_in))
 233 01fc F040                  sbci r31,hi8(-(PPM_in))
 234 01fe 8081                  ld r24,Z
 235 0200 9181                  ldd r25,Z+1
 236 0202 9E01                  movw r18,r28
 237 0204 281B                  sub r18,r24
 238 0206 390B                  sbc r19,r25
 239 0208 C901                  movw r24,r18
 240 020a 37FF                  sbrs r19,7
 241 020c 00C0                  rjmp .L35
 242 020e 9095                  com r25
 243 0210 8195                  neg r24
 244 0212 9F4F                  sbci r25,lo8(-1)
 245                    .L35:
 246 0214 0697                  sbiw r24,6
 247 0216 04F4                  brge .L34
 248 0218 8091 0000             lds r24,SenderOkay
 249 021c 883C                  cpi r24,lo8(-56)
 250 021e 00F4                  brsh .L37
 251 0220 8091 0000             lds r24,SenderOkay
 252 0224 865F                  subi r24,lo8(-(10))
 253 0226 8093 0000             sts SenderOkay,r24
 254 022a 00C0                  rjmp .L34
 255                    .L37:
 256 022c 88EC                  ldi r24,lo8(-56)
 257 022e 8093 0000             sts SenderOkay,r24
 258 0232 8091 6F00             lds r24,111
 259 0236 8F7D                  andi r24,lo8(-33)
 260 0238 8093 6F00             sts 111,r24
 261                    .L34:
 262 023c F801                  movw r30,r16
 263 023e EE0F                  lsl r30
 264 0240 FF1F                  rol r31
 265 0242 E050                  subi r30,lo8(-(PPM_in))
 266 0244 F040                  sbci r31,hi8(-(PPM_in))
 267 0246 2081                  ld r18,Z
 268 0248 3181                  ldd r19,Z+1
 269 024a C901                  movw r24,r18
 270 024c 880F                  lsl r24
 271 024e 991F                  rol r25
 272 0250 820F                  add r24,r18
 273 0252 931F                  adc r25,r19
 274 0254 8C0F                  add r24,r28
 275 0256 9D1F                  adc r25,r29
 276 0258 64E0                  ldi r22,lo8(4)
 277 025a 70E0                  ldi r23,hi8(4)
 278 025c 0E94 0000             call __divmodhi4
 279 0260 9B01                  movw r18,r22
 280 0262 CE01                  movw r24,r28
 281 0264 0196                  adiw r24,1
 282 0266 8617                  cp r24,r22
 283 0268 9707                  cpc r25,r23
 284 026a 04F4                  brge .L39
 285 026c 2150                  subi r18,lo8(-(-1))
 286 026e 3040                  sbci r19,hi8(-(-1))
 287 0270 00C0                  rjmp .L41
 288                    .L39:
 289 0272 2197                  sbiw r28,1
 290 0274 6C17                  cp r22,r28
 291 0276 7D07                  cpc r23,r29
 292 0278 04F4                  brge .L41
 293 027a 2F5F                  subi r18,lo8(-(1))
 294 027c 3F4F                  sbci r19,hi8(-(1))
 295                    .L41:
 296 027e 8091 0000             lds r24,SenderOkay
 297 0282 E801                  movw r28,r16
 298 0284 CC0F                  lsl r28
 299 0286 DD1F                  rol r29
 300 0288 843B                  cpi r24,lo8(-76)
 301 028a 00F0                  brlo .L43
 302 028c FE01                  movw r30,r28
 303 028e E050                  subi r30,lo8(-(PPM_in))
 304 0290 F040                  sbci r31,hi8(-(PPM_in))
 305 0292 8081                  ld r24,Z
 306 0294 9181                  ldd r25,Z+1
 307 0296 A901                  movw r20,r18
 308 0298 481B                  sub r20,r24
 309 029a 590B                  sbc r21,r25
 310 029c CA01                  movw r24,r20
 311 029e 63E0                  ldi r22,lo8(3)
 312 02a0 70E0                  ldi r23,hi8(3)
 313 02a2 0E94 0000             call __divmodhi4
 314 02a6 CB01                  movw r24,r22
 315 02a8 880F                  lsl r24
 316 02aa 991F                  rol r25
 317 02ac 860F                  add r24,r22
 318 02ae 971F                  adc r25,r23
 319 02b0 C050                  subi r28,lo8(-(PPM_diff))
 320 02b2 D040                  sbci r29,hi8(-(PPM_diff))
 321 02b4 9983                  std Y+1,r25
 322 02b6 8883                  st Y,r24
 323 02b8 00C0                  rjmp .L45
 324                    .L43:
 325 02ba C050                  subi r28,lo8(-(PPM_diff))
 326 02bc D040                  sbci r29,hi8(-(PPM_diff))
 327 02be 1982                  std Y+1,__zero_reg__
 328 02c0 1882                  st Y,__zero_reg__
 329                    .L45:
 330 02c2 000F                  lsl r16
 331 02c4 111F                  rol r17
 332 02c6 0050                  subi r16,lo8(-(PPM_in))
 333 02c8 1040                  sbci r17,hi8(-(PPM_in))
 334 02ca F801                  movw r30,r16
 335 02cc 3183                  std Z+1,r19
 336 02ce 2083                  st Z,r18
 337 02d0 00C0                  rjmp .L15
 338                    .L25:
 339 02d2 81E0                  ldi r24,lo8(1)
 340 02d4 8093 0000             sts ReSync.2543,r24
 341 02d8 1092 0000             sts FrameCnt.2541,__zero_reg__
 342 02dc 1092 0000             sts Frame2.2544,__zero_reg__
 343 02e0 84E4                  ldi r24,lo8(68)
 344                    .L53:
 345 02e2 8093 0000             sts SpektrumTimer,r24
 346                    .L15:
 347 02e6 8091 0000             lds r24,FrameCnt.2541
 348 02ea 8031                  cpi r24,lo8(16)
 349 02ec 00F0                  brlo .L50
 350 02ee 8091 0000             lds r24,Frame2.2544
 351 02f2 8823                  tst r24
 352 02f4 01F4                  brne .L47
 353 02f6 8091 0000             lds r24,ReSync.2543
 354 02fa 8823                  tst r24
 355 02fc 01F4                  brne .L47
 356 02fe 1092 0000             sts NewPpmData,__zero_reg__
 357                    .L47:
 358 0302 1092 0000             sts FrameCnt.2541,__zero_reg__
 359 0306 1092 0000             sts Frame2.2544,__zero_reg__
 360 030a 1092 0000             sts Sync.2540,__zero_reg__
 361 030e 84E4                  ldi r24,lo8(68)
 362 0310 8093 0000             sts SpektrumTimer,r24
 363                    .L50:
 364                    /* epilogue: frame size=0 */
 365 0314 DF91                  pop r29
 366 0316 CF91                  pop r28
 367 0318 1F91                  pop r17
 368 031a 0F91                  pop r16
 369 031c 0895                  ret
 370                    /* epilogue end (size=5) */
 371                    /* function SpektrumParser size 315 (306) */
 373                    .global SpektrumTimer
 374                    .global SpektrumTimer
 375                            .section .bss
 378                    SpektrumTimer:
 379 0000 00                    .skip 1,0
 380                            .lcomm Frame2.2544,1
 381                            .data
 384                    ReSync.2543:
 385 0000 01                    .byte   1
 386                            .lcomm ByteHigh.2542,1
 387                            .lcomm FrameCnt.2541,1
 388                            .lcomm Sync.2540,1
 389                    /* File "Spektrum.c": code  404 = 0x0194 ( 394), prologues   4, epilogues   6 */
DEFINED SYMBOLS
                            *ABS*:00000000 Spektrum.c
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:2      *ABS*:0000003f __SREG__
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:3      *ABS*:0000003e __SP_H__
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:4      *ABS*:0000003d __SP_L__
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:5      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:6      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:12     .text:00000000 SpektrumUartInit
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:82     .text:000000b0 SpektrumParser
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:384    .data:00000000 ReSync.2543
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:378    .bss:00000000 SpektrumTimer
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:386    .bss:00000003 FrameCnt.2541
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:387    .bss:00000004 Sync.2540
C:\DOCUME~1\Owner\LOCALS~1\Temp/cctPB7zO.s:380    .bss:00000002 ByteHigh.2542
                             .bss:00000001 Frame2.2544

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
EE_Parameter
__divmodhi4
PPM_in
SenderOkay
PPM_diff
NewPpmData