Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1997 | - | 1 | 1 .file "rc.c" |
2 | 2 .arch atmega1284p |
||
3 | 3 __SREG__ = 0x3f |
||
4 | 4 __SP_H__ = 0x3e |
||
5 | 5 __SP_L__ = 0x3d |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .global __do_copy_data |
||
9 | 9 .global __do_clear_bss |
||
10 | 10 .global PPM_Neutral |
||
11 | 11 .data |
||
12 | 14 PPM_Neutral: |
||
13 | 15 0000 D201 .word 466 |
||
14 | 16 .global NewPpmData |
||
15 | 19 NewPpmData: |
||
16 | 20 0002 01 .byte 1 |
||
17 | 21 .global tmpChannels |
||
18 | 22 .global tmpChannels |
||
19 | 23 .section .bss |
||
20 | 26 tmpChannels: |
||
21 | 27 0000 00 .skip 1,0 |
||
22 | 28 .text |
||
23 | 29 .global rc_sum_init |
||
24 | 31 rc_sum_init: |
||
25 | 32 /* prologue: frame size=0 */ |
||
26 | 33 0000 CF93 push r28 |
||
27 | 34 0002 DF93 push r29 |
||
28 | 35 /* prologue end (size=2) */ |
||
29 | 36 0004 80E0 ldi r24,lo8(0) |
||
30 | 37 0006 22E8 ldi r18,lo8(-126) |
||
31 | 38 0008 3FEF ldi r19,hi8(-126) |
||
32 | 39 000a C0E0 ldi r28,lo8(PPM_diff) |
||
33 | 40 000c D0E0 ldi r29,hi8(PPM_diff) |
||
34 | 41 000e E0E0 ldi r30,lo8(PPM_in) |
||
35 | 42 0010 F0E0 ldi r31,hi8(PPM_in) |
||
36 | 43 0012 DF01 movw r26,r30 |
||
37 | 44 .L7: |
||
38 | 45 0014 8530 cpi r24,lo8(5) |
||
39 | 46 0016 00F4 brsh .L5 |
||
40 | 47 0018 1196 adiw r26,1 |
||
41 | 48 001a 1C92 st X,__zero_reg__ |
||
42 | 49 001c 1E92 st -X,__zero_reg__ |
||
43 | 50 001e 00C0 rjmp .L6 |
||
44 | 51 .L5: |
||
45 | 52 0020 3183 std Z+1,r19 |
||
46 | 53 0022 2083 st Z,r18 |
||
47 | 54 .L6: |
||
48 | 55 0024 1982 std Y+1,__zero_reg__ |
||
49 | 56 0026 1882 st Y,__zero_reg__ |
||
50 | 57 0028 2296 adiw r28,2 |
||
51 | 58 002a 8F5F subi r24,lo8(-(1)) |
||
52 | 59 002c 1296 adiw r26,2 |
||
53 | 60 002e 3296 adiw r30,2 |
||
54 | 61 0030 8A31 cpi r24,lo8(26) |
||
55 | 62 0032 00F0 brlo .L7 |
||
56 | 63 0034 1092 0000 sts (AdNeutralGier)+1,__zero_reg__ |
||
57 | 64 0038 1092 0000 sts AdNeutralGier,__zero_reg__ |
||
58 | 65 003c 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__ |
||
59 | 66 0040 1092 0000 sts AdNeutralRoll,__zero_reg__ |
||
60 | 67 0044 1092 0000 sts (AdNeutralNick)+1,__zero_reg__ |
||
61 | 68 0048 1092 0000 sts AdNeutralNick,__zero_reg__ |
||
62 | 69 /* epilogue: frame size=0 */ |
||
63 | 70 004c DF91 pop r29 |
||
64 | 71 004e CF91 pop r28 |
||
65 | 72 0050 0895 ret |
||
66 | 73 /* epilogue end (size=3) */ |
||
67 | 74 /* function rc_sum_init size 41 (36) */ |
||
68 | 76 .lcomm AltICR.0,2 |
||
69 | 77 .lcomm index.1,2 |
||
70 | 78 .lcomm AltICR.2,2 |
||
71 | 79 .lcomm ppm_in.3,26 |
||
72 | 80 .lcomm ppm_diff.4,26 |
||
73 | 81 .lcomm old_ppm_in.5,26 |
||
74 | 82 .lcomm old_ppm_diff.6,26 |
||
75 | 83 .lcomm index.7,1 |
||
76 | 84 .lcomm okay_cnt.8,1 |
||
77 | 85 .global __vector_12 |
||
78 | 87 __vector_12: |
||
79 | 88 /* prologue: frame size=0 */ |
||
80 | 89 0052 1F92 push __zero_reg__ |
||
81 | 90 0054 0F92 push __tmp_reg__ |
||
82 | 91 0056 0FB6 in __tmp_reg__,__SREG__ |
||
83 | 92 0058 0F92 push __tmp_reg__ |
||
84 | 93 005a 1124 clr __zero_reg__ |
||
85 | 94 005c 0F93 push r16 |
||
86 | 95 005e 1F93 push r17 |
||
87 | 96 0060 2F93 push r18 |
||
88 | 97 0062 3F93 push r19 |
||
89 | 98 0064 4F93 push r20 |
||
90 | 99 0066 5F93 push r21 |
||
91 | 100 0068 6F93 push r22 |
||
92 | 101 006a 7F93 push r23 |
||
93 | 102 006c 8F93 push r24 |
||
94 | 103 006e 9F93 push r25 |
||
95 | 104 0070 AF93 push r26 |
||
96 | 105 0072 BF93 push r27 |
||
97 | 106 0074 CF93 push r28 |
||
98 | 107 0076 DF93 push r29 |
||
99 | 108 0078 EF93 push r30 |
||
100 | 109 007a FF93 push r31 |
||
101 | 110 /* prologue end (size=21) */ |
||
102 | 111 007c 8091 0000 lds r24,EE_Parameter+106 |
||
103 | 112 0080 82FD sbrc r24,2 |
||
104 | 113 0082 00C0 rjmp .L11 |
||
105 | 114 0084 4091 8600 lds r20,134 |
||
106 | 115 0088 5091 8700 lds r21,(134)+1 |
||
107 | 116 008c 8091 0000 lds r24,AltICR.0 |
||
108 | 117 0090 9091 0000 lds r25,(AltICR.0)+1 |
||
109 | 118 0094 481B sub r20,r24 |
||
110 | 119 0096 590B sbc r21,r25 |
||
111 | 120 0098 8091 8600 lds r24,134 |
||
112 | 121 009c 9091 8700 lds r25,(134)+1 |
||
113 | 122 00a0 9093 0000 sts (AltICR.0)+1,r25 |
||
114 | 123 00a4 8093 0000 sts AltICR.0,r24 |
||
115 | 124 00a8 CA01 movw r24,r20 |
||
116 | 125 00aa 8D54 subi r24,lo8(-(-1101)) |
||
117 | 126 00ac 9440 sbci r25,hi8(-(-1101)) |
||
118 | 127 00ae A091 0000 lds r26,index.1 |
||
119 | 128 00b2 B091 0000 lds r27,(index.1)+1 |
||
120 | 129 00b6 835F subi r24,lo8(6899) |
||
121 | 130 00b8 9A41 sbci r25,hi8(6899) |
||
122 | 131 00ba 00F4 brsh .L12 |
||
123 | 132 00bc 8091 0000 lds r24,index.1 |
||
124 | 133 00c0 8093 0000 sts Channels,r24 |
||
125 | 134 00c4 1497 sbiw r26,4 |
||
126 | 135 00c6 04F0 brlt .L13 |
||
127 | 136 00c8 1092 0000 sts NewPpmData,__zero_reg__ |
||
128 | 137 .L13: |
||
129 | 138 00cc 81E0 ldi r24,lo8(1) |
||
130 | 139 00ce 90E0 ldi r25,hi8(1) |
||
131 | 140 00d0 9093 0000 sts (index.1)+1,r25 |
||
132 | 141 00d4 8093 0000 sts index.1,r24 |
||
133 | 142 00d8 00C0 rjmp .L10 |
||
134 | 143 .L12: |
||
135 | 144 00da AD30 cpi r26,13 |
||
136 | 145 00dc B105 cpc r27,__zero_reg__ |
||
137 | 146 00de 04F0 brlt .+2 |
||
138 | 147 00e0 00C0 rjmp .L10 |
||
139 | 148 00e2 CA01 movw r24,r20 |
||
140 | 149 00e4 8B5F subi r24,lo8(-(-251)) |
||
141 | 150 00e6 9040 sbci r25,hi8(-(-251)) |
||
142 | 151 00e8 845B subi r24,lo8(436) |
||
143 | 152 00ea 9140 sbci r25,hi8(436) |
||
144 | 153 00ec 00F0 brlo .+2 |
||
145 | 154 00ee 00C0 rjmp .L16 |
||
146 | 155 00f0 8091 0000 lds r24,PPM_Neutral |
||
147 | 156 00f4 9091 0000 lds r25,(PPM_Neutral)+1 |
||
148 | 157 00f8 481B sub r20,r24 |
||
149 | 158 00fa 590B sbc r21,r25 |
||
150 | 159 00fc FD01 movw r30,r26 |
||
151 | 160 00fe EA0F add r30,r26 |
||
152 | 161 0100 FB1F adc r31,r27 |
||
153 | 162 0102 E050 subi r30,lo8(-(PPM_in)) |
||
154 | 163 0104 F040 sbci r31,hi8(-(PPM_in)) |
||
155 | 164 0106 8081 ld r24,Z |
||
156 | 165 0108 9181 ldd r25,Z+1 |
||
157 | 166 010a FA01 movw r30,r20 |
||
158 | 167 010c E81B sub r30,r24 |
||
159 | 168 010e F90B sbc r31,r25 |
||
160 | 169 0110 CF01 movw r24,r30 |
||
161 | 170 0112 F7FF sbrs r31,7 |
||
162 | 171 0114 00C0 rjmp .L18 |
||
163 | 172 0116 9095 com r25 |
||
164 | 173 0118 8195 neg r24 |
||
165 | 174 011a 9F4F sbci r25,lo8(-1) |
||
166 | 175 .L18: |
||
167 | 176 011c 0697 sbiw r24,6 |
||
168 | 177 011e 04F4 brge .L17 |
||
169 | 178 0120 8091 0000 lds r24,SenderOkay |
||
170 | 179 0124 883C cpi r24,lo8(-56) |
||
171 | 180 0126 00F4 brsh .L19 |
||
172 | 181 0128 8091 0000 lds r24,SenderOkay |
||
173 | 182 012c 865F subi r24,lo8(-(10)) |
||
174 | 183 012e 00C0 rjmp .L89 |
||
175 | 184 .L19: |
||
176 | 185 0130 88EC ldi r24,lo8(-56) |
||
177 | 186 .L89: |
||
178 | 187 0132 8093 0000 sts SenderOkay,r24 |
||
179 | 188 .L17: |
||
180 | 189 0136 FD01 movw r30,r26 |
||
181 | 190 0138 EA0F add r30,r26 |
||
182 | 191 013a FB1F adc r31,r27 |
||
183 | 192 013c E050 subi r30,lo8(-(PPM_in)) |
||
184 | 193 013e F040 sbci r31,hi8(-(PPM_in)) |
||
185 | 194 0140 8081 ld r24,Z |
||
186 | 195 0142 9181 ldd r25,Z+1 |
||
187 | 196 0144 9C01 movw r18,r24 |
||
188 | 197 0146 220F lsl r18 |
||
189 | 198 0148 331F rol r19 |
||
190 | 199 014a 280F add r18,r24 |
||
191 | 200 014c 391F adc r19,r25 |
||
192 | 201 014e 240F add r18,r20 |
||
193 | 202 0150 351F adc r19,r21 |
||
194 | 203 0152 37FF sbrs r19,7 |
||
195 | 204 0154 00C0 rjmp .L21 |
||
196 | 205 0156 2D5F subi r18,lo8(-(3)) |
||
197 | 206 0158 3F4F sbci r19,hi8(-(3)) |
||
198 | 207 .L21: |
||
199 | 208 015a E901 movw r28,r18 |
||
200 | 209 015c D595 asr r29 |
||
201 | 210 015e C795 ror r28 |
||
202 | 211 0160 D595 asr r29 |
||
203 | 212 0162 C795 ror r28 |
||
204 | 213 0164 CA01 movw r24,r20 |
||
205 | 214 0166 0196 adiw r24,1 |
||
206 | 215 0168 8C17 cp r24,r28 |
||
207 | 216 016a 9D07 cpc r25,r29 |
||
208 | 217 016c 04F4 brge .L22 |
||
209 | 218 016e 2197 sbiw r28,1 |
||
210 | 219 0170 00C0 rjmp .L23 |
||
211 | 220 .L22: |
||
212 | 221 0172 4150 subi r20,lo8(-(-1)) |
||
213 | 222 0174 5040 sbci r21,hi8(-(-1)) |
||
214 | 223 0176 C417 cp r28,r20 |
||
215 | 224 0178 D507 cpc r29,r21 |
||
216 | 225 017a 04F4 brge .L23 |
||
217 | 226 017c 2196 adiw r28,1 |
||
218 | 227 .L23: |
||
219 | 228 017e 8091 0000 lds r24,SenderOkay |
||
220 | 229 0182 833C cpi r24,lo8(-61) |
||
221 | 230 0184 00F0 brlo .L25 |
||
222 | 231 0186 8D01 movw r16,r26 |
||
223 | 232 0188 0A0F add r16,r26 |
||
224 | 233 018a 1B1F adc r17,r27 |
||
225 | 234 018c F801 movw r30,r16 |
||
226 | 235 018e E050 subi r30,lo8(-(PPM_in)) |
||
227 | 236 0190 F040 sbci r31,hi8(-(PPM_in)) |
||
228 | 237 0192 8081 ld r24,Z |
||
229 | 238 0194 9181 ldd r25,Z+1 |
||
230 | 239 0196 9E01 movw r18,r28 |
||
231 | 240 0198 281B sub r18,r24 |
||
232 | 241 019a 390B sbc r19,r25 |
||
233 | 242 019c C901 movw r24,r18 |
||
234 | 243 019e 63E0 ldi r22,lo8(3) |
||
235 | 244 01a0 70E0 ldi r23,hi8(3) |
||
236 | 245 01a2 0E94 0000 call __divmodhi4 |
||
237 | 246 01a6 CB01 movw r24,r22 |
||
238 | 247 01a8 880F lsl r24 |
||
239 | 248 01aa 991F rol r25 |
||
240 | 249 01ac 860F add r24,r22 |
||
241 | 250 01ae 971F adc r25,r23 |
||
242 | 251 01b0 0050 subi r16,lo8(-(PPM_diff)) |
||
243 | 252 01b2 1040 sbci r17,hi8(-(PPM_diff)) |
||
244 | 253 01b4 D801 movw r26,r16 |
||
245 | 254 01b6 1196 adiw r26,1 |
||
246 | 255 01b8 9C93 st X,r25 |
||
247 | 256 01ba 8E93 st -X,r24 |
||
248 | 257 01bc 00C0 rjmp .L26 |
||
249 | 258 .L25: |
||
250 | 259 01be AA0F add r26,r26 |
||
251 | 260 01c0 BB1F adc r27,r27 |
||
252 | 261 01c2 A050 subi r26,lo8(-(PPM_diff)) |
||
253 | 262 01c4 B040 sbci r27,hi8(-(PPM_diff)) |
||
254 | 263 01c6 1196 adiw r26,1 |
||
255 | 264 01c8 1C92 st X,__zero_reg__ |
||
256 | 265 01ca 1E92 st -X,__zero_reg__ |
||
257 | 266 .L26: |
||
258 | 267 01cc E091 0000 lds r30,index.1 |
||
259 | 268 01d0 F091 0000 lds r31,(index.1)+1 |
||
260 | 269 01d4 EE0F add r30,r30 |
||
261 | 270 01d6 FF1F adc r31,r31 |
||
262 | 271 01d8 E050 subi r30,lo8(-(PPM_in)) |
||
263 | 272 01da F040 sbci r31,hi8(-(PPM_in)) |
||
264 | 273 01dc D183 std Z+1,r29 |
||
265 | 274 01de C083 st Z,r28 |
||
266 | 275 .L16: |
||
267 | 276 01e0 2091 0000 lds r18,index.1 |
||
268 | 277 01e4 3091 0000 lds r19,(index.1)+1 |
||
269 | 278 01e8 2F5F subi r18,lo8(-(1)) |
||
270 | 279 01ea 3F4F sbci r19,hi8(-(1)) |
||
271 | 280 01ec 3093 0000 sts (index.1)+1,r19 |
||
272 | 281 01f0 2093 0000 sts index.1,r18 |
||
273 | 282 01f4 8091 0000 lds r24,PlatinenVersion |
||
274 | 283 01f8 8431 cpi r24,lo8(20) |
||
275 | 284 01fa 00F0 brlo .+2 |
||
276 | 285 01fc 00C0 rjmp .L10 |
||
277 | 286 01fe 2530 cpi r18,5 |
||
278 | 287 0200 3105 cpc r19,__zero_reg__ |
||
279 | 288 0202 01F4 brne .L28 |
||
280 | 289 0204 5D9A sbi 43-0x20,5 |
||
281 | 290 0206 00C0 rjmp .L29 |
||
282 | 291 .L28: |
||
283 | 292 0208 5D98 cbi 43-0x20,5 |
||
284 | 293 .L29: |
||
285 | 294 020a 8091 0000 lds r24,index.1 |
||
286 | 295 020e 9091 0000 lds r25,(index.1)+1 |
||
287 | 296 0212 8630 cpi r24,6 |
||
288 | 297 0214 9105 cpc r25,__zero_reg__ |
||
289 | 298 0216 01F4 brne .L30 |
||
290 | 299 0218 5C9A sbi 43-0x20,4 |
||
291 | 300 021a 00C0 rjmp .L31 |
||
292 | 301 .L30: |
||
293 | 302 021c 5C98 cbi 43-0x20,4 |
||
294 | 303 .L31: |
||
295 | 304 021e 0797 sbiw r24,7 |
||
296 | 305 0220 01F4 brne .L32 |
||
297 | 306 0222 5B9A sbi 43-0x20,3 |
||
298 | 307 0224 00C0 rjmp .L10 |
||
299 | 308 .L32: |
||
300 | 309 0226 5B98 cbi 43-0x20,3 |
||
301 | 310 0228 00C0 rjmp .L10 |
||
302 | 311 .L11: |
||
303 | 312 022a 4091 8600 lds r20,134 |
||
304 | 313 022e 5091 8700 lds r21,(134)+1 |
||
305 | 314 0232 8091 0000 lds r24,AltICR.2 |
||
306 | 315 0236 9091 0000 lds r25,(AltICR.2)+1 |
||
307 | 316 023a 481B sub r20,r24 |
||
308 | 317 023c 590B sbc r21,r25 |
||
309 | 318 023e 8091 8600 lds r24,134 |
||
310 | 319 0242 9091 8700 lds r25,(134)+1 |
||
311 | 320 0246 9093 0000 sts (AltICR.2)+1,r25 |
||
312 | 321 024a 8093 0000 sts AltICR.2,r24 |
||
313 | 322 024e CA01 movw r24,r20 |
||
314 | 323 0250 8D54 subi r24,lo8(-(-1101)) |
||
315 | 324 0252 9440 sbci r25,hi8(-(-1101)) |
||
316 | 325 0254 6091 0000 lds r22,index.7 |
||
317 | 326 0258 835F subi r24,lo8(6899) |
||
318 | 327 025a 9A41 sbci r25,hi8(6899) |
||
319 | 328 025c 00F0 brlo .+2 |
||
320 | 329 025e 00C0 rjmp .L35 |
||
321 | 330 0260 6093 0000 sts tmpChannels,r22 |
||
322 | 331 0264 8091 0000 lds r24,tmpChannels |
||
323 | 332 0268 8430 cpi r24,lo8(4) |
||
324 | 333 026a 00F4 brsh .+2 |
||
325 | 334 026c 00C0 rjmp .L36 |
||
326 | 335 026e 9091 0000 lds r25,Channels |
||
327 | 336 0272 8091 0000 lds r24,tmpChannels |
||
328 | 337 0276 9817 cp r25,r24 |
||
329 | 338 0278 01F0 breq .+2 |
||
330 | 339 027a 00C0 rjmp .L36 |
||
331 | 340 027c 5091 0000 lds r21,okay_cnt.8 |
||
332 | 341 0280 5B30 cpi r21,lo8(11) |
||
333 | 342 0282 00F4 brsh .+2 |
||
334 | 343 0284 00C0 rjmp .L37 |
||
335 | 344 0286 1092 0000 sts NewPpmData,__zero_reg__ |
||
336 | 345 028a 1092 0000 sts index.7,__zero_reg__ |
||
337 | 346 028e 40E0 ldi r20,lo8(0) |
||
338 | 347 .L42: |
||
339 | 348 0290 5F31 cpi r21,lo8(31) |
||
340 | 349 0292 00F0 brlo .L41 |
||
341 | 350 0294 E42F mov r30,r20 |
||
342 | 351 0296 FF27 clr r31 |
||
343 | 352 0298 EE0F add r30,r30 |
||
344 | 353 029a FF1F adc r31,r31 |
||
345 | 354 029c 9F01 movw r18,r30 |
||
346 | 355 029e 2050 subi r18,lo8(-(old_ppm_in.5)) |
||
347 | 356 02a0 3040 sbci r19,hi8(-(old_ppm_in.5)) |
||
348 | 357 02a2 DF01 movw r26,r30 |
||
349 | 358 02a4 A050 subi r26,lo8(-(PPM_in)) |
||
350 | 359 02a6 B040 sbci r27,hi8(-(PPM_in)) |
||
351 | 360 02a8 8D91 ld r24,X+ |
||
352 | 361 02aa 9C91 ld r25,X |
||
353 | 362 02ac D901 movw r26,r18 |
||
354 | 363 02ae 8D93 st X+,r24 |
||
355 | 364 02b0 9C93 st X,r25 |
||
356 | 365 02b2 DF01 movw r26,r30 |
||
357 | 366 02b4 A050 subi r26,lo8(-(PPM_diff)) |
||
358 | 367 02b6 B040 sbci r27,hi8(-(PPM_diff)) |
||
359 | 368 02b8 8D91 ld r24,X+ |
||
360 | 369 02ba 9C91 ld r25,X |
||
361 | 370 02bc E050 subi r30,lo8(-(old_ppm_diff.6)) |
||
362 | 371 02be F040 sbci r31,hi8(-(old_ppm_diff.6)) |
||
363 | 372 02c0 9183 std Z+1,r25 |
||
364 | 373 02c2 8083 st Z,r24 |
||
365 | 374 .L41: |
||
366 | 375 02c4 E42F mov r30,r20 |
||
367 | 376 02c6 FF27 clr r31 |
||
368 | 377 02c8 EE0F add r30,r30 |
||
369 | 378 02ca FF1F adc r31,r31 |
||
370 | 379 02cc 9F01 movw r18,r30 |
||
371 | 380 02ce 2050 subi r18,lo8(-(PPM_in)) |
||
372 | 381 02d0 3040 sbci r19,hi8(-(PPM_in)) |
||
373 | 382 02d2 DF01 movw r26,r30 |
||
374 | 383 02d4 A050 subi r26,lo8(-(ppm_in.3)) |
||
375 | 384 02d6 B040 sbci r27,hi8(-(ppm_in.3)) |
||
376 | 385 02d8 8D91 ld r24,X+ |
||
377 | 386 02da 9C91 ld r25,X |
||
378 | 387 02dc D901 movw r26,r18 |
||
379 | 388 02de 1196 adiw r26,1 |
||
380 | 389 02e0 9C93 st X,r25 |
||
381 | 390 02e2 8E93 st -X,r24 |
||
382 | 391 02e4 DF01 movw r26,r30 |
||
383 | 392 02e6 A050 subi r26,lo8(-(ppm_diff.4)) |
||
384 | 393 02e8 B040 sbci r27,hi8(-(ppm_diff.4)) |
||
385 | 394 02ea 8D91 ld r24,X+ |
||
386 | 395 02ec 9C91 ld r25,X |
||
387 | 396 02ee E050 subi r30,lo8(-(PPM_diff)) |
||
388 | 397 02f0 F040 sbci r31,hi8(-(PPM_diff)) |
||
389 | 398 02f2 9183 std Z+1,r25 |
||
390 | 399 02f4 8083 st Z,r24 |
||
391 | 400 02f6 842F mov r24,r20 |
||
392 | 401 02f8 8F5F subi r24,lo8(-(1)) |
||
393 | 402 02fa 482F mov r20,r24 |
||
394 | 403 02fc 8D30 cpi r24,lo8(13) |
||
395 | 404 02fe 00F0 brlo .L42 |
||
396 | 405 0300 8093 0000 sts index.7,r24 |
||
397 | 406 .L37: |
||
398 | 407 0304 8091 0000 lds r24,okay_cnt.8 |
||
399 | 408 0308 8F3F cpi r24,lo8(-1) |
||
400 | 409 030a 01F0 breq .L44 |
||
401 | 410 030c 8F5F subi r24,lo8(-(1)) |
||
402 | 411 030e 8093 0000 sts okay_cnt.8,r24 |
||
403 | 412 0312 00C0 rjmp .L44 |
||
404 | 413 .L36: |
||
405 | 414 0314 8091 0000 lds r24,okay_cnt.8 |
||
406 | 415 0318 8536 cpi r24,lo8(101) |
||
407 | 416 031a 00F0 brlo .L45 |
||
408 | 417 031c 8AE0 ldi r24,lo8(10) |
||
409 | 418 031e 8093 0000 sts okay_cnt.8,r24 |
||
410 | 419 0322 00C0 rjmp .L46 |
||
411 | 420 .L45: |
||
412 | 421 0324 1092 0000 sts okay_cnt.8,__zero_reg__ |
||
413 | 422 .L46: |
||
414 | 423 0328 8091 0000 lds r24,PlatinenVersion |
||
415 | 424 032c 8A30 cpi r24,lo8(10) |
||
416 | 425 032e 01F0 breq .L48 |
||
417 | 426 0330 8431 cpi r24,lo8(20) |
||
418 | 427 0332 00F0 brlo .L47 |
||
419 | 428 .L48: |
||
420 | 429 0334 289A sbi 37-0x20,0 |
||
421 | 430 0336 00C0 rjmp .L44 |
||
422 | 431 .L47: |
||
423 | 432 0338 2898 cbi 37-0x20,0 |
||
424 | 433 .L44: |
||
425 | 434 033a 81E0 ldi r24,lo8(1) |
||
426 | 435 033c 8093 0000 sts index.7,r24 |
||
427 | 436 0340 8091 0000 lds r24,MotorenEin |
||
428 | 437 0344 8823 tst r24 |
||
429 | 438 0346 01F0 breq .+2 |
||
430 | 439 0348 00C0 rjmp .L10 |
||
431 | 440 034a 8091 0000 lds r24,tmpChannels |
||
432 | 441 034e 8093 0000 sts Channels,r24 |
||
433 | 442 0352 00C0 rjmp .L10 |
||
434 | 443 .L35: |
||
435 | 444 0354 6D30 cpi r22,lo8(13) |
||
436 | 445 0356 00F0 brlo .+2 |
||
437 | 446 0358 00C0 rjmp .L52 |
||
438 | 447 035a CA01 movw r24,r20 |
||
439 | 448 035c 8B5F subi r24,lo8(-(-251)) |
||
440 | 449 035e 9040 sbci r25,hi8(-(-251)) |
||
441 | 450 0360 845B subi r24,lo8(436) |
||
442 | 451 0362 9140 sbci r25,hi8(436) |
||
443 | 452 0364 00F0 brlo .+2 |
||
444 | 453 0366 00C0 rjmp .L53 |
||
445 | 454 0368 8091 0000 lds r24,PPM_Neutral |
||
446 | 455 036c 9091 0000 lds r25,(PPM_Neutral)+1 |
||
447 | 456 0370 481B sub r20,r24 |
||
448 | 457 0372 590B sbc r21,r25 |
||
449 | 458 0374 E62F mov r30,r22 |
||
450 | 459 0376 FF27 clr r31 |
||
451 | 460 0378 EE0F add r30,r30 |
||
452 | 461 037a FF1F adc r31,r31 |
||
453 | 462 037c E050 subi r30,lo8(-(ppm_in.3)) |
||
454 | 463 037e F040 sbci r31,hi8(-(ppm_in.3)) |
||
455 | 464 0380 8081 ld r24,Z |
||
456 | 465 0382 9181 ldd r25,Z+1 |
||
457 | 466 0384 FA01 movw r30,r20 |
||
458 | 467 0386 E81B sub r30,r24 |
||
459 | 468 0388 F90B sbc r31,r25 |
||
460 | 469 038a CF01 movw r24,r30 |
||
461 | 470 038c 0596 adiw r24,5 |
||
462 | 471 038e 0B97 sbiw r24,11 |
||
463 | 472 0390 00F4 brsh .L54 |
||
464 | 473 0392 8091 0000 lds r24,okay_cnt.8 |
||
465 | 474 0396 8A31 cpi r24,lo8(26) |
||
466 | 475 0398 00F0 brlo .L55 |
||
467 | 476 039a 8091 0000 lds r24,SenderOkay |
||
468 | 477 039e 865F subi r24,lo8(-(10)) |
||
469 | 478 03a0 00C0 rjmp .L90 |
||
470 | 479 .L55: |
||
471 | 480 03a2 8B30 cpi r24,lo8(11) |
||
472 | 481 03a4 00F0 brlo .L56 |
||
473 | 482 03a6 8091 0000 lds r24,SenderOkay |
||
474 | 483 03aa 8E5F subi r24,lo8(-(2)) |
||
475 | 484 .L90: |
||
476 | 485 03ac 8093 0000 sts SenderOkay,r24 |
||
477 | 486 .L56: |
||
478 | 487 03b0 8091 0000 lds r24,SenderOkay |
||
479 | 488 03b4 893C cpi r24,lo8(-55) |
||
480 | 489 03b6 00F0 brlo .L54 |
||
481 | 490 03b8 88EC ldi r24,lo8(-56) |
||
482 | 491 03ba 8093 0000 sts SenderOkay,r24 |
||
483 | 492 .L54: |
||
484 | 493 03be E62F mov r30,r22 |
||
485 | 494 03c0 FF27 clr r31 |
||
486 | 495 03c2 EE0F add r30,r30 |
||
487 | 496 03c4 FF1F adc r31,r31 |
||
488 | 497 03c6 E050 subi r30,lo8(-(ppm_in.3)) |
||
489 | 498 03c8 F040 sbci r31,hi8(-(ppm_in.3)) |
||
490 | 499 03ca 8081 ld r24,Z |
||
491 | 500 03cc 9181 ldd r25,Z+1 |
||
492 | 501 03ce 9C01 movw r18,r24 |
||
493 | 502 03d0 220F lsl r18 |
||
494 | 503 03d2 331F rol r19 |
||
495 | 504 03d4 280F add r18,r24 |
||
496 | 505 03d6 391F adc r19,r25 |
||
497 | 506 03d8 240F add r18,r20 |
||
498 | 507 03da 351F adc r19,r21 |
||
499 | 508 03dc 37FF sbrs r19,7 |
||
500 | 509 03de 00C0 rjmp .L59 |
||
501 | 510 03e0 2D5F subi r18,lo8(-(3)) |
||
502 | 511 03e2 3F4F sbci r19,hi8(-(3)) |
||
503 | 512 .L59: |
||
504 | 513 03e4 E901 movw r28,r18 |
||
505 | 514 03e6 D595 asr r29 |
||
506 | 515 03e8 C795 ror r28 |
||
507 | 516 03ea D595 asr r29 |
||
508 | 517 03ec C795 ror r28 |
||
509 | 518 03ee CA01 movw r24,r20 |
||
510 | 519 03f0 0196 adiw r24,1 |
||
511 | 520 03f2 8C17 cp r24,r28 |
||
512 | 521 03f4 9D07 cpc r25,r29 |
||
513 | 522 03f6 04F4 brge .L60 |
||
514 | 523 03f8 2197 sbiw r28,1 |
||
515 | 524 03fa 00C0 rjmp .L61 |
||
516 | 525 .L60: |
||
517 | 526 03fc 4150 subi r20,lo8(-(-1)) |
||
518 | 527 03fe 5040 sbci r21,hi8(-(-1)) |
||
519 | 528 0400 C417 cp r28,r20 |
||
520 | 529 0402 D507 cpc r29,r21 |
||
521 | 530 0404 04F4 brge .L61 |
||
522 | 531 0406 2196 adiw r28,1 |
||
523 | 532 .L61: |
||
524 | 533 0408 8091 0000 lds r24,SenderOkay |
||
525 | 534 040c 8E3B cpi r24,lo8(-66) |
||
526 | 535 040e 00F0 brlo .L63 |
||
527 | 536 0410 E62F mov r30,r22 |
||
528 | 537 0412 FF27 clr r31 |
||
529 | 538 0414 EE0F add r30,r30 |
||
530 | 539 0416 FF1F adc r31,r31 |
||
531 | 540 0418 DF01 movw r26,r30 |
||
532 | 541 041a A050 subi r26,lo8(-(ppm_in.3)) |
||
533 | 542 041c B040 sbci r27,hi8(-(ppm_in.3)) |
||
534 | 543 041e 8D91 ld r24,X+ |
||
535 | 544 0420 9C91 ld r25,X |
||
536 | 545 0422 9E01 movw r18,r28 |
||
537 | 546 0424 281B sub r18,r24 |
||
538 | 547 0426 390B sbc r19,r25 |
||
539 | 548 0428 C901 movw r24,r18 |
||
540 | 549 042a 63E0 ldi r22,lo8(3) |
||
541 | 550 042c 70E0 ldi r23,hi8(3) |
||
542 | 551 042e 0E94 0000 call __divmodhi4 |
||
543 | 552 0432 CB01 movw r24,r22 |
||
544 | 553 0434 880F lsl r24 |
||
545 | 554 0436 991F rol r25 |
||
546 | 555 0438 860F add r24,r22 |
||
547 | 556 043a 971F adc r25,r23 |
||
548 | 557 043c E050 subi r30,lo8(-(ppm_diff.4)) |
||
549 | 558 043e F040 sbci r31,hi8(-(ppm_diff.4)) |
||
550 | 559 0440 9183 std Z+1,r25 |
||
551 | 560 0442 8083 st Z,r24 |
||
552 | 561 0444 00C0 rjmp .L64 |
||
553 | 562 .L63: |
||
554 | 563 0446 E62F mov r30,r22 |
||
555 | 564 0448 FF27 clr r31 |
||
556 | 565 044a EE0F add r30,r30 |
||
557 | 566 044c FF1F adc r31,r31 |
||
558 | 567 044e E050 subi r30,lo8(-(ppm_diff.4)) |
||
559 | 568 0450 F040 sbci r31,hi8(-(ppm_diff.4)) |
||
560 | 569 0452 1182 std Z+1,__zero_reg__ |
||
561 | 570 0454 1082 st Z,__zero_reg__ |
||
562 | 571 .L64: |
||
563 | 572 0456 8091 0000 lds r24,index.7 |
||
564 | 573 045a E82F mov r30,r24 |
||
565 | 574 045c FF27 clr r31 |
||
566 | 575 045e EE0F add r30,r30 |
||
567 | 576 0460 FF1F adc r31,r31 |
||
568 | 577 0462 E050 subi r30,lo8(-(ppm_in.3)) |
||
569 | 578 0464 F040 sbci r31,hi8(-(ppm_in.3)) |
||
570 | 579 0466 D183 std Z+1,r29 |
||
571 | 580 0468 C083 st Z,r28 |
||
572 | 581 046a 00C0 rjmp .L65 |
||
573 | 582 .L53: |
||
574 | 583 046c 8091 0000 lds r24,PlatinenVersion |
||
575 | 584 0470 8A30 cpi r24,lo8(10) |
||
576 | 585 0472 01F0 breq .L67 |
||
577 | 586 0474 8431 cpi r24,lo8(20) |
||
578 | 587 0476 00F0 brlo .L66 |
||
579 | 588 .L67: |
||
580 | 589 0478 289A sbi 37-0x20,0 |
||
581 | 590 047a 00C0 rjmp .L65 |
||
582 | 591 .L66: |
||
583 | 592 047c 2898 cbi 37-0x20,0 |
||
584 | 593 .L65: |
||
585 | 594 047e 8091 0000 lds r24,PlatinenVersion |
||
586 | 595 0482 8431 cpi r24,lo8(20) |
||
587 | 596 0484 00F4 brsh .L52 |
||
588 | 597 0486 8091 0000 lds r24,index.7 |
||
589 | 598 048a 8530 cpi r24,lo8(5) |
||
590 | 599 048c 01F4 brne .L70 |
||
591 | 600 048e 5D9A sbi 43-0x20,5 |
||
592 | 601 0490 00C0 rjmp .L72 |
||
593 | 602 .L70: |
||
594 | 603 0492 5D98 cbi 43-0x20,5 |
||
595 | 604 0494 8630 cpi r24,lo8(6) |
||
596 | 605 0496 01F4 brne .L72 |
||
597 | 606 0498 5C9A sbi 43-0x20,4 |
||
598 | 607 049a 00C0 rjmp .L74 |
||
599 | 608 .L72: |
||
600 | 609 049c 5C98 cbi 43-0x20,4 |
||
601 | 610 049e 8730 cpi r24,lo8(7) |
||
602 | 611 04a0 01F4 brne .L74 |
||
603 | 612 04a2 5B9A sbi 43-0x20,3 |
||
604 | 613 04a4 00C0 rjmp .L52 |
||
605 | 614 .L74: |
||
606 | 615 04a6 5B98 cbi 43-0x20,3 |
||
607 | 616 .L52: |
||
608 | 617 04a8 8091 0000 lds r24,index.7 |
||
609 | 618 04ac 8431 cpi r24,lo8(20) |
||
610 | 619 04ae 00F4 brsh .L76 |
||
611 | 620 04b0 8F5F subi r24,lo8(-(1)) |
||
612 | 621 04b2 8093 0000 sts index.7,r24 |
||
613 | 622 04b6 00C0 rjmp .L10 |
||
614 | 623 .L76: |
||
615 | 624 04b8 8431 cpi r24,lo8(20) |
||
616 | 625 04ba 01F4 brne .L10 |
||
617 | 626 04bc 8091 0000 lds r24,PlatinenVersion |
||
618 | 627 04c0 8A30 cpi r24,lo8(10) |
||
619 | 628 04c2 01F0 breq .L80 |
||
620 | 629 04c4 8431 cpi r24,lo8(20) |
||
621 | 630 04c6 00F0 brlo .L79 |
||
622 | 631 .L80: |
||
623 | 632 04c8 289A sbi 37-0x20,0 |
||
624 | 633 04ca 00C0 rjmp .L81 |
||
625 | 634 .L79: |
||
626 | 635 04cc 2898 cbi 37-0x20,0 |
||
627 | 636 .L81: |
||
628 | 637 04ce 8EE1 ldi r24,lo8(30) |
||
629 | 638 04d0 8093 0000 sts index.7,r24 |
||
630 | 639 04d4 2CE0 ldi r18,lo8(12) |
||
631 | 640 04d6 C0E0 ldi r28,lo8(PPM_diff) |
||
632 | 641 04d8 D0E0 ldi r29,hi8(PPM_diff) |
||
633 | 642 04da A0E0 ldi r26,lo8(old_ppm_in.5) |
||
634 | 643 04dc B0E0 ldi r27,hi8(old_ppm_in.5) |
||
635 | 644 04de E0E0 ldi r30,lo8(PPM_in) |
||
636 | 645 04e0 F0E0 ldi r31,hi8(PPM_in) |
||
637 | 646 .L85: |
||
638 | 647 04e2 8D91 ld r24,X+ |
||
639 | 648 04e4 9D91 ld r25,X+ |
||
640 | 649 04e6 9183 std Z+1,r25 |
||
641 | 650 04e8 8083 st Z,r24 |
||
642 | 651 04ea 3296 adiw r30,2 |
||
643 | 652 04ec 1982 std Y+1,__zero_reg__ |
||
644 | 653 04ee 1882 st Y,__zero_reg__ |
||
645 | 654 04f0 2296 adiw r28,2 |
||
646 | 655 04f2 2150 subi r18,lo8(-(-1)) |
||
647 | 656 04f4 27FF sbrs r18,7 |
||
648 | 657 04f6 00C0 rjmp .L85 |
||
649 | 658 .L10: |
||
650 | 659 /* epilogue: frame size=0 */ |
||
651 | 660 04f8 FF91 pop r31 |
||
652 | 661 04fa EF91 pop r30 |
||
653 | 662 04fc DF91 pop r29 |
||
654 | 663 04fe CF91 pop r28 |
||
655 | 664 0500 BF91 pop r27 |
||
656 | 665 0502 AF91 pop r26 |
||
657 | 666 0504 9F91 pop r25 |
||
658 | 667 0506 8F91 pop r24 |
||
659 | 668 0508 7F91 pop r23 |
||
660 | 669 050a 6F91 pop r22 |
||
661 | 670 050c 5F91 pop r21 |
||
662 | 671 050e 4F91 pop r20 |
||
663 | 672 0510 3F91 pop r19 |
||
664 | 673 0512 2F91 pop r18 |
||
665 | 674 0514 1F91 pop r17 |
||
666 | 675 0516 0F91 pop r16 |
||
667 | 676 0518 0F90 pop __tmp_reg__ |
||
668 | 677 051a 0FBE out __SREG__,__tmp_reg__ |
||
669 | 678 051c 0F90 pop __tmp_reg__ |
||
670 | 679 051e 1F90 pop __zero_reg__ |
||
671 | 680 0520 1895 reti |
||
672 | 681 /* epilogue end (size=21) */ |
||
673 | 682 /* function __vector_12 size 623 (581) */ |
||
674 | 684 .comm PPM_in,52,1 |
||
675 | 685 .comm PPM_diff,52,1 |
||
676 | 686 .comm Channels,1,1 |
||
677 | 687 .comm Motorsmax,8,1 |
||
678 | 688 .comm MotorsTmax,2,1 |
||
679 | 689 /* File "rc.c": code 664 = 0x0298 ( 617), prologues 23, epilogues 24 */ |
||
680 | DEFINED SYMBOLS |
||
681 | *ABS*:00000000 rc.c |
||
682 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:3 *ABS*:0000003f __SREG__ |
||
683 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:4 *ABS*:0000003e __SP_H__ |
||
684 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:5 *ABS*:0000003d __SP_L__ |
||
685 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:6 *ABS*:00000000 __tmp_reg__ |
||
686 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:7 *ABS*:00000001 __zero_reg__ |
||
687 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:14 .data:00000000 PPM_Neutral |
||
688 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:19 .data:00000002 NewPpmData |
||
689 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:26 .bss:00000000 tmpChannels |
||
690 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:31 .text:00000000 rc_sum_init |
||
691 | *COM*:00000034 PPM_diff |
||
692 | *COM*:00000034 PPM_in |
||
693 | .bss:00000001 AltICR.0 |
||
694 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:76 .bss:00000003 index.1 |
||
695 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:77 .bss:00000005 AltICR.2 |
||
696 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:78 .bss:00000007 ppm_in.3 |
||
697 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:79 .bss:00000021 ppm_diff.4 |
||
698 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:80 .bss:0000003b old_ppm_in.5 |
||
699 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:81 .bss:00000055 old_ppm_diff.6 |
||
700 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:82 .bss:0000006f index.7 |
||
701 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:83 .bss:00000070 okay_cnt.8 |
||
702 | C:\Users\Thomas\AppData\Local\Temp/cce8EC9I.s:87 .text:00000052 __vector_12 |
||
703 | *COM*:00000001 Channels |
||
704 | *COM*:00000008 Motorsmax |
||
705 | *COM*:00000002 MotorsTmax |
||
706 | |||
707 | UNDEFINED SYMBOLS |
||
708 | __do_copy_data |
||
709 | __do_clear_bss |
||
710 | AdNeutralGier |
||
711 | AdNeutralRoll |
||
712 | AdNeutralNick |
||
713 | EE_Parameter |
||
714 | SenderOkay |
||
715 | __divmodhi4 |
||
716 | PlatinenVersion |
||
717 | MotorenEin |