Subversion Repositories FlightCtrl

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "jennic.c"
   2                    __SREG__ = 0x3f
   3                    __SP_H__ = 0x3e
   4                    __SP_L__ = 0x3d
   5                    __CCP__  = 0x34
   6                    __tmp_reg__ = 0
   7                    __zero_reg__ = 1
   8                            .text
   9                    .global jen_new_signal
  11                    jen_new_signal:
  12 0000 1F93                  push r17
  13 0002 CF93                  push r28
  14 0004 DF93                  push r29
  15                    /* prologue: function */
  16                    /* frame size = 0 */
  17 0006 182F                  mov r17,r24
  18 0008 1F5F                  subi r17,lo8(-(1))
  19 000a CB01                  movw r24,r22
  20 000c 8353                  subi r24,lo8(-(-11059))
  21 000e 9B42                  sbci r25,hi8(-(-11059))
  22 0010 68E1                  ldi r22,lo8(24)
  23 0012 70E0                  ldi r23,hi8(24)
  24 0014 0E94 0000             call __divmodhi4
  25 0018 AB01                  movw r20,r22
  26 001a C12F                  mov r28,r17
  27 001c D0E0                  ldi r29,lo8(0)
  28 001e CC0F                  lsl r28
  29 0020 DD1F                  rol r29
  30 0022 FE01                  movw r30,r28
  31 0024 E050                  subi r30,lo8(-(PPM_in))
  32 0026 F040                  sbci r31,hi8(-(PPM_in))
  33 0028 8081                  ld r24,Z
  34 002a 9181                  ldd r25,Z+1
  35 002c 9C01                  movw r18,r24
  36 002e 220F                  lsl r18
  37 0030 331F                  rol r19
  38 0032 280F                  add r18,r24
  39 0034 391F                  adc r19,r25
  40 0036 240F                  add r18,r20
  41 0038 351F                  adc r19,r21
  42 003a 37FD                  sbrc r19,7
  43 003c 00C0                  rjmp .L10
  44                    .L2:
  45 003e 3595                  asr r19
  46 0040 2795                  ror r18
  47 0042 3595                  asr r19
  48 0044 2795                  ror r18
  49 0046 CA01                  movw r24,r20
  50 0048 0196                  adiw r24,1
  51 004a 8217                  cp r24,r18
  52 004c 9307                  cpc r25,r19
  53 004e 04F4                  brge .L3
  54 0050 2150                  subi r18,lo8(-(-1))
  55 0052 3040                  sbci r19,hi8(-(-1))
  56                    .L4:
  57 0054 8091 0000             lds r24,RC_Quality
  58 0058 883C                  cpi r24,lo8(-56)
  59 005a 01F0                  breq .L11
  60                    .L5:
  61 005c FE01                  movw r30,r28
  62 005e E050                  subi r30,lo8(-(PPM_diff))
  63 0060 F040                  sbci r31,hi8(-(PPM_diff))
  64 0062 1182                  std Z+1,__zero_reg__
  65 0064 1082                  st Z,__zero_reg__
  66                    .L6:
  67 0066 FE01                  movw r30,r28
  68 0068 E050                  subi r30,lo8(-(PPM_in))
  69 006a F040                  sbci r31,hi8(-(PPM_in))
  70 006c 3183                  std Z+1,r19
  71 006e 2083                  st Z,r18
  72 0070 1530                  cpi r17,lo8(5)
  73 0072 00F4                  brsh .L8
  74 0074 8081                  ld r24,Z
  75 0076 9181                  ldd r25,Z+1
  76 0078 C050                  subi r28,lo8(-(DebugOut))
  77 007a D040                  sbci r29,hi8(-(DebugOut))
  78 007c 9BA7                  std Y+43,r25
  79 007e 8AA7                  std Y+42,r24
  80 0080 1430                  cpi r17,lo8(4)
  81 0082 01F4                  brne .L8
  82 0084 1092 0000             sts NewPpmData,__zero_reg__
  83                    .L8:
  84                    /* epilogue start */
  85 0088 DF91                  pop r29
  86 008a CF91                  pop r28
  87 008c 1F91                  pop r17
  88 008e 0895                  ret
  89                    .L3:
  90 0090 4150                  subi r20,lo8(-(-1))
  91 0092 5040                  sbci r21,hi8(-(-1))
  92 0094 2417                  cp r18,r20
  93 0096 3507                  cpc r19,r21
  94 0098 04F4                  brge .L4
  95 009a 2F5F                  subi r18,lo8(-(1))
  96 009c 3F4F                  sbci r19,hi8(-(1))
  97 009e 8091 0000             lds r24,RC_Quality
  98 00a2 883C                  cpi r24,lo8(-56)
  99 00a4 01F4                  brne .L5
 100                    .L11:
 101 00a6 FE01                  movw r30,r28
 102 00a8 E050                  subi r30,lo8(-(PPM_in))
 103 00aa F040                  sbci r31,hi8(-(PPM_in))
 104 00ac 8081                  ld r24,Z
 105 00ae 9181                  ldd r25,Z+1
 106 00b0 A901                  movw r20,r18
 107 00b2 481B                  sub r20,r24
 108 00b4 590B                  sbc r21,r25
 109 00b6 CA01                  movw r24,r20
 110 00b8 63E0                  ldi r22,lo8(3)
 111 00ba 70E0                  ldi r23,hi8(3)
 112 00bc 0E94 0000             call __divmodhi4
 113 00c0 CB01                  movw r24,r22
 114 00c2 880F                  lsl r24
 115 00c4 991F                  rol r25
 116 00c6 860F                  add r24,r22
 117 00c8 971F                  adc r25,r23
 118 00ca FE01                  movw r30,r28
 119 00cc E050                  subi r30,lo8(-(PPM_diff))
 120 00ce F040                  sbci r31,hi8(-(PPM_diff))
 121 00d0 9183                  std Z+1,r25
 122 00d2 8083                  st Z,r24
 123 00d4 00C0                  rjmp .L6
 124                    .L10:
 125 00d6 2D5F                  subi r18,lo8(-(3))
 126 00d8 3F4F                  sbci r19,hi8(-(3))
 127 00da 00C0                  rjmp .L2
 129                    .global jen_decode_packet
 131                    jen_decode_packet:
 132 00dc 1F93                  push r17
 133                    /* prologue: function */
 134                    /* frame size = 0 */
 135 00de 9091 0000             lds r25,PacketBuffer
 136 00e2 9093 0000             sts jen_status,r25
 137 00e6 2091 0000             lds r18,PacketBuffer+1
 138 00ea 822F                  mov r24,r18
 139 00ec 807F                  andi r24,lo8(-16)
 140 00ee 01F4                  brne .L17
 141 00f0 9923                  tst r25
 142 00f2 01F4                  brne .L14
 143 00f4 88EC                  ldi r24,lo8(-56)
 144 00f6 8093 0000             sts RC_Quality,r24
 145 00fa 122F                  mov r17,r18
 146 00fc 1F70                  andi r17,lo8(15)
 147 00fe 1A30                  cpi r17,lo8(10)
 148 0100 00F0                  brlo .L19
 149                    .L17:
 150                    /* epilogue start */
 151 0102 1F91                  pop r17
 152 0104 0895                  ret
 153                    .L14:
 154 0106 1092 0000             sts RC_Quality,__zero_reg__
 155 010a 80E0                  ldi r24,lo8(0)
 156 010c 90E0                  ldi r25,hi8(0)
 157                    .L16:
 158 010e FC01                  movw r30,r24
 159 0110 EE0F                  lsl r30
 160 0112 FF1F                  rol r31
 161 0114 DF01                  movw r26,r30
 162 0116 A050                  subi r26,lo8(-(PPM_diff))
 163 0118 B040                  sbci r27,hi8(-(PPM_diff))
 164 011a 1196                  adiw r26,1
 165 011c 1C92                  st X,__zero_reg__
 166 011e 1E92                  st -X,__zero_reg__
 167 0120 E050                  subi r30,lo8(-(PPM_in))
 168 0122 F040                  sbci r31,hi8(-(PPM_in))
 169 0124 1182                  std Z+1,__zero_reg__
 170 0126 1082                  st Z,__zero_reg__
 171 0128 0196                  adiw r24,1
 172 012a 8530                  cpi r24,5
 173 012c 9105                  cpc r25,__zero_reg__
 174 012e 01F4                  brne .L16
 175 0130 122F                  mov r17,r18
 176 0132 1F70                  andi r17,lo8(15)
 177 0134 1A30                  cpi r17,lo8(10)
 178 0136 00F4                  brsh .L17
 179                    .L19:
 180 0138 8091 0000             lds r24,PacketBuffer+2
 181 013c 8093 0000             sts ChannelPair+1,r24
 182 0140 8091 0000             lds r24,PacketBuffer+3
 183 0144 8093 0000             sts ChannelPair,r24
 184 0148 8091 0000             lds r24,PacketBuffer+4
 185 014c 8093 0000             sts ChannelPair+3,r24
 186 0150 8091 0000             lds r24,PacketBuffer+5
 187 0154 8093 0000             sts ChannelPair+2,r24
 188 0158 6091 0000             lds r22,ChannelPair
 189 015c 7091 0000             lds r23,(ChannelPair)+1
 190 0160 812F                  mov r24,r17
 191 0162 0E94 0000             call jen_new_signal
 192 0166 6091 0000             lds r22,ChannelPair+2
 193 016a 7091 0000             lds r23,(ChannelPair+2)+1
 194 016e 812F                  mov r24,r17
 195 0170 8F5F                  subi r24,lo8(-(1))
 196 0172 0E94 0000             call jen_new_signal
 197 0176 1F91                  pop r17
 198 0178 0895                  ret
 200                    .global jen_parser
 202                    jen_parser:
 203 017a 1F93                  push r17
 204                    /* prologue: function */
 205                    /* frame size = 0 */
 206 017c 182F                  mov r17,r24
 207 017e 8F3F                  cpi r24,lo8(-1)
 208 0180 01F0                  breq .L28
 209                    .L21:
 210 0182 8091 0000             lds r24,cnt.1392
 211 0186 8630                  cpi r24,lo8(6)
 212 0188 00F0                  brlo .L23
 213 018a 8091 0000             lds r24,crc.1391
 214 018e 8095                  com r24
 215 0190 8093 0000             sts crc.1391,r24
 216 0194 8F3F                  cpi r24,lo8(-1)
 217 0196 01F0                  breq .L29
 218                    .L24:
 219 0198 1817                  cp r17,r24
 220 019a 01F0                  breq .L30
 221                    .L25:
 222 019c 1092 0000             sts cnt.1392,__zero_reg__
 223 01a0 1092 0000             sts crc.1391,__zero_reg__
 224 01a4 00C0                  rjmp .L26
 225                    .L23:
 226 01a6 E82F                  mov r30,r24
 227 01a8 F0E0                  ldi r31,lo8(0)
 228 01aa E050                  subi r30,lo8(-(PacketBuffer))
 229 01ac F040                  sbci r31,hi8(-(PacketBuffer))
 230 01ae 1083                  st Z,r17
 231 01b0 8F5F                  subi r24,lo8(-(1))
 232 01b2 8093 0000             sts cnt.1392,r24
 233 01b6 8091 0000             lds r24,crc.1391
 234 01ba 810F                  add r24,r17
 235 01bc 8093 0000             sts crc.1391,r24
 236                    .L26:
 237 01c0 1093 0000             sts last_c.1390,r17
 238                    .L27:
 239                    /* epilogue start */
 240 01c4 1F91                  pop r17
 241 01c6 0895                  ret
 242                    .L28:
 243 01c8 8091 0000             lds r24,last_c.1390
 244 01cc 8F3F                  cpi r24,lo8(-1)
 245 01ce 01F4                  brne .L21
 246 01d0 1092 0000             sts cnt.1392,__zero_reg__
 247 01d4 1092 0000             sts crc.1391,__zero_reg__
 248 01d8 00C0                  rjmp .L27
 249                    .L29:
 250 01da 8EEF                  ldi r24,lo8(-2)
 251 01dc 8093 0000             sts crc.1391,r24
 252 01e0 00C0                  rjmp .L24
 253                    .L30:
 254 01e2 0E94 0000             call jen_decode_packet
 255 01e6 00C0                  rjmp .L25
 257                    .global jen_status
 258                    .global jen_status
 259                            .section .bss
 262                    jen_status:
 263 0000 00                    .skip 1,0
 264                            .lcomm cnt.1392,1
 265                            .lcomm crc.1391,1
 266                            .lcomm last_c.1390,1
 267                            .comm PacketBuffer,9,1
 268                            .comm ChannelPair,4,1
 269                    .global __do_clear_bss
DEFINED SYMBOLS
                            *ABS*:00000000 jennic.c
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:2      *ABS*:0000003f __SREG__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:3      *ABS*:0000003e __SP_H__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:4      *ABS*:0000003d __SP_L__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:5      *ABS*:00000034 __CCP__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:11     .text:00000000 jen_new_signal
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:131    .text:000000dc jen_decode_packet
                            *COM*:00000009 PacketBuffer
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:262    .bss:00000000 jen_status
                            *COM*:00000004 ChannelPair
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:202    .text:0000017a jen_parser
                             .bss:00000001 cnt.1392
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:264    .bss:00000002 crc.1391
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:265    .bss:00000003 last_c.1390

UNDEFINED SYMBOLS
__divmodhi4
PPM_in
RC_Quality
PPM_diff
DebugOut
NewPpmData
__do_clear_bss