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