Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1379 | Arthur | 1 | 1 .file "rc.c" |
2 | 2 __SREG__ = 0x3f |
||
3 | 3 __SP_H__ = 0x3e |
||
4 | 4 __SP_L__ = 0x3d |
||
5 | 5 __CCP__ = 0x34 |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .text |
||
9 | 9 .global rc_sum_init |
||
10 | 11 rc_sum_init: |
||
11 | 12 /* prologue: function */ |
||
12 | 13 /* frame size = 0 */ |
||
13 | 14 0000 83EC ldi r24,lo8(-61) |
||
14 | 15 0002 8093 8100 sts 129,r24 |
||
15 | 16 0006 EFE6 ldi r30,lo8(111) |
||
16 | 17 0008 F0E0 ldi r31,hi8(111) |
||
17 | 18 000a 8081 ld r24,Z |
||
18 | 19 000c 8062 ori r24,lo8(32) |
||
19 | 20 000e 8083 st Z,r24 |
||
20 | 21 0010 1092 0000 sts (AdNeutralGier)+1,__zero_reg__ |
||
21 | 22 0014 1092 0000 sts AdNeutralGier,__zero_reg__ |
||
22 | 23 0018 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__ |
||
23 | 24 001c 1092 0000 sts AdNeutralRoll,__zero_reg__ |
||
24 | 25 0020 1092 0000 sts (AdNeutralNick)+1,__zero_reg__ |
||
25 | 26 0024 1092 0000 sts AdNeutralNick,__zero_reg__ |
||
26 | 27 /* epilogue start */ |
||
27 | 28 0028 0895 ret |
||
28 | 30 .global __vector_12 |
||
29 | 32 __vector_12: |
||
30 | 33 002a 1F92 push __zero_reg__ |
||
31 | 34 002c 0F92 push r0 |
||
32 | 35 002e 0FB6 in r0,__SREG__ |
||
33 | 36 0030 0F92 push r0 |
||
34 | 37 0032 1124 clr __zero_reg__ |
||
35 | 38 0034 0F93 push r16 |
||
36 | 39 0036 1F93 push r17 |
||
37 | 40 0038 2F93 push r18 |
||
38 | 41 003a 3F93 push r19 |
||
39 | 42 003c 4F93 push r20 |
||
40 | 43 003e 5F93 push r21 |
||
41 | 44 0040 6F93 push r22 |
||
42 | 45 0042 7F93 push r23 |
||
43 | 46 0044 8F93 push r24 |
||
44 | 47 0046 9F93 push r25 |
||
45 | 48 0048 AF93 push r26 |
||
46 | 49 004a BF93 push r27 |
||
47 | 50 004c CF93 push r28 |
||
48 | 51 004e DF93 push r29 |
||
49 | 52 0050 EF93 push r30 |
||
50 | 53 0052 FF93 push r31 |
||
51 | 54 /* prologue: Signal */ |
||
52 | 55 /* frame size = 0 */ |
||
53 | 56 0054 8091 0000 lds r24,EE_Parameter+88 |
||
54 | 57 0058 82FD sbrc r24,2 |
||
55 | 58 005a 00C0 rjmp .L4 |
||
56 | 59 005c 2091 8600 lds r18,134 |
||
57 | 60 0060 3091 8700 lds r19,(134)+1 |
||
58 | 61 0064 8091 0000 lds r24,AltICR.2140 |
||
59 | 62 0068 9091 0000 lds r25,(AltICR.2140)+1 |
||
60 | 63 006c 281B sub r18,r24 |
||
61 | 64 006e 390B sbc r19,r25 |
||
62 | 65 0070 8091 8600 lds r24,134 |
||
63 | 66 0074 9091 8700 lds r25,(134)+1 |
||
64 | 67 0078 9093 0000 sts (AltICR.2140)+1,r25 |
||
65 | 68 007c 8093 0000 sts AltICR.2140,r24 |
||
66 | 69 0080 C901 movw r24,r18 |
||
67 | 70 0082 8D54 subi r24,lo8(-(-1101)) |
||
68 | 71 0084 9440 sbci r25,hi8(-(-1101)) |
||
69 | 72 0086 835F subi r24,lo8(6899) |
||
70 | 73 0088 9A41 sbci r25,hi8(6899) |
||
71 | 74 008a 00F0 brlo .+2 |
||
72 | 75 008c 00C0 rjmp .L5 |
||
73 | 76 008e 8091 0000 lds r24,index.2143 |
||
74 | 77 0092 9091 0000 lds r25,(index.2143)+1 |
||
75 | 78 0096 8093 0000 sts Channels,r24 |
||
76 | 79 009a 0497 sbiw r24,4 |
||
77 | 80 009c 04F0 brlt .L6 |
||
78 | 81 009e 1092 0000 sts NewPpmData,__zero_reg__ |
||
79 | 82 .L6: |
||
80 | 83 00a2 81E0 ldi r24,lo8(1) |
||
81 | 84 00a4 90E0 ldi r25,hi8(1) |
||
82 | 85 00a6 9093 0000 sts (index.2143)+1,r25 |
||
83 | 86 00aa 8093 0000 sts index.2143,r24 |
||
84 | 87 .L53: |
||
85 | 88 /* epilogue start */ |
||
86 | 89 00ae FF91 pop r31 |
||
87 | 90 00b0 EF91 pop r30 |
||
88 | 91 00b2 DF91 pop r29 |
||
89 | 92 00b4 CF91 pop r28 |
||
90 | 93 00b6 BF91 pop r27 |
||
91 | 94 00b8 AF91 pop r26 |
||
92 | 95 00ba 9F91 pop r25 |
||
93 | 96 00bc 8F91 pop r24 |
||
94 | 97 00be 7F91 pop r23 |
||
95 | 98 00c0 6F91 pop r22 |
||
96 | 99 00c2 5F91 pop r21 |
||
97 | 100 00c4 4F91 pop r20 |
||
98 | 101 00c6 3F91 pop r19 |
||
99 | 102 00c8 2F91 pop r18 |
||
100 | 103 00ca 1F91 pop r17 |
||
101 | 104 00cc 0F91 pop r16 |
||
102 | 105 00ce 0F90 pop r0 |
||
103 | 106 00d0 0FBE out __SREG__,r0 |
||
104 | 107 00d2 0F90 pop r0 |
||
105 | 108 00d4 1F90 pop __zero_reg__ |
||
106 | 109 00d6 1895 reti |
||
107 | 110 .L4: |
||
108 | 111 00d8 2091 8600 lds r18,134 |
||
109 | 112 00dc 3091 8700 lds r19,(134)+1 |
||
110 | 113 00e0 8091 0000 lds r24,AltICR.2144 |
||
111 | 114 00e4 9091 0000 lds r25,(AltICR.2144)+1 |
||
112 | 115 00e8 281B sub r18,r24 |
||
113 | 116 00ea 390B sbc r19,r25 |
||
114 | 117 00ec 8091 8600 lds r24,134 |
||
115 | 118 00f0 9091 8700 lds r25,(134)+1 |
||
116 | 119 00f4 9093 0000 sts (AltICR.2144)+1,r25 |
||
117 | 120 00f8 8093 0000 sts AltICR.2144,r24 |
||
118 | 121 00fc C901 movw r24,r18 |
||
119 | 122 00fe 8D54 subi r24,lo8(-(-1101)) |
||
120 | 123 0100 9440 sbci r25,hi8(-(-1101)) |
||
121 | 124 0102 835F subi r24,lo8(6899) |
||
122 | 125 0104 9A41 sbci r25,hi8(6899) |
||
123 | 126 0106 00F4 brsh .L20 |
||
124 | 127 0108 8091 0000 lds r24,index.2151 |
||
125 | 128 010c 8093 0000 sts tmpChannels,r24 |
||
126 | 129 0110 8091 0000 lds r24,tmpChannels |
||
127 | 130 0114 8430 cpi r24,lo8(4) |
||
128 | 131 0116 00F0 brlo .+2 |
||
129 | 132 0118 00C0 rjmp .L57 |
||
130 | 133 .L21: |
||
131 | 134 011a 8091 0000 lds r24,okay_cnt.2152 |
||
132 | 135 011e 8536 cpi r24,lo8(101) |
||
133 | 136 0120 00F0 brlo .+2 |
||
134 | 137 0122 00C0 rjmp .L58 |
||
135 | 138 0124 1092 0000 sts okay_cnt.2152,__zero_reg__ |
||
136 | 139 .L28: |
||
137 | 140 0128 8091 0000 lds r24,PlatinenVersion |
||
138 | 141 012c 8A30 cpi r24,lo8(10) |
||
139 | 142 012e 01F4 brne .+2 |
||
140 | 143 0130 00C0 rjmp .L29 |
||
141 | 144 0132 8431 cpi r24,lo8(20) |
||
142 | 145 0134 01F4 brne .+2 |
||
143 | 146 0136 00C0 rjmp .L29 |
||
144 | 147 0138 2898 cbi 37-32,0 |
||
145 | 148 .L26: |
||
146 | 149 013a 81E0 ldi r24,lo8(1) |
||
147 | 150 013c 8093 0000 sts index.2151,r24 |
||
148 | 151 0140 8091 0000 lds r24,MotorenEin |
||
149 | 152 0144 8823 tst r24 |
||
150 | 153 0146 01F0 breq .+2 |
||
151 | 154 0148 00C0 rjmp .L53 |
||
152 | 155 014a 8091 0000 lds r24,tmpChannels |
||
153 | 156 014e 8093 0000 sts Channels,r24 |
||
154 | 157 0152 00C0 rjmp .L53 |
||
155 | 158 .L20: |
||
156 | 159 0154 4091 0000 lds r20,index.2151 |
||
157 | 160 0158 4A30 cpi r20,lo8(10) |
||
158 | 161 015a 00F0 brlo .+2 |
||
159 | 162 015c 00C0 rjmp .L31 |
||
160 | 163 015e C901 movw r24,r18 |
||
161 | 164 0160 8B5F subi r24,lo8(-(-251)) |
||
162 | 165 0162 9040 sbci r25,hi8(-(-251)) |
||
163 | 166 0164 845B subi r24,lo8(436) |
||
164 | 167 0166 9140 sbci r25,hi8(436) |
||
165 | 168 0168 00F0 brlo .+2 |
||
166 | 169 016a 00C0 rjmp .L32 |
||
167 | 170 016c B901 movw r22,r18 |
||
168 | 171 016e 625D subi r22,lo8(-(-466)) |
||
169 | 172 0170 7140 sbci r23,hi8(-(-466)) |
||
170 | 173 0172 C42F mov r28,r20 |
||
171 | 174 0174 D0E0 ldi r29,lo8(0) |
||
172 | 175 0176 CC0F lsl r28 |
||
173 | 176 0178 DD1F rol r29 |
||
174 | 177 017a FE01 movw r30,r28 |
||
175 | 178 017c E050 subi r30,lo8(-(ppm_in.2145)) |
||
176 | 179 017e F040 sbci r31,hi8(-(ppm_in.2145)) |
||
177 | 180 0180 A081 ld r26,Z |
||
178 | 181 0182 B181 ldd r27,Z+1 |
||
179 | 182 0184 CB01 movw r24,r22 |
||
180 | 183 0186 8A1B sub r24,r26 |
||
181 | 184 0188 9B0B sbc r25,r27 |
||
182 | 185 018a 0596 adiw r24,5 |
||
183 | 186 018c 0B97 sbiw r24,11 |
||
184 | 187 018e 00F4 brsh .L33 |
||
185 | 188 0190 8091 0000 lds r24,okay_cnt.2152 |
||
186 | 189 0194 8A31 cpi r24,lo8(26) |
||
187 | 190 0196 00F4 brsh .+2 |
||
188 | 191 0198 00C0 rjmp .L34 |
||
189 | 192 019a 8091 0000 lds r24,SenderOkay |
||
190 | 193 019e 865F subi r24,lo8(-(10)) |
||
191 | 194 01a0 8093 0000 sts SenderOkay,r24 |
||
192 | 195 .L35: |
||
193 | 196 01a4 8091 0000 lds r24,SenderOkay |
||
194 | 197 01a8 893C cpi r24,lo8(-55) |
||
195 | 198 01aa 00F0 brlo .L33 |
||
196 | 199 01ac 88EC ldi r24,lo8(-56) |
||
197 | 200 01ae 8093 0000 sts SenderOkay,r24 |
||
198 | 201 .L33: |
||
199 | 202 01b2 CD01 movw r24,r26 |
||
200 | 203 01b4 880F lsl r24 |
||
201 | 204 01b6 991F rol r25 |
||
202 | 205 01b8 8A0F add r24,r26 |
||
203 | 206 01ba 9B1F adc r25,r27 |
||
204 | 207 01bc 860F add r24,r22 |
||
205 | 208 01be 971F adc r25,r23 |
||
206 | 209 01c0 97FD sbrc r25,7 |
||
207 | 210 01c2 00C0 rjmp .L59 |
||
208 | 211 .L36: |
||
209 | 212 01c4 9C01 movw r18,r24 |
||
210 | 213 01c6 3595 asr r19 |
||
211 | 214 01c8 2795 ror r18 |
||
212 | 215 01ca 3595 asr r19 |
||
213 | 216 01cc 2795 ror r18 |
||
214 | 217 01ce CB01 movw r24,r22 |
||
215 | 218 01d0 0196 adiw r24,1 |
||
216 | 219 01d2 8217 cp r24,r18 |
||
217 | 220 01d4 9307 cpc r25,r19 |
||
218 | 221 01d6 04F4 brge .+2 |
||
219 | 222 01d8 00C0 rjmp .L60 |
||
220 | 223 01da 6150 subi r22,lo8(-(-1)) |
||
221 | 224 01dc 7040 sbci r23,hi8(-(-1)) |
||
222 | 225 01de 2617 cp r18,r22 |
||
223 | 226 01e0 3707 cpc r19,r23 |
||
224 | 227 01e2 04F4 brge .L38 |
||
225 | 228 01e4 2F5F subi r18,lo8(-(1)) |
||
226 | 229 01e6 3F4F sbci r19,hi8(-(1)) |
||
227 | 230 .L38: |
||
228 | 231 01e8 8091 0000 lds r24,SenderOkay |
||
229 | 232 01ec 8E3B cpi r24,lo8(-66) |
||
230 | 233 01ee 00F4 brsh .+2 |
||
231 | 234 01f0 00C0 rjmp .L39 |
||
232 | 235 01f2 FE01 movw r30,r28 |
||
233 | 236 01f4 E050 subi r30,lo8(-(ppm_diff.2146)) |
||
234 | 237 01f6 F040 sbci r31,hi8(-(ppm_diff.2146)) |
||
235 | 238 01f8 C901 movw r24,r18 |
||
236 | 239 01fa 8A1B sub r24,r26 |
||
237 | 240 01fc 9B0B sbc r25,r27 |
||
238 | 241 01fe 63E0 ldi r22,lo8(3) |
||
239 | 242 0200 70E0 ldi r23,hi8(3) |
||
240 | 243 0202 0E94 0000 call __divmodhi4 |
||
241 | 244 0206 CB01 movw r24,r22 |
||
242 | 245 0208 880F lsl r24 |
||
243 | 246 020a 991F rol r25 |
||
244 | 247 020c 860F add r24,r22 |
||
245 | 248 020e 971F adc r25,r23 |
||
246 | 249 0210 9183 std Z+1,r25 |
||
247 | 250 0212 8083 st Z,r24 |
||
248 | 251 .L40: |
||
249 | 252 0214 C050 subi r28,lo8(-(ppm_in.2145)) |
||
250 | 253 0216 D040 sbci r29,hi8(-(ppm_in.2145)) |
||
251 | 254 0218 3983 std Y+1,r19 |
||
252 | 255 021a 2883 st Y,r18 |
||
253 | 256 021c 00C0 rjmp .L41 |
||
254 | 257 .L5: |
||
255 | 258 021e 0091 0000 lds r16,index.2143 |
||
256 | 259 0222 1091 0000 lds r17,(index.2143)+1 |
||
257 | 260 0226 0A30 cpi r16,10 |
||
258 | 261 0228 1105 cpc r17,__zero_reg__ |
||
259 | 262 022a 04F0 brlt .+2 |
||
260 | 263 022c 00C0 rjmp .L53 |
||
261 | 264 022e C901 movw r24,r18 |
||
262 | 265 0230 8B5F subi r24,lo8(-(-251)) |
||
263 | 266 0232 9040 sbci r25,hi8(-(-251)) |
||
264 | 267 0234 845B subi r24,lo8(436) |
||
265 | 268 0236 9140 sbci r25,hi8(436) |
||
266 | 269 0238 00F0 brlo .+2 |
||
267 | 270 023a 00C0 rjmp .L8 |
||
268 | 271 023c A901 movw r20,r18 |
||
269 | 272 023e 425D subi r20,lo8(-(-466)) |
||
270 | 273 0240 5140 sbci r21,hi8(-(-466)) |
||
271 | 274 0242 E801 movw r28,r16 |
||
272 | 275 0244 CC0F lsl r28 |
||
273 | 276 0246 DD1F rol r29 |
||
274 | 277 0248 FE01 movw r30,r28 |
||
275 | 278 024a E050 subi r30,lo8(-(PPM_in)) |
||
276 | 279 024c F040 sbci r31,hi8(-(PPM_in)) |
||
277 | 280 024e 8081 ld r24,Z |
||
278 | 281 0250 9181 ldd r25,Z+1 |
||
279 | 282 0252 FA01 movw r30,r20 |
||
280 | 283 0254 E81B sub r30,r24 |
||
281 | 284 0256 F90B sbc r31,r25 |
||
282 | 285 0258 CF01 movw r24,r30 |
||
283 | 286 025a F7FD sbrc r31,7 |
||
284 | 287 025c 00C0 rjmp .L61 |
||
285 | 288 .L10: |
||
286 | 289 025e 0697 sbiw r24,6 |
||
287 | 290 0260 04F4 brge .L9 |
||
288 | 291 0262 8091 0000 lds r24,SenderOkay |
||
289 | 292 0266 883C cpi r24,lo8(-56) |
||
290 | 293 0268 00F0 brlo .+2 |
||
291 | 294 026a 00C0 rjmp .L11 |
||
292 | 295 026c 8091 0000 lds r24,SenderOkay |
||
293 | 296 0270 865F subi r24,lo8(-(10)) |
||
294 | 297 0272 8093 0000 sts SenderOkay,r24 |
||
295 | 298 .L9: |
||
296 | 299 0276 FE01 movw r30,r28 |
||
297 | 300 0278 E050 subi r30,lo8(-(PPM_in)) |
||
298 | 301 027a F040 sbci r31,hi8(-(PPM_in)) |
||
299 | 302 027c 8081 ld r24,Z |
||
300 | 303 027e 9181 ldd r25,Z+1 |
||
301 | 304 0280 9C01 movw r18,r24 |
||
302 | 305 0282 220F lsl r18 |
||
303 | 306 0284 331F rol r19 |
||
304 | 307 0286 280F add r18,r24 |
||
305 | 308 0288 391F adc r19,r25 |
||
306 | 309 028a 240F add r18,r20 |
||
307 | 310 028c 351F adc r19,r21 |
||
308 | 311 028e 37FD sbrc r19,7 |
||
309 | 312 0290 00C0 rjmp .L62 |
||
310 | 313 .L12: |
||
311 | 314 0292 3595 asr r19 |
||
312 | 315 0294 2795 ror r18 |
||
313 | 316 0296 3595 asr r19 |
||
314 | 317 0298 2795 ror r18 |
||
315 | 318 029a CA01 movw r24,r20 |
||
316 | 319 029c 0196 adiw r24,1 |
||
317 | 320 029e 8217 cp r24,r18 |
||
318 | 321 02a0 9307 cpc r25,r19 |
||
319 | 322 02a2 04F0 brlt .+2 |
||
320 | 323 02a4 00C0 rjmp .L13 |
||
321 | 324 02a6 2150 subi r18,lo8(-(-1)) |
||
322 | 325 02a8 3040 sbci r19,hi8(-(-1)) |
||
323 | 326 .L14: |
||
324 | 327 02aa 8091 0000 lds r24,SenderOkay |
||
325 | 328 02ae 833C cpi r24,lo8(-61) |
||
326 | 329 02b0 00F4 brsh .+2 |
||
327 | 330 02b2 00C0 rjmp .L15 |
||
328 | 331 02b4 FE01 movw r30,r28 |
||
329 | 332 02b6 E050 subi r30,lo8(-(PPM_in)) |
||
330 | 333 02b8 F040 sbci r31,hi8(-(PPM_in)) |
||
331 | 334 02ba 8081 ld r24,Z |
||
332 | 335 02bc 9181 ldd r25,Z+1 |
||
333 | 336 02be A901 movw r20,r18 |
||
334 | 337 02c0 481B sub r20,r24 |
||
335 | 338 02c2 590B sbc r21,r25 |
||
336 | 339 02c4 CA01 movw r24,r20 |
||
337 | 340 02c6 63E0 ldi r22,lo8(3) |
||
338 | 341 02c8 70E0 ldi r23,hi8(3) |
||
339 | 342 02ca 0E94 0000 call __divmodhi4 |
||
340 | 343 02ce CB01 movw r24,r22 |
||
341 | 344 02d0 880F lsl r24 |
||
342 | 345 02d2 991F rol r25 |
||
343 | 346 02d4 860F add r24,r22 |
||
344 | 347 02d6 971F adc r25,r23 |
||
345 | 348 02d8 FE01 movw r30,r28 |
||
346 | 349 02da E050 subi r30,lo8(-(PPM_diff)) |
||
347 | 350 02dc F040 sbci r31,hi8(-(PPM_diff)) |
||
348 | 351 02de 9183 std Z+1,r25 |
||
349 | 352 02e0 8083 st Z,r24 |
||
350 | 353 .L16: |
||
351 | 354 02e2 C050 subi r28,lo8(-(PPM_in)) |
||
352 | 355 02e4 D040 sbci r29,hi8(-(PPM_in)) |
||
353 | 356 02e6 3983 std Y+1,r19 |
||
354 | 357 02e8 2883 st Y,r18 |
||
355 | 358 .L8: |
||
356 | 359 02ea C801 movw r24,r16 |
||
357 | 360 02ec 0196 adiw r24,1 |
||
358 | 361 02ee 9093 0000 sts (index.2143)+1,r25 |
||
359 | 362 02f2 8093 0000 sts index.2143,r24 |
||
360 | 363 02f6 8530 cpi r24,5 |
||
361 | 364 02f8 9105 cpc r25,__zero_reg__ |
||
362 | 365 02fa 01F4 brne .+2 |
||
363 | 366 02fc 00C0 rjmp .L63 |
||
364 | 367 02fe 5D98 cbi 43-32,5 |
||
365 | 368 0300 8630 cpi r24,6 |
||
366 | 369 0302 9105 cpc r25,__zero_reg__ |
||
367 | 370 0304 01F4 brne .+2 |
||
368 | 371 0306 00C0 rjmp .L64 |
||
369 | 372 0308 5C98 cbi 43-32,4 |
||
370 | 373 030a 0797 sbiw r24,7 |
||
371 | 374 030c 01F0 breq .+2 |
||
372 | 375 030e 00C0 rjmp .L18 |
||
373 | 376 0310 5B9A sbi 43-32,3 |
||
374 | 377 0312 00C0 rjmp .L53 |
||
375 | 378 .L31: |
||
376 | 379 0314 4431 cpi r20,lo8(20) |
||
377 | 380 0316 00F4 brsh .+2 |
||
378 | 381 0318 00C0 rjmp .L47 |
||
379 | 382 031a 4431 cpi r20,lo8(20) |
||
380 | 383 031c 01F0 breq .+2 |
||
381 | 384 031e 00C0 rjmp .L53 |
||
382 | 385 0320 8091 0000 lds r24,PlatinenVersion |
||
383 | 386 0324 8A30 cpi r24,lo8(10) |
||
384 | 387 0326 01F4 brne .+2 |
||
385 | 388 0328 00C0 rjmp .L49 |
||
386 | 389 032a 8431 cpi r24,lo8(20) |
||
387 | 390 032c 01F4 brne .+2 |
||
388 | 391 032e 00C0 rjmp .L49 |
||
389 | 392 0330 2898 cbi 37-32,0 |
||
390 | 393 .L51: |
||
391 | 394 0332 8EE1 ldi r24,lo8(30) |
||
392 | 395 0334 8093 0000 sts index.2151,r24 |
||
393 | 396 0338 C0E0 ldi r28,lo8(old_ppm_in.2147) |
||
394 | 397 033a D0E0 ldi r29,hi8(old_ppm_in.2147) |
||
395 | 398 033c 20E0 ldi r18,lo8(0) |
||
396 | 399 033e 30E0 ldi r19,hi8(0) |
||
397 | 400 .L52: |
||
398 | 401 0340 8991 ld r24,Y+ |
||
399 | 402 0342 9991 ld r25,Y+ |
||
400 | 403 0344 F901 movw r30,r18 |
||
401 | 404 0346 EE0F lsl r30 |
||
402 | 405 0348 FF1F rol r31 |
||
403 | 406 034a DF01 movw r26,r30 |
||
404 | 407 034c A050 subi r26,lo8(-(PPM_in)) |
||
405 | 408 034e B040 sbci r27,hi8(-(PPM_in)) |
||
406 | 409 0350 1196 adiw r26,1 |
||
407 | 410 0352 9C93 st X,r25 |
||
408 | 411 0354 8E93 st -X,r24 |
||
409 | 412 0356 E050 subi r30,lo8(-(PPM_diff)) |
||
410 | 413 0358 F040 sbci r31,hi8(-(PPM_diff)) |
||
411 | 414 035a 1182 std Z+1,__zero_reg__ |
||
412 | 415 035c 1082 st Z,__zero_reg__ |
||
413 | 416 035e 2F5F subi r18,lo8(-(1)) |
||
414 | 417 0360 3F4F sbci r19,hi8(-(1)) |
||
415 | 418 0362 2B30 cpi r18,11 |
||
416 | 419 0364 3105 cpc r19,__zero_reg__ |
||
417 | 420 0366 01F4 brne .L52 |
||
418 | 421 0368 00C0 rjmp .L53 |
||
419 | 422 .L57: |
||
420 | 423 036a 9091 0000 lds r25,Channels |
||
421 | 424 036e 8091 0000 lds r24,tmpChannels |
||
422 | 425 0372 9817 cp r25,r24 |
||
423 | 426 0374 01F0 breq .+2 |
||
424 | 427 0376 00C0 rjmp .L21 |
||
425 | 428 0378 6091 0000 lds r22,okay_cnt.2152 |
||
426 | 429 037c 6B30 cpi r22,lo8(11) |
||
427 | 430 037e 00F4 brsh .+2 |
||
428 | 431 0380 00C0 rjmp .L22 |
||
429 | 432 0382 1092 0000 sts NewPpmData,__zero_reg__ |
||
430 | 433 0386 40E0 ldi r20,lo8(old_ppm_in.2147) |
||
431 | 434 0388 50E0 ldi r21,hi8(old_ppm_in.2147) |
||
432 | 435 038a C0E0 ldi r28,lo8(old_ppm_diff.2148) |
||
433 | 436 038c D0E0 ldi r29,hi8(old_ppm_diff.2148) |
||
434 | 437 038e 20E0 ldi r18,lo8(0) |
||
435 | 438 0390 30E0 ldi r19,hi8(0) |
||
436 | 439 0392 00C0 rjmp .L25 |
||
437 | 440 .L66: |
||
438 | 441 0394 D901 movw r26,r18 |
||
439 | 442 0396 AA0F lsl r26 |
||
440 | 443 0398 BB1F rol r27 |
||
441 | 444 .L24: |
||
442 | 445 039a FD01 movw r30,r26 |
||
443 | 446 039c E050 subi r30,lo8(-(ppm_in.2145)) |
||
444 | 447 039e F040 sbci r31,hi8(-(ppm_in.2145)) |
||
445 | 448 03a0 8081 ld r24,Z |
||
446 | 449 03a2 9181 ldd r25,Z+1 |
||
447 | 450 03a4 FD01 movw r30,r26 |
||
448 | 451 03a6 E050 subi r30,lo8(-(PPM_in)) |
||
449 | 452 03a8 F040 sbci r31,hi8(-(PPM_in)) |
||
450 | 453 03aa 9183 std Z+1,r25 |
||
451 | 454 03ac 8083 st Z,r24 |
||
452 | 455 03ae FD01 movw r30,r26 |
||
453 | 456 03b0 E050 subi r30,lo8(-(ppm_diff.2146)) |
||
454 | 457 03b2 F040 sbci r31,hi8(-(ppm_diff.2146)) |
||
455 | 458 03b4 8081 ld r24,Z |
||
456 | 459 03b6 9181 ldd r25,Z+1 |
||
457 | 460 03b8 A050 subi r26,lo8(-(PPM_diff)) |
||
458 | 461 03ba B040 sbci r27,hi8(-(PPM_diff)) |
||
459 | 462 03bc 1196 adiw r26,1 |
||
460 | 463 03be 9C93 st X,r25 |
||
461 | 464 03c0 8E93 st -X,r24 |
||
462 | 465 03c2 2F5F subi r18,lo8(-(1)) |
||
463 | 466 03c4 3F4F sbci r19,hi8(-(1)) |
||
464 | 467 03c6 4E5F subi r20,lo8(-(2)) |
||
465 | 468 03c8 5F4F sbci r21,hi8(-(2)) |
||
466 | 469 03ca 2296 adiw r28,2 |
||
467 | 470 03cc 2B30 cpi r18,11 |
||
468 | 471 03ce 3105 cpc r19,__zero_reg__ |
||
469 | 472 03d0 01F4 brne .+2 |
||
470 | 473 03d2 00C0 rjmp .L65 |
||
471 | 474 .L25: |
||
472 | 475 03d4 6F31 cpi r22,lo8(31) |
||
473 | 476 03d6 00F0 brlo .L66 |
||
474 | 477 03d8 D901 movw r26,r18 |
||
475 | 478 03da AA0F lsl r26 |
||
476 | 479 03dc BB1F rol r27 |
||
477 | 480 03de FD01 movw r30,r26 |
||
478 | 481 03e0 E050 subi r30,lo8(-(PPM_in)) |
||
479 | 482 03e2 F040 sbci r31,hi8(-(PPM_in)) |
||
480 | 483 03e4 8081 ld r24,Z |
||
481 | 484 03e6 9181 ldd r25,Z+1 |
||
482 | 485 03e8 FA01 movw r30,r20 |
||
483 | 486 03ea 9183 std Z+1,r25 |
||
484 | 487 03ec 8083 st Z,r24 |
||
485 | 488 03ee FD01 movw r30,r26 |
||
486 | 489 03f0 E050 subi r30,lo8(-(PPM_diff)) |
||
487 | 490 03f2 F040 sbci r31,hi8(-(PPM_diff)) |
||
488 | 491 03f4 8081 ld r24,Z |
||
489 | 492 03f6 9181 ldd r25,Z+1 |
||
490 | 493 03f8 9983 std Y+1,r25 |
||
491 | 494 03fa 8883 st Y,r24 |
||
492 | 495 03fc 00C0 rjmp .L24 |
||
493 | 496 .L58: |
||
494 | 497 03fe 8AE0 ldi r24,lo8(10) |
||
495 | 498 0400 8093 0000 sts okay_cnt.2152,r24 |
||
496 | 499 0404 00C0 rjmp .L28 |
||
497 | 500 .L63: |
||
498 | 501 0406 5D9A sbi 43-32,5 |
||
499 | 502 0408 5C98 cbi 43-32,4 |
||
500 | 503 .L18: |
||
501 | 504 040a 5B98 cbi 43-32,3 |
||
502 | 505 040c 00C0 rjmp .L53 |
||
503 | 506 .L32: |
||
504 | 507 040e 8091 0000 lds r24,PlatinenVersion |
||
505 | 508 0412 8A30 cpi r24,lo8(10) |
||
506 | 509 0414 01F0 breq .L42 |
||
507 | 510 0416 8431 cpi r24,lo8(20) |
||
508 | 511 0418 01F0 breq .L42 |
||
509 | 512 041a 2898 cbi 37-32,0 |
||
510 | 513 .L41: |
||
511 | 514 041c 4530 cpi r20,lo8(5) |
||
512 | 515 041e 01F0 breq .L67 |
||
513 | 516 0420 5D98 cbi 43-32,5 |
||
514 | 517 0422 4630 cpi r20,lo8(6) |
||
515 | 518 0424 01F0 breq .L68 |
||
516 | 519 0426 5C98 cbi 43-32,4 |
||
517 | 520 0428 4730 cpi r20,lo8(7) |
||
518 | 521 042a 01F4 brne .L45 |
||
519 | 522 042c 5B9A sbi 43-32,3 |
||
520 | 523 .L47: |
||
521 | 524 042e 4F5F subi r20,lo8(-(1)) |
||
522 | 525 0430 4093 0000 sts index.2151,r20 |
||
523 | 526 0434 00C0 rjmp .L53 |
||
524 | 527 .L29: |
||
525 | 528 0436 289A sbi 37-32,0 |
||
526 | 529 0438 00C0 rjmp .L26 |
||
527 | 530 .L13: |
||
528 | 531 043a 4150 subi r20,lo8(-(-1)) |
||
529 | 532 043c 5040 sbci r21,hi8(-(-1)) |
||
530 | 533 043e 2417 cp r18,r20 |
||
531 | 534 0440 3507 cpc r19,r21 |
||
532 | 535 0442 04F0 brlt .+2 |
||
533 | 536 0444 00C0 rjmp .L14 |
||
534 | 537 0446 2F5F subi r18,lo8(-(1)) |
||
535 | 538 0448 3F4F sbci r19,hi8(-(1)) |
||
536 | 539 044a 00C0 rjmp .L14 |
||
537 | 540 .L60: |
||
538 | 541 044c 2150 subi r18,lo8(-(-1)) |
||
539 | 542 044e 3040 sbci r19,hi8(-(-1)) |
||
540 | 543 0450 00C0 rjmp .L38 |
||
541 | 544 .L42: |
||
542 | 545 0452 289A sbi 37-32,0 |
||
543 | 546 0454 00C0 rjmp .L41 |
||
544 | 547 .L59: |
||
545 | 548 0456 0396 adiw r24,3 |
||
546 | 549 0458 00C0 rjmp .L36 |
||
547 | 550 .L67: |
||
548 | 551 045a 5D9A sbi 43-32,5 |
||
549 | 552 045c 5C98 cbi 43-32,4 |
||
550 | 553 .L45: |
||
551 | 554 045e 5B98 cbi 43-32,3 |
||
552 | 555 0460 00C0 rjmp .L47 |
||
553 | 556 .L64: |
||
554 | 557 0462 5C9A sbi 43-32,4 |
||
555 | 558 0464 5B98 cbi 43-32,3 |
||
556 | 559 0466 00C0 rjmp .L53 |
||
557 | 560 .L68: |
||
558 | 561 0468 5C9A sbi 43-32,4 |
||
559 | 562 046a 5B98 cbi 43-32,3 |
||
560 | 563 046c 00C0 rjmp .L47 |
||
561 | 564 .L15: |
||
562 | 565 046e FE01 movw r30,r28 |
||
563 | 566 0470 E050 subi r30,lo8(-(PPM_diff)) |
||
564 | 567 0472 F040 sbci r31,hi8(-(PPM_diff)) |
||
565 | 568 0474 1182 std Z+1,__zero_reg__ |
||
566 | 569 0476 1082 st Z,__zero_reg__ |
||
567 | 570 0478 00C0 rjmp .L16 |
||
568 | 571 .L39: |
||
569 | 572 047a FE01 movw r30,r28 |
||
570 | 573 047c E050 subi r30,lo8(-(ppm_diff.2146)) |
||
571 | 574 047e F040 sbci r31,hi8(-(ppm_diff.2146)) |
||
572 | 575 0480 1182 std Z+1,__zero_reg__ |
||
573 | 576 0482 1082 st Z,__zero_reg__ |
||
574 | 577 0484 00C0 rjmp .L40 |
||
575 | 578 .L65: |
||
576 | 579 0486 6F3F cpi r22,lo8(-1) |
||
577 | 580 0488 01F4 brne .+2 |
||
578 | 581 048a 00C0 rjmp .L26 |
||
579 | 582 .L22: |
||
580 | 583 048c 6F5F subi r22,lo8(-(1)) |
||
581 | 584 048e 6093 0000 sts okay_cnt.2152,r22 |
||
582 | 585 0492 00C0 rjmp .L26 |
||
583 | 586 .L49: |
||
584 | 587 0494 289A sbi 37-32,0 |
||
585 | 588 0496 00C0 rjmp .L51 |
||
586 | 589 .L11: |
||
587 | 590 0498 88EC ldi r24,lo8(-56) |
||
588 | 591 049a 8093 0000 sts SenderOkay,r24 |
||
589 | 592 049e 00C0 rjmp .L9 |
||
590 | 593 .L34: |
||
591 | 594 04a0 8B30 cpi r24,lo8(11) |
||
592 | 595 04a2 00F4 brsh .+2 |
||
593 | 596 04a4 00C0 rjmp .L35 |
||
594 | 597 04a6 8091 0000 lds r24,SenderOkay |
||
595 | 598 04aa 8E5F subi r24,lo8(-(2)) |
||
596 | 599 04ac 8093 0000 sts SenderOkay,r24 |
||
597 | 600 04b0 00C0 rjmp .L35 |
||
598 | 601 .L62: |
||
599 | 602 04b2 2D5F subi r18,lo8(-(3)) |
||
600 | 603 04b4 3F4F sbci r19,hi8(-(3)) |
||
601 | 604 04b6 00C0 rjmp .L12 |
||
602 | 605 .L61: |
||
603 | 606 04b8 9095 com r25 |
||
604 | 607 04ba 8195 neg r24 |
||
605 | 608 04bc 9F4F sbci r25,lo8(-1) |
||
606 | 609 04be 00C0 rjmp .L10 |
||
607 | 611 .global tmpChannels |
||
608 | 612 .global tmpChannels |
||
609 | 613 .section .bss |
||
610 | 616 tmpChannels: |
||
611 | 617 0000 00 .skip 1,0 |
||
612 | 618 .global NewPpmData |
||
613 | 619 .data |
||
614 | 622 NewPpmData: |
||
615 | 623 0000 01 .byte 1 |
||
616 | 624 .lcomm okay_cnt.2152,1 |
||
617 | 625 .lcomm index.2151,1 |
||
618 | 626 .lcomm old_ppm_diff.2148,22 |
||
619 | 627 .lcomm old_ppm_in.2147,22 |
||
620 | 628 .lcomm ppm_diff.2146,22 |
||
621 | 629 .lcomm ppm_in.2145,22 |
||
622 | 630 .lcomm AltICR.2144,2 |
||
623 | 631 .lcomm index.2143,2 |
||
624 | 632 .lcomm AltICR.2140,2 |
||
625 | 633 .comm PPM_in,22,1 |
||
626 | 634 .comm PPM_diff,22,1 |
||
627 | 635 .comm Channels,1,1 |
||
628 | 636 .comm Mixer,77,1 |
||
629 | 637 .global __do_copy_data |
||
630 | 638 .global __do_clear_bss |
||
631 | DEFINED SYMBOLS |
||
632 | *ABS*:00000000 rc.c |
||
633 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:2 *ABS*:0000003f __SREG__ |
||
634 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:3 *ABS*:0000003e __SP_H__ |
||
635 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:4 *ABS*:0000003d __SP_L__ |
||
636 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:5 *ABS*:00000034 __CCP__ |
||
637 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:6 *ABS*:00000000 __tmp_reg__ |
||
638 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:7 *ABS*:00000001 __zero_reg__ |
||
639 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:11 .text:00000000 rc_sum_init |
||
640 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:32 .text:0000002a __vector_12 |
||
641 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:631 .bss:0000005f AltICR.2140 |
||
642 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:630 .bss:0000005d index.2143 |
||
643 | *COM*:00000001 Channels |
||
644 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:622 .data:00000000 NewPpmData |
||
645 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:629 .bss:0000005b AltICR.2144 |
||
646 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:624 .bss:00000002 index.2151 |
||
647 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:616 .bss:00000000 tmpChannels |
||
648 | .bss:00000001 okay_cnt.2152 |
||
649 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:628 .bss:00000045 ppm_in.2145 |
||
650 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:627 .bss:0000002f ppm_diff.2146 |
||
651 | *COM*:00000016 PPM_in |
||
652 | *COM*:00000016 PPM_diff |
||
653 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:626 .bss:00000019 old_ppm_in.2147 |
||
654 | C:\Users\Arthur\AppData\Local\Temp/ccoC5XRq.s:625 .bss:00000003 old_ppm_diff.2148 |
||
655 | *COM*:0000004d Mixer |
||
656 | |||
657 | UNDEFINED SYMBOLS |
||
658 | AdNeutralGier |
||
659 | AdNeutralRoll |
||
660 | AdNeutralNick |
||
661 | EE_Parameter |
||
662 | PlatinenVersion |
||
663 | MotorenEin |
||
664 | SenderOkay |
||
665 | __divmodhi4 |
||
666 | __do_copy_data |
||
667 | __do_clear_bss |