0,0 → 1,2240 |
1 .file "uart0.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 __vector_22 |
11 __vector_22: |
12 0000 1F92 push __zero_reg__ |
13 0002 0F92 push r0 |
14 0004 0FB6 in r0,__SREG__ |
15 0006 0F92 push r0 |
16 0008 1124 clr __zero_reg__ |
17 000a 8F93 push r24 |
18 000c 9F93 push r25 |
19 000e EF93 push r30 |
20 0010 FF93 push r31 |
21 /* prologue: Signal */ |
22 /* frame size = 0 */ |
23 0012 8091 0000 lds r24,txd_complete |
24 0016 8823 tst r24 |
25 0018 01F4 brne .L2 |
26 001a 8091 0000 lds r24,ptr_txd_buffer.1840 |
27 001e 9091 0000 lds r25,(ptr_txd_buffer.1840)+1 |
28 0022 0196 adiw r24,1 |
29 0024 9093 0000 sts (ptr_txd_buffer.1840)+1,r25 |
30 0028 8093 0000 sts ptr_txd_buffer.1840,r24 |
31 002c FC01 movw r30,r24 |
32 002e E050 subi r30,lo8(-(txd_buffer)) |
33 0030 F040 sbci r31,hi8(-(txd_buffer)) |
34 0032 E081 ld r30,Z |
35 0034 ED30 cpi r30,lo8(13) |
36 0036 01F0 breq .L3 |
37 0038 8639 cpi r24,150 |
38 003a 9105 cpc r25,__zero_reg__ |
39 003c 01F0 breq .L3 |
40 .L4: |
41 003e E093 C600 sts 198,r30 |
42 0042 00C0 rjmp .L6 |
43 .L2: |
44 0044 1092 0000 sts (ptr_txd_buffer.1840)+1,__zero_reg__ |
45 0048 1092 0000 sts ptr_txd_buffer.1840,__zero_reg__ |
46 .L6: |
47 /* epilogue start */ |
48 004c FF91 pop r31 |
49 004e EF91 pop r30 |
50 0050 9F91 pop r25 |
51 0052 8F91 pop r24 |
52 0054 0F90 pop r0 |
53 0056 0FBE out __SREG__,r0 |
54 0058 0F90 pop r0 |
55 005a 1F90 pop __zero_reg__ |
56 005c 1895 reti |
57 .L3: |
58 005e 1092 0000 sts (ptr_txd_buffer.1840)+1,__zero_reg__ |
59 0062 1092 0000 sts ptr_txd_buffer.1840,__zero_reg__ |
60 0066 81E0 ldi r24,lo8(1) |
61 0068 8093 0000 sts txd_complete,r24 |
62 006c 00C0 rjmp .L4 |
64 .global AddCRC |
66 AddCRC: |
67 006e CF93 push r28 |
68 0070 DF93 push r29 |
69 /* prologue: function */ |
70 /* frame size = 0 */ |
71 0072 BC01 movw r22,r24 |
72 0074 0097 sbiw r24,0 |
73 0076 01F0 breq .L14 |
74 0078 40E0 ldi r20,lo8(0) |
75 007a 50E0 ldi r21,hi8(0) |
76 007c 20E0 ldi r18,lo8(0) |
77 007e 30E0 ldi r19,hi8(0) |
78 .L11: |
79 0080 FA01 movw r30,r20 |
80 0082 E050 subi r30,lo8(-(txd_buffer)) |
81 0084 F040 sbci r31,hi8(-(txd_buffer)) |
82 0086 8081 ld r24,Z |
83 0088 280F add r18,r24 |
84 008a 311D adc r19,__zero_reg__ |
85 008c 4F5F subi r20,lo8(-(1)) |
86 008e 5F4F sbci r21,hi8(-(1)) |
87 0090 4617 cp r20,r22 |
88 0092 5707 cpc r21,r23 |
89 0094 00F0 brlo .L11 |
90 0096 3F70 andi r19,hi8(4095) |
91 0098 C901 movw r24,r18 |
92 009a 0024 clr __tmp_reg__ |
93 009c 880F lsl r24 |
94 009e 991F rol r25 |
95 00a0 001C rol __tmp_reg__ |
96 00a2 880F lsl r24 |
97 00a4 991F rol r25 |
98 00a6 001C rol __tmp_reg__ |
99 00a8 892F mov r24,r25 |
100 00aa 902D mov r25,__tmp_reg__ |
101 00ac 835C subi r24,lo8(-(61)) |
102 00ae DB01 movw r26,r22 |
103 00b0 1196 adiw r26,1 |
104 00b2 2F73 andi r18,lo8(63) |
105 00b4 235C subi r18,lo8(-(61)) |
106 00b6 ED01 movw r28,r26 |
107 00b8 2196 adiw r28,1 |
108 00ba FB01 movw r30,r22 |
109 .L10: |
110 00bc E050 subi r30,lo8(-(txd_buffer)) |
111 00be F040 sbci r31,hi8(-(txd_buffer)) |
112 00c0 8083 st Z,r24 |
113 00c2 A050 subi r26,lo8(-(txd_buffer)) |
114 00c4 B040 sbci r27,hi8(-(txd_buffer)) |
115 00c6 2C93 st X,r18 |
116 00c8 C050 subi r28,lo8(-(txd_buffer)) |
117 00ca D040 sbci r29,hi8(-(txd_buffer)) |
118 00cc 8DE0 ldi r24,lo8(13) |
119 00ce 8883 st Y,r24 |
120 00d0 1092 0000 sts txd_complete,__zero_reg__ |
121 00d4 8091 0000 lds r24,txd_buffer |
122 00d8 8093 C600 sts 198,r24 |
123 /* epilogue start */ |
124 00dc DF91 pop r29 |
125 00de CF91 pop r28 |
126 00e0 0895 ret |
127 .L14: |
128 00e2 E0E0 ldi r30,lo8(0) |
129 00e4 F0E0 ldi r31,hi8(0) |
130 00e6 8DE3 ldi r24,lo8(61) |
131 00e8 A1E0 ldi r26,lo8(1) |
132 00ea B0E0 ldi r27,hi8(1) |
133 00ec 2DE3 ldi r18,lo8(61) |
134 00ee C2E0 ldi r28,lo8(2) |
135 00f0 D0E0 ldi r29,hi8(2) |
136 00f2 00C0 rjmp .L10 |
138 .global Decode64 |
140 Decode64: |
141 /* prologue: function */ |
142 /* frame size = 0 */ |
143 00f4 5091 0000 lds r21,ReceivedBytes |
144 00f8 5650 subi r21,lo8(-(-6)) |
145 00fa 01F4 brne .+2 |
146 00fc 00C0 rjmp .L24 |
147 00fe 43E0 ldi r20,lo8(3) |
148 0100 33E0 ldi r19,lo8(3) |
149 0102 00C0 rjmp .L20 |
150 .L18: |
151 0104 972F mov r25,r23 |
152 0106 9D53 subi r25,lo8(-(-61)) |
153 0108 F0E0 ldi r31,lo8(0) |
154 010a 2295 swap r18 |
155 010c 207F andi r18,lo8(-16) |
156 010e 892F mov r24,r25 |
157 0110 8695 lsr r24 |
158 0112 8695 lsr r24 |
159 0114 282B or r18,r24 |
160 0116 E050 subi r30,lo8(-(rxd_buffer)) |
161 0118 F040 sbci r31,hi8(-(rxd_buffer)) |
162 011a 2083 st Z,r18 |
163 011c E42F mov r30,r20 |
164 011e EE5F subi r30,lo8(-(2)) |
165 0120 5230 cpi r21,lo8(2) |
166 0122 01F0 breq .L23 |
167 0124 5350 subi r21,lo8(-(-3)) |
168 0126 F0E0 ldi r31,lo8(0) |
169 0128 9295 swap r25 |
170 012a 990F lsl r25 |
171 012c 990F lsl r25 |
172 012e 907C andi r25,lo8(-64) |
173 0130 6D53 subi r22,lo8(-(-61)) |
174 0132 962B or r25,r22 |
175 0134 E050 subi r30,lo8(-(rxd_buffer)) |
176 0136 F040 sbci r31,hi8(-(rxd_buffer)) |
177 0138 9083 st Z,r25 |
178 013a 4D5F subi r20,lo8(-(3)) |
179 013c 5523 tst r21 |
180 013e 01F0 breq .L25 |
181 .L20: |
182 0140 E32F mov r30,r19 |
183 0142 F0E0 ldi r31,lo8(0) |
184 0144 E050 subi r30,lo8(-(rxd_buffer)) |
185 0146 F040 sbci r31,hi8(-(rxd_buffer)) |
186 0148 8081 ld r24,Z |
187 014a 3F5F subi r19,lo8(-(1)) |
188 014c E32F mov r30,r19 |
189 014e F0E0 ldi r31,lo8(0) |
190 0150 E050 subi r30,lo8(-(rxd_buffer)) |
191 0152 F040 sbci r31,hi8(-(rxd_buffer)) |
192 0154 2081 ld r18,Z |
193 0156 2D53 subi r18,lo8(-(-61)) |
194 0158 3F5F subi r19,lo8(-(1)) |
195 015a E32F mov r30,r19 |
196 015c F0E0 ldi r31,lo8(0) |
197 015e E050 subi r30,lo8(-(rxd_buffer)) |
198 0160 F040 sbci r31,hi8(-(rxd_buffer)) |
199 0162 7081 ld r23,Z |
200 0164 3F5F subi r19,lo8(-(1)) |
201 0166 E32F mov r30,r19 |
202 0168 F0E0 ldi r31,lo8(0) |
203 016a E050 subi r30,lo8(-(rxd_buffer)) |
204 016c F040 sbci r31,hi8(-(rxd_buffer)) |
205 016e 6081 ld r22,Z |
206 0170 3F5F subi r19,lo8(-(1)) |
207 0172 922F mov r25,r18 |
208 0174 9295 swap r25 |
209 0176 9F70 andi r25,lo8(15) |
210 0178 8D53 subi r24,lo8(-(-61)) |
211 017a 880F lsl r24 |
212 017c 880F lsl r24 |
213 017e 892B or r24,r25 |
214 0180 E42F mov r30,r20 |
215 0182 F0E0 ldi r31,lo8(0) |
216 0184 E050 subi r30,lo8(-(rxd_buffer)) |
217 0186 F040 sbci r31,hi8(-(rxd_buffer)) |
218 0188 8083 st Z,r24 |
219 018a E42F mov r30,r20 |
220 018c EF5F subi r30,lo8(-(1)) |
221 018e 5130 cpi r21,lo8(1) |
222 0190 01F0 breq .+2 |
223 0192 00C0 rjmp .L18 |
224 .L23: |
225 0194 E350 subi r30,lo8(-(-3)) |
226 .L17: |
227 0196 80E0 ldi r24,lo8(rxd_buffer+3) |
228 0198 90E0 ldi r25,hi8(rxd_buffer+3) |
229 019a 9093 0000 sts (pRxData)+1,r25 |
230 019e 8093 0000 sts pRxData,r24 |
231 01a2 E093 0000 sts RxDataLen,r30 |
232 /* epilogue start */ |
233 01a6 0895 ret |
234 .L25: |
235 01a8 E42F mov r30,r20 |
236 01aa 00C0 rjmp .L23 |
237 .L24: |
238 01ac E0E0 ldi r30,lo8(0) |
239 01ae 00C0 rjmp .L17 |
241 .global uart_putchar |
243 uart_putchar: |
244 01b0 1F93 push r17 |
245 /* prologue: function */ |
246 /* frame size = 0 */ |
247 01b2 182F mov r17,r24 |
248 01b4 8A30 cpi r24,lo8(10) |
249 01b6 01F0 breq .L31 |
250 .L29: |
251 01b8 8091 C000 lds r24,192 |
252 01bc 85FF sbrs r24,5 |
253 01be 00C0 rjmp .L29 |
254 01c0 1093 C600 sts 198,r17 |
255 01c4 80E0 ldi r24,lo8(0) |
256 01c6 90E0 ldi r25,hi8(0) |
257 /* epilogue start */ |
258 01c8 1F91 pop r17 |
259 01ca 0895 ret |
260 .L31: |
261 01cc 8DE0 ldi r24,lo8(13) |
262 01ce 0E94 0000 call uart_putchar |
263 01d2 00C0 rjmp .L29 |
265 .global USART0_Init |
267 USART0_Init: |
268 01d4 1F93 push r17 |
269 /* prologue: function */ |
270 /* frame size = 0 */ |
271 01d6 1FB7 in r17,__SREG__ |
272 /* #APP */ |
273 ; 176 "uart0.c" 1 |
274 01d8 F894 cli |
275 ; 0 "" 2 |
276 /* #NOAPP */ |
277 01da 8091 C100 lds r24,193 |
278 01de 8F77 andi r24,lo8(127) |
279 01e0 8093 C100 sts 193,r24 |
280 01e4 8091 C100 lds r24,193 |
281 01e8 8F7B andi r24,lo8(-65) |
282 01ea 8093 C100 sts 193,r24 |
283 01ee 589A sbi 43-32,0 |
284 01f0 5098 cbi 42-32,0 |
285 01f2 599A sbi 43-32,1 |
286 01f4 519A sbi 42-32,1 |
287 01f6 1092 C500 sts 197,__zero_reg__ |
288 01fa 8AE2 ldi r24,lo8(42) |
289 01fc 8093 C400 sts 196,r24 |
290 0200 8091 C000 lds r24,192 |
291 0204 8260 ori r24,lo8(2) |
292 0206 8093 C000 sts 192,r24 |
293 020a 88E1 ldi r24,lo8(24) |
294 020c 8093 C100 sts 193,r24 |
295 0210 8091 C200 lds r24,194 |
296 0214 8F77 andi r24,lo8(127) |
297 0216 8093 C200 sts 194,r24 |
298 021a 8091 C200 lds r24,194 |
299 021e 8F7B andi r24,lo8(-65) |
300 0220 8093 C200 sts 194,r24 |
301 0224 8091 C200 lds r24,194 |
302 0228 8F7D andi r24,lo8(-33) |
303 022a 8093 C200 sts 194,r24 |
304 022e 8091 C200 lds r24,194 |
305 0232 8F7E andi r24,lo8(-17) |
306 0234 8093 C200 sts 194,r24 |
307 0238 8091 C200 lds r24,194 |
308 023c 877F andi r24,lo8(-9) |
309 023e 8093 C200 sts 194,r24 |
310 0242 8091 C100 lds r24,193 |
311 0246 8B7F andi r24,lo8(-5) |
312 0248 8093 C100 sts 193,r24 |
313 024c 8091 C200 lds r24,194 |
314 0250 8460 ori r24,lo8(4) |
315 0252 8093 C200 sts 194,r24 |
316 0256 8091 C200 lds r24,194 |
317 025a 8260 ori r24,lo8(2) |
318 025c 8093 C200 sts 194,r24 |
319 0260 8091 C000 lds r24,192 |
320 0264 87FF sbrs r24,7 |
321 0266 00C0 rjmp .L33 |
322 .L36: |
323 0268 8091 C600 lds r24,198 |
324 026c 8091 C000 lds r24,192 |
325 0270 87FD sbrc r24,7 |
326 0272 00C0 rjmp .L36 |
327 .L33: |
328 0274 8091 C100 lds r24,193 |
329 0278 8068 ori r24,lo8(-128) |
330 027a 8093 C100 sts 193,r24 |
331 027e 8091 C100 lds r24,193 |
332 0282 8064 ori r24,lo8(64) |
333 0284 8093 C100 sts 193,r24 |
334 0288 8091 0000 lds r24,DebugData_Interval |
335 028c 9091 0000 lds r25,(DebugData_Interval)+1 |
336 0290 0E94 0000 call SetDelay |
337 0294 9093 0000 sts (DebugData_Timer)+1,r25 |
338 0298 8093 0000 sts DebugData_Timer,r24 |
339 029c 1092 0000 sts rxd_buffer_locked,__zero_reg__ |
340 02a0 1092 0000 sts (pRxData)+1,__zero_reg__ |
341 02a4 1092 0000 sts pRxData,__zero_reg__ |
342 02a8 1092 0000 sts RxDataLen,__zero_reg__ |
343 02ac 91E0 ldi r25,lo8(1) |
344 02ae 9093 0000 sts txd_complete,r25 |
345 02b2 1092 0000 sts UART_VersionInfo,__zero_reg__ |
346 02b6 8CE4 ldi r24,lo8(76) |
347 02b8 8093 0000 sts UART_VersionInfo+1,r24 |
348 02bc 86E0 ldi r24,lo8(6) |
349 02be 8093 0000 sts UART_VersionInfo+4,r24 |
350 02c2 8AE0 ldi r24,lo8(10) |
351 02c4 8093 0000 sts UART_VersionInfo+2,r24 |
352 02c8 9093 0000 sts UART_VersionInfo+3,r25 |
353 02cc 1FBF out __SREG__,r17 |
354 /* epilogue start */ |
355 02ce 1F91 pop r17 |
356 02d0 0895 ret |
358 .global SendOutData |
360 SendOutData: |
361 02d2 BF92 push r11 |
362 02d4 CF92 push r12 |
363 02d6 DF92 push r13 |
364 02d8 EF92 push r14 |
365 02da FF92 push r15 |
366 02dc 0F93 push r16 |
367 02de 1F93 push r17 |
368 02e0 DF93 push r29 |
369 02e2 CF93 push r28 |
370 02e4 CDB7 in r28,__SP_L__ |
371 02e6 DEB7 in r29,__SP_H__ |
372 /* prologue: function */ |
373 /* frame size = 0 */ |
374 02e8 8D85 ldd r24,Y+13 |
375 02ea 2E85 ldd r18,Y+14 |
376 02ec 93E2 ldi r25,lo8(35) |
377 02ee 9093 0000 sts txd_buffer,r25 |
378 02f2 8F59 subi r24,lo8(-(97)) |
379 02f4 8093 0000 sts txd_buffer+1,r24 |
380 02f8 8C85 ldd r24,Y+12 |
381 02fa 8093 0000 sts txd_buffer+2,r24 |
382 02fe 2223 tst r18 |
383 0300 01F4 brne .L56 |
384 .L39: |
385 0302 63E0 ldi r22,lo8(3) |
386 0304 70E0 ldi r23,hi8(3) |
387 .L52: |
388 0306 CB01 movw r24,r22 |
389 0308 0E94 0000 call AddCRC |
390 /* epilogue start */ |
391 030c CF91 pop r28 |
392 030e DF91 pop r29 |
393 0310 1F91 pop r17 |
394 0312 0F91 pop r16 |
395 0314 FF90 pop r15 |
396 0316 EF90 pop r14 |
397 0318 DF90 pop r13 |
398 031a CF90 pop r12 |
399 031c BF90 pop r11 |
400 031e 0895 ret |
401 .L56: |
402 0320 EF84 ldd r14,Y+15 |
403 0322 F888 ldd r15,Y+16 |
404 0324 03E1 ldi r16,lo8(19) |
405 0326 C02E mov r12,r16 |
406 0328 D12C mov r13,__zero_reg__ |
407 032a CC0E add r12,r28 |
408 032c DD1E adc r13,r29 |
409 032e 4989 ldd r20,Y+17 |
410 0330 5A89 ldd r21,Y+18 |
411 0332 4115 cp r20,__zero_reg__ |
412 0334 5105 cpc r21,__zero_reg__ |
413 0336 01F0 breq .L39 |
414 0338 022F mov r16,r18 |
415 033a 0150 subi r16,lo8(-(-1)) |
416 033c 63E0 ldi r22,lo8(3) |
417 033e 70E0 ldi r23,hi8(3) |
418 0340 10E0 ldi r17,lo8(0) |
419 0342 00C0 rjmp .L51 |
420 .L57: |
421 0344 A12F mov r26,r17 |
422 0346 B0E0 ldi r27,lo8(0) |
423 0348 1F5F subi r17,lo8(-(1)) |
424 034a FA01 movw r30,r20 |
425 .L41: |
426 034c AE0D add r26,r14 |
427 034e BF1D adc r27,r15 |
428 0350 8C91 ld r24,X |
429 0352 AF01 movw r20,r30 |
430 0354 4150 subi r20,lo8(-(-1)) |
431 0356 5040 sbci r21,hi8(-(-1)) |
432 0358 01F4 brne .+2 |
433 035a 00C0 rjmp .L44 |
434 035c E12F mov r30,r17 |
435 035e F0E0 ldi r31,lo8(0) |
436 0360 1F5F subi r17,lo8(-(1)) |
437 .L45: |
438 0362 EE0D add r30,r14 |
439 0364 FF1D adc r31,r15 |
440 0366 A081 ld r26,Z |
441 0368 4150 subi r20,lo8(-(-1)) |
442 036a 5040 sbci r21,hi8(-(-1)) |
443 036c 01F0 breq .+2 |
444 036e 00C0 rjmp .L55 |
445 0370 0023 tst r16 |
446 0372 01F4 brne .+2 |
447 0374 00C0 rjmp .L55 |
448 0376 9601 movw r18,r12 |
449 0378 2E5F subi r18,lo8(-(2)) |
450 037a 3F4F sbci r19,hi8(-(2)) |
451 037c F601 movw r30,r12 |
452 037e E080 ld r14,Z |
453 0380 F180 ldd r15,Z+1 |
454 0382 B2E0 ldi r27,lo8(2) |
455 0384 CB2E mov r12,r27 |
456 0386 D12C mov r13,__zero_reg__ |
457 0388 C20E add r12,r18 |
458 038a D31E adc r13,r19 |
459 038c F901 movw r30,r18 |
460 038e 4081 ld r20,Z |
461 0390 5181 ldd r21,Z+1 |
462 0392 0150 subi r16,lo8(-(-1)) |
463 0394 382F mov r19,r24 |
464 0396 3295 swap r19 |
465 0398 3F70 andi r19,lo8(15) |
466 039a 90E0 ldi r25,lo8(0) |
467 039c 8F70 andi r24,lo8(15) |
468 039e 9070 andi r25,hi8(15) |
469 03a0 2A2F mov r18,r26 |
470 03a2 2295 swap r18 |
471 03a4 2695 lsr r18 |
472 03a6 2695 lsr r18 |
473 03a8 2370 andi r18,lo8(3) |
474 03aa 880F lsl r24 |
475 03ac 991F rol r25 |
476 03ae 880F lsl r24 |
477 03b0 991F rol r25 |
478 03b2 282B or r18,r24 |
479 03b4 235C subi r18,lo8(-(61)) |
480 03b6 AF73 andi r26,lo8(63) |
481 03b8 A35C subi r26,lo8(-(61)) |
482 03ba 10E0 ldi r17,lo8(0) |
483 .L47: |
484 03bc 8B2D mov r24,r11 |
485 03be 8695 lsr r24 |
486 03c0 8695 lsr r24 |
487 03c2 835C subi r24,lo8(-(61)) |
488 03c4 FB01 movw r30,r22 |
489 03c6 E050 subi r30,lo8(-(txd_buffer)) |
490 03c8 F040 sbci r31,hi8(-(txd_buffer)) |
491 03ca 8083 st Z,r24 |
492 03cc 8B2D mov r24,r11 |
493 03ce 90E0 ldi r25,lo8(0) |
494 03d0 8370 andi r24,lo8(3) |
495 03d2 9070 andi r25,hi8(3) |
496 03d4 8295 swap r24 |
497 03d6 9295 swap r25 |
498 03d8 907F andi r25,0xf0 |
499 03da 9827 eor r25,r24 |
500 03dc 807F andi r24,0xf0 |
501 03de 9827 eor r25,r24 |
502 03e0 382B or r19,r24 |
503 03e2 335C subi r19,lo8(-(61)) |
504 03e4 FB01 movw r30,r22 |
505 03e6 E050 subi r30,lo8(-(txd_buffer+1)) |
506 03e8 F040 sbci r31,hi8(-(txd_buffer+1)) |
507 03ea 3083 st Z,r19 |
508 03ec FB01 movw r30,r22 |
509 03ee E050 subi r30,lo8(-(txd_buffer+2)) |
510 03f0 F040 sbci r31,hi8(-(txd_buffer+2)) |
511 03f2 2083 st Z,r18 |
512 03f4 FB01 movw r30,r22 |
513 03f6 E050 subi r30,lo8(-(txd_buffer+3)) |
514 03f8 F040 sbci r31,hi8(-(txd_buffer+3)) |
515 03fa A083 st Z,r26 |
516 03fc 6C5F subi r22,lo8(-(4)) |
517 03fe 7F4F sbci r23,hi8(-(4)) |
518 0400 4115 cp r20,__zero_reg__ |
519 0402 5105 cpc r21,__zero_reg__ |
520 0404 01F4 brne .+2 |
521 0406 00C0 rjmp .L52 |
522 .L51: |
523 0408 F701 movw r30,r14 |
524 040a E10F add r30,r17 |
525 040c F11D adc r31,__zero_reg__ |
526 040e B080 ld r11,Z |
527 0410 1F5F subi r17,lo8(-(1)) |
528 0412 4150 subi r20,lo8(-(-1)) |
529 0414 5040 sbci r21,hi8(-(-1)) |
530 0416 01F0 breq .+2 |
531 0418 00C0 rjmp .L57 |
532 041a 0023 tst r16 |
533 041c 01F0 breq .L42 |
534 041e F601 movw r30,r12 |
535 0420 3296 adiw r30,2 |
536 0422 D601 movw r26,r12 |
537 0424 ED90 ld r14,X+ |
538 0426 FC90 ld r15,X |
539 0428 12E0 ldi r17,lo8(2) |
540 042a C12E mov r12,r17 |
541 042c D12C mov r13,__zero_reg__ |
542 042e CE0E add r12,r30 |
543 0430 DF1E adc r13,r31 |
544 0432 0190 ld __tmp_reg__,Z+ |
545 0434 F081 ld r31,Z |
546 0436 E02D mov r30,__tmp_reg__ |
547 0438 0150 subi r16,lo8(-(-1)) |
548 043a 3097 sbiw r30,0 |
549 043c 01F0 breq .+2 |
550 043e 00C0 rjmp .L58 |
551 0440 10E0 ldi r17,lo8(0) |
552 .L42: |
553 0442 30E0 ldi r19,lo8(0) |
554 0444 2DE3 ldi r18,lo8(61) |
555 0446 ADE3 ldi r26,lo8(61) |
556 0448 00C0 rjmp .L47 |
557 .L55: |
558 044a 382F mov r19,r24 |
559 044c 3295 swap r19 |
560 044e 3F70 andi r19,lo8(15) |
561 0450 90E0 ldi r25,lo8(0) |
562 0452 8F70 andi r24,lo8(15) |
563 0454 9070 andi r25,hi8(15) |
564 0456 2A2F mov r18,r26 |
565 0458 2295 swap r18 |
566 045a 2695 lsr r18 |
567 045c 2695 lsr r18 |
568 045e 2370 andi r18,lo8(3) |
569 0460 880F lsl r24 |
570 0462 991F rol r25 |
571 0464 880F lsl r24 |
572 0466 991F rol r25 |
573 0468 282B or r18,r24 |
574 046a 235C subi r18,lo8(-(61)) |
575 046c AF73 andi r26,lo8(63) |
576 046e A35C subi r26,lo8(-(61)) |
577 0470 00C0 rjmp .L47 |
578 .L44: |
579 0472 0023 tst r16 |
580 0474 01F4 brne .L46 |
581 0476 382F mov r19,r24 |
582 0478 3295 swap r19 |
583 047a 3F70 andi r19,lo8(15) |
584 047c 90E0 ldi r25,lo8(0) |
585 047e 8F70 andi r24,lo8(15) |
586 0480 9070 andi r25,hi8(15) |
587 0482 880F lsl r24 |
588 0484 991F rol r25 |
589 0486 880F lsl r24 |
590 0488 991F rol r25 |
591 048a 282F mov r18,r24 |
592 048c 235C subi r18,lo8(-(61)) |
593 048e ADE3 ldi r26,lo8(61) |
594 0490 00C0 rjmp .L47 |
595 .L46: |
596 0492 F601 movw r30,r12 |
597 0494 3296 adiw r30,2 |
598 0496 D601 movw r26,r12 |
599 0498 ED90 ld r14,X+ |
600 049a FC90 ld r15,X |
601 049c A2E0 ldi r26,lo8(2) |
602 049e CA2E mov r12,r26 |
603 04a0 D12C mov r13,__zero_reg__ |
604 04a2 CE0E add r12,r30 |
605 04a4 DF1E adc r13,r31 |
606 04a6 4081 ld r20,Z |
607 04a8 5181 ldd r21,Z+1 |
608 04aa 0150 subi r16,lo8(-(-1)) |
609 04ac 4115 cp r20,__zero_reg__ |
610 04ae 5105 cpc r21,__zero_reg__ |
611 04b0 01F0 breq .L59 |
612 04b2 E0E0 ldi r30,lo8(0) |
613 04b4 F0E0 ldi r31,hi8(0) |
614 04b6 11E0 ldi r17,lo8(1) |
615 04b8 00C0 rjmp .L45 |
616 .L59: |
617 04ba 382F mov r19,r24 |
618 04bc 3295 swap r19 |
619 04be 3F70 andi r19,lo8(15) |
620 04c0 90E0 ldi r25,lo8(0) |
621 04c2 8F70 andi r24,lo8(15) |
622 04c4 9070 andi r25,hi8(15) |
623 04c6 880F lsl r24 |
624 04c8 991F rol r25 |
625 04ca 880F lsl r24 |
626 04cc 991F rol r25 |
627 04ce 282F mov r18,r24 |
628 04d0 235C subi r18,lo8(-(61)) |
629 04d2 10E0 ldi r17,lo8(0) |
630 04d4 ADE3 ldi r26,lo8(61) |
631 04d6 00C0 rjmp .L47 |
632 .L58: |
633 04d8 A0E0 ldi r26,lo8(0) |
634 04da B0E0 ldi r27,hi8(0) |
635 04dc 11E0 ldi r17,lo8(1) |
636 04de 00C0 rjmp .L41 |
638 .global USART0_TransmitTxData |
640 USART0_TransmitTxData: |
641 04e0 EF92 push r14 |
642 04e2 FF92 push r15 |
643 04e4 0F93 push r16 |
644 04e6 1F93 push r17 |
645 04e8 DF93 push r29 |
646 04ea CF93 push r28 |
647 04ec CDB7 in r28,__SP_L__ |
648 04ee DEB7 in r29,__SP_H__ |
649 04f0 6097 sbiw r28,16 |
650 04f2 0FB6 in __tmp_reg__,__SREG__ |
651 04f4 F894 cli |
652 04f6 DEBF out __SP_H__,r29 |
653 04f8 0FBE out __SREG__,__tmp_reg__ |
654 04fa CDBF out __SP_L__,r28 |
655 /* prologue: function */ |
656 /* frame size = 16 */ |
657 04fc 8091 0000 lds r24,txd_complete |
658 0500 8823 tst r24 |
659 0502 01F4 brne .+2 |
660 0504 00C0 rjmp .L76 |
661 0506 8091 0000 lds r24,Request_VerInfo |
662 050a 8823 tst r24 |
663 050c 01F0 breq .+2 |
664 050e 00C0 rjmp .L77 |
665 .L62: |
666 0510 8091 0000 lds r24,Request_Display |
667 0514 8823 tst r24 |
668 0516 01F0 breq .L63 |
669 0518 8091 0000 lds r24,txd_complete |
670 051c 8823 tst r24 |
671 051e 01F0 breq .+2 |
672 0520 00C0 rjmp .L78 |
673 .L63: |
674 0522 8091 0000 lds r24,Request_Display1 |
675 0526 8823 tst r24 |
676 0528 01F4 brne .+2 |
677 052a 00C0 rjmp .L65 |
678 052c 8091 0000 lds r24,txd_complete |
679 0530 8823 tst r24 |
680 0532 01F4 brne .+2 |
681 0534 00C0 rjmp .L65 |
682 0536 0E94 0000 call LCD_PrintMenu |
683 053a 8DB7 in r24,__SP_L__ |
684 053c 9EB7 in r25,__SP_H__ |
685 053e 0F97 sbiw r24,15 |
686 0540 0FB6 in __tmp_reg__,__SREG__ |
687 0542 F894 cli |
688 0544 9EBF out __SP_H__,r25 |
689 0546 0FBE out __SREG__,__tmp_reg__ |
690 0548 8DBF out __SP_L__,r24 |
691 054a EDB7 in r30,__SP_L__ |
692 054c FEB7 in r31,__SP_H__ |
693 054e 3196 adiw r30,1 |
694 0550 8CE4 ldi r24,lo8(76) |
695 0552 ADB7 in r26,__SP_L__ |
696 0554 BEB7 in r27,__SP_H__ |
697 0556 1196 adiw r26,1 |
698 0558 8C93 st X,r24 |
699 055a 81E0 ldi r24,lo8(1) |
700 055c 8183 std Z+1,r24 |
701 055e 83E0 ldi r24,lo8(3) |
702 0560 8283 std Z+2,r24 |
703 0562 80E0 ldi r24,lo8(MenuItem) |
704 0564 90E0 ldi r25,hi8(MenuItem) |
705 0566 9483 std Z+4,r25 |
706 0568 8383 std Z+3,r24 |
707 056a 21E0 ldi r18,lo8(1) |
708 056c 30E0 ldi r19,hi8(1) |
709 056e 3683 std Z+6,r19 |
710 0570 2583 std Z+5,r18 |
711 0572 80E0 ldi r24,lo8(MaxMenuItem) |
712 0574 90E0 ldi r25,hi8(MaxMenuItem) |
713 0576 9087 std Z+8,r25 |
714 0578 8783 std Z+7,r24 |
715 057a 3287 std Z+10,r19 |
716 057c 2187 std Z+9,r18 |
717 057e 80E0 ldi r24,lo8(DisplayBuff) |
718 0580 90E0 ldi r25,hi8(DisplayBuff) |
719 0582 9487 std Z+12,r25 |
720 0584 8387 std Z+11,r24 |
721 0586 80E5 ldi r24,lo8(80) |
722 0588 90E0 ldi r25,hi8(80) |
723 058a 9687 std Z+14,r25 |
724 058c 8587 std Z+13,r24 |
725 058e 0E94 0000 call SendOutData |
726 0592 1092 0000 sts Request_Display1,__zero_reg__ |
727 0596 2DB7 in r18,__SP_L__ |
728 0598 3EB7 in r19,__SP_H__ |
729 059a 215F subi r18,lo8(-(15)) |
730 059c 3F4F sbci r19,hi8(-(15)) |
731 059e 0FB6 in __tmp_reg__,__SREG__ |
732 05a0 F894 cli |
733 05a2 3EBF out __SP_H__,r19 |
734 05a4 0FBE out __SREG__,__tmp_reg__ |
735 05a6 2DBF out __SP_L__,r18 |
736 .L76: |
737 /* epilogue start */ |
738 05a8 6096 adiw r28,16 |
739 05aa 0FB6 in __tmp_reg__,__SREG__ |
740 05ac F894 cli |
741 05ae DEBF out __SP_H__,r29 |
742 05b0 0FBE out __SREG__,__tmp_reg__ |
743 05b2 CDBF out __SP_L__,r28 |
744 05b4 CF91 pop r28 |
745 05b6 DF91 pop r29 |
746 05b8 1F91 pop r17 |
747 05ba 0F91 pop r16 |
748 05bc FF90 pop r15 |
749 05be EF90 pop r14 |
750 05c0 0895 ret |
751 .L77: |
752 05c2 8091 0000 lds r24,txd_complete |
753 05c6 8823 tst r24 |
754 05c8 01F4 brne .+2 |
755 05ca 00C0 rjmp .L62 |
756 05cc 2DB7 in r18,__SP_L__ |
757 05ce 3EB7 in r19,__SP_H__ |
758 05d0 2750 subi r18,lo8(-(-7)) |
759 05d2 3040 sbci r19,hi8(-(-7)) |
760 05d4 0FB6 in __tmp_reg__,__SREG__ |
761 05d6 F894 cli |
762 05d8 3EBF out __SP_H__,r19 |
763 05da 0FBE out __SREG__,__tmp_reg__ |
764 05dc 2DBF out __SP_L__,r18 |
765 05de EDB7 in r30,__SP_L__ |
766 05e0 FEB7 in r31,__SP_H__ |
767 05e2 3196 adiw r30,1 |
768 05e4 86E5 ldi r24,lo8(86) |
769 05e6 ADB7 in r26,__SP_L__ |
770 05e8 BEB7 in r27,__SP_H__ |
771 05ea 1196 adiw r26,1 |
772 05ec 8C93 st X,r24 |
773 05ee 81E0 ldi r24,lo8(1) |
774 05f0 8183 std Z+1,r24 |
775 05f2 8283 std Z+2,r24 |
776 05f4 80E0 ldi r24,lo8(UART_VersionInfo) |
777 05f6 90E0 ldi r25,hi8(UART_VersionInfo) |
778 05f8 9483 std Z+4,r25 |
779 05fa 8383 std Z+3,r24 |
780 05fc 8AE0 ldi r24,lo8(10) |
781 05fe 90E0 ldi r25,hi8(10) |
782 0600 9683 std Z+6,r25 |
783 0602 8583 std Z+5,r24 |
784 0604 0E94 0000 call SendOutData |
785 0608 1092 0000 sts Request_VerInfo,__zero_reg__ |
786 060c 2DB7 in r18,__SP_L__ |
787 060e 3EB7 in r19,__SP_H__ |
788 0610 295F subi r18,lo8(-(7)) |
789 0612 3F4F sbci r19,hi8(-(7)) |
790 0614 0FB6 in __tmp_reg__,__SREG__ |
791 0616 F894 cli |
792 0618 3EBF out __SP_H__,r19 |
793 061a 0FBE out __SREG__,__tmp_reg__ |
794 061c 2DBF out __SP_L__,r18 |
795 061e 00C0 rjmp .L76 |
796 .L65: |
797 0620 6091 0000 lds r22,Request_DebugLabel |
798 0624 6F3F cpi r22,lo8(-1) |
799 0626 01F0 breq .+2 |
800 0628 00C0 rjmp .L79 |
801 062a 8091 0000 lds r24,ConfirmFrame |
802 062e 8823 tst r24 |
803 0630 01F0 breq .L67 |
804 0632 8091 0000 lds r24,txd_complete |
805 0636 8823 tst r24 |
806 0638 01F0 breq .+2 |
807 063a 00C0 rjmp .L80 |
808 .L67: |
809 063c 8091 0000 lds r24,DebugData_Interval |
810 0640 9091 0000 lds r25,(DebugData_Interval)+1 |
811 0644 892B or r24,r25 |
812 0646 01F0 breq .+2 |
813 0648 00C0 rjmp .L81 |
814 .L68: |
815 064a 8091 0000 lds r24,Request_DebugData |
816 064e 8823 tst r24 |
817 0650 01F0 breq .L70 |
818 .L69: |
819 0652 8091 0000 lds r24,txd_complete |
820 0656 8823 tst r24 |
821 0658 01F0 breq .+2 |
822 065a 00C0 rjmp .L82 |
823 .L70: |
824 065c 8091 0000 lds r24,Data3D_Interval |
825 0660 9091 0000 lds r25,(Data3D_Interval)+1 |
826 0664 892B or r24,r25 |
827 0666 01F0 breq .+2 |
828 0668 00C0 rjmp .L83 |
829 .L71: |
830 066a 8091 0000 lds r24,Request_Data3D |
831 066e 8823 tst r24 |
832 0670 01F0 breq .L73 |
833 .L72: |
834 0672 8091 0000 lds r24,txd_complete |
835 0676 8823 tst r24 |
836 0678 01F0 breq .+2 |
837 067a 00C0 rjmp .L84 |
838 .L73: |
839 067c 8091 0000 lds r24,Request_ExternalControl |
840 0680 8823 tst r24 |
841 0682 01F0 breq .L74 |
842 0684 8091 0000 lds r24,txd_complete |
843 0688 8823 tst r24 |
844 068a 01F0 breq .+2 |
845 068c 00C0 rjmp .L85 |
846 .L74: |
847 068e 8091 0000 lds r24,Request_MotorTest |
848 0692 8823 tst r24 |
849 0694 01F4 brne .+2 |
850 0696 00C0 rjmp .L75 |
851 0698 8091 0000 lds r24,txd_complete |
852 069c 8823 tst r24 |
853 069e 01F4 brne .+2 |
854 06a0 00C0 rjmp .L75 |
855 06a2 00D0 rcall . |
856 06a4 0F92 push __tmp_reg__ |
857 06a6 EDB7 in r30,__SP_L__ |
858 06a8 FEB7 in r31,__SP_H__ |
859 06aa 3196 adiw r30,1 |
860 06ac 84E5 ldi r24,lo8(84) |
861 06ae ADB7 in r26,__SP_L__ |
862 06b0 BEB7 in r27,__SP_H__ |
863 06b2 1196 adiw r26,1 |
864 06b4 8C93 st X,r24 |
865 06b6 81E0 ldi r24,lo8(1) |
866 06b8 8183 std Z+1,r24 |
867 06ba 1282 std Z+2,__zero_reg__ |
868 06bc 0E94 0000 call SendOutData |
869 06c0 1092 0000 sts Request_MotorTest,__zero_reg__ |
870 06c4 0F90 pop __tmp_reg__ |
871 06c6 0F90 pop __tmp_reg__ |
872 06c8 0F90 pop __tmp_reg__ |
873 06ca 00C0 rjmp .L76 |
874 .L79: |
875 06cc 70E0 ldi r23,lo8(0) |
876 06ce 6295 swap r22 |
877 06d0 7295 swap r23 |
878 06d2 707F andi r23,0xf0 |
879 06d4 7627 eor r23,r22 |
880 06d6 607F andi r22,0xf0 |
881 06d8 7627 eor r23,r22 |
882 06da 6050 subi r22,lo8(-(ANALOG_LABEL)) |
883 06dc 7040 sbci r23,hi8(-(ANALOG_LABEL)) |
884 06de 8E01 movw r16,r28 |
885 06e0 0F5F subi r16,lo8(-(1)) |
886 06e2 1F4F sbci r17,hi8(-(1)) |
887 06e4 C801 movw r24,r16 |
888 06e6 40E1 ldi r20,lo8(16) |
889 06e8 50E0 ldi r21,hi8(16) |
890 06ea 0E94 0000 call memcpy_P |
891 06ee 8DB7 in r24,__SP_L__ |
892 06f0 9EB7 in r25,__SP_H__ |
893 06f2 0B97 sbiw r24,11 |
894 06f4 0FB6 in __tmp_reg__,__SREG__ |
895 06f6 F894 cli |
896 06f8 9EBF out __SP_H__,r25 |
897 06fa 0FBE out __SREG__,__tmp_reg__ |
898 06fc 8DBF out __SP_L__,r24 |
899 06fe EDB7 in r30,__SP_L__ |
900 0700 FEB7 in r31,__SP_H__ |
901 0702 3196 adiw r30,1 |
902 0704 81E4 ldi r24,lo8(65) |
903 0706 ADB7 in r26,__SP_L__ |
904 0708 BEB7 in r27,__SP_H__ |
905 070a 1196 adiw r26,1 |
906 070c 8C93 st X,r24 |
907 070e 81E0 ldi r24,lo8(1) |
908 0710 8183 std Z+1,r24 |
909 0712 82E0 ldi r24,lo8(2) |
910 0714 8283 std Z+2,r24 |
911 0716 80E0 ldi r24,lo8(Request_DebugLabel) |
912 0718 90E0 ldi r25,hi8(Request_DebugLabel) |
913 071a 9483 std Z+4,r25 |
914 071c 8383 std Z+3,r24 |
915 071e 81E0 ldi r24,lo8(1) |
916 0720 90E0 ldi r25,hi8(1) |
917 0722 9683 std Z+6,r25 |
918 0724 8583 std Z+5,r24 |
919 0726 1087 std Z+8,r17 |
920 0728 0783 std Z+7,r16 |
921 072a 80E1 ldi r24,lo8(16) |
922 072c 90E0 ldi r25,hi8(16) |
923 072e 9287 std Z+10,r25 |
924 0730 8187 std Z+9,r24 |
925 0732 0E94 0000 call SendOutData |
926 0736 8FEF ldi r24,lo8(-1) |
927 0738 8093 0000 sts Request_DebugLabel,r24 |
928 073c 2DB7 in r18,__SP_L__ |
929 073e 3EB7 in r19,__SP_H__ |
930 0740 255F subi r18,lo8(-(11)) |
931 0742 3F4F sbci r19,hi8(-(11)) |
932 0744 0FB6 in __tmp_reg__,__SREG__ |
933 0746 F894 cli |
934 0748 3EBF out __SP_H__,r19 |
935 074a 0FBE out __SREG__,__tmp_reg__ |
936 074c 2DBF out __SP_L__,r18 |
937 074e 00C0 rjmp .L76 |
938 .L78: |
939 0750 0E94 0000 call LCD_PrintMenu |
940 0754 8DB7 in r24,__SP_L__ |
941 0756 9EB7 in r25,__SP_H__ |
942 0758 0B97 sbiw r24,11 |
943 075a 0FB6 in __tmp_reg__,__SREG__ |
944 075c F894 cli |
945 075e 9EBF out __SP_H__,r25 |
946 0760 0FBE out __SREG__,__tmp_reg__ |
947 0762 8DBF out __SP_L__,r24 |
948 0764 EDB7 in r30,__SP_L__ |
949 0766 FEB7 in r31,__SP_H__ |
950 0768 3196 adiw r30,1 |
951 076a 88E4 ldi r24,lo8(72) |
952 076c ADB7 in r26,__SP_L__ |
953 076e BEB7 in r27,__SP_H__ |
954 0770 1196 adiw r26,1 |
955 0772 8C93 st X,r24 |
956 0774 81E0 ldi r24,lo8(1) |
957 0776 8183 std Z+1,r24 |
958 0778 82E0 ldi r24,lo8(2) |
959 077a 8283 std Z+2,r24 |
960 077c 80E0 ldi r24,lo8(DisplayLine) |
961 077e 90E0 ldi r25,hi8(DisplayLine) |
962 0780 9483 std Z+4,r25 |
963 0782 8383 std Z+3,r24 |
964 0784 81E0 ldi r24,lo8(1) |
965 0786 90E0 ldi r25,hi8(1) |
966 0788 9683 std Z+6,r25 |
967 078a 8583 std Z+5,r24 |
968 078c 8091 0000 lds r24,DisplayLine |
969 0790 24E1 ldi r18,lo8(20) |
970 0792 829F mul r24,r18 |
971 0794 C001 movw r24,r0 |
972 0796 1124 clr r1 |
973 0798 8050 subi r24,lo8(-(DisplayBuff)) |
974 079a 9040 sbci r25,hi8(-(DisplayBuff)) |
975 079c 9087 std Z+8,r25 |
976 079e 8783 std Z+7,r24 |
977 07a0 84E1 ldi r24,lo8(20) |
978 07a2 90E0 ldi r25,hi8(20) |
979 07a4 9287 std Z+10,r25 |
980 07a6 8187 std Z+9,r24 |
981 07a8 0E94 0000 call SendOutData |
982 07ac 8091 0000 lds r24,DisplayLine |
983 07b0 8F5F subi r24,lo8(-(1)) |
984 07b2 8093 0000 sts DisplayLine,r24 |
985 07b6 2DB7 in r18,__SP_L__ |
986 07b8 3EB7 in r19,__SP_H__ |
987 07ba 255F subi r18,lo8(-(11)) |
988 07bc 3F4F sbci r19,hi8(-(11)) |
989 07be 0FB6 in __tmp_reg__,__SREG__ |
990 07c0 F894 cli |
991 07c2 3EBF out __SP_H__,r19 |
992 07c4 0FBE out __SREG__,__tmp_reg__ |
993 07c6 2DBF out __SP_L__,r18 |
994 07c8 8430 cpi r24,lo8(4) |
995 07ca 00F0 brlo .L64 |
996 07cc 1092 0000 sts DisplayLine,__zero_reg__ |
997 .L64: |
998 07d0 1092 0000 sts Request_Display,__zero_reg__ |
999 07d4 00C0 rjmp .L76 |
1000 .L75: |
1001 07d6 8091 0000 lds r24,Request_PPMChannels |
1002 07da 8823 tst r24 |
1003 07dc 01F4 brne .+2 |
1004 07de 00C0 rjmp .L76 |
1005 07e0 8091 0000 lds r24,txd_complete |
1006 07e4 8823 tst r24 |
1007 07e6 01F4 brne .+2 |
1008 07e8 00C0 rjmp .L76 |
1009 07ea 2DB7 in r18,__SP_L__ |
1010 07ec 3EB7 in r19,__SP_H__ |
1011 07ee 2750 subi r18,lo8(-(-7)) |
1012 07f0 3040 sbci r19,hi8(-(-7)) |
1013 07f2 0FB6 in __tmp_reg__,__SREG__ |
1014 07f4 F894 cli |
1015 07f6 3EBF out __SP_H__,r19 |
1016 07f8 0FBE out __SREG__,__tmp_reg__ |
1017 07fa 2DBF out __SP_L__,r18 |
1018 07fc EDB7 in r30,__SP_L__ |
1019 07fe FEB7 in r31,__SP_H__ |
1020 0800 3196 adiw r30,1 |
1021 0802 80E5 ldi r24,lo8(80) |
1022 0804 ADB7 in r26,__SP_L__ |
1023 0806 BEB7 in r27,__SP_H__ |
1024 0808 1196 adiw r26,1 |
1025 080a 8C93 st X,r24 |
1026 080c 81E0 ldi r24,lo8(1) |
1027 080e 8183 std Z+1,r24 |
1028 0810 8283 std Z+2,r24 |
1029 0812 80E0 ldi r24,lo8(PPM_in) |
1030 0814 90E0 ldi r25,hi8(PPM_in) |
1031 0816 9483 std Z+4,r25 |
1032 0818 8383 std Z+3,r24 |
1033 081a 8EE1 ldi r24,lo8(30) |
1034 081c 90E0 ldi r25,hi8(30) |
1035 081e 9683 std Z+6,r25 |
1036 0820 8583 std Z+5,r24 |
1037 0822 0E94 0000 call SendOutData |
1038 0826 1092 0000 sts Request_PPMChannels,__zero_reg__ |
1039 082a 2DB7 in r18,__SP_L__ |
1040 082c 3EB7 in r19,__SP_H__ |
1041 082e 295F subi r18,lo8(-(7)) |
1042 0830 3F4F sbci r19,hi8(-(7)) |
1043 0832 0FB6 in __tmp_reg__,__SREG__ |
1044 0834 F894 cli |
1045 0836 3EBF out __SP_H__,r19 |
1046 0838 0FBE out __SREG__,__tmp_reg__ |
1047 083a 2DBF out __SP_L__,r18 |
1048 083c 00C0 rjmp .L76 |
1049 .L85: |
1050 083e 8DB7 in r24,__SP_L__ |
1051 0840 9EB7 in r25,__SP_H__ |
1052 0842 0797 sbiw r24,7 |
1053 0844 0FB6 in __tmp_reg__,__SREG__ |
1054 0846 F894 cli |
1055 0848 9EBF out __SP_H__,r25 |
1056 084a 0FBE out __SREG__,__tmp_reg__ |
1057 084c 8DBF out __SP_L__,r24 |
1058 084e EDB7 in r30,__SP_L__ |
1059 0850 FEB7 in r31,__SP_H__ |
1060 0852 3196 adiw r30,1 |
1061 0854 87E4 ldi r24,lo8(71) |
1062 0856 ADB7 in r26,__SP_L__ |
1063 0858 BEB7 in r27,__SP_H__ |
1064 085a 1196 adiw r26,1 |
1065 085c 8C93 st X,r24 |
1066 085e 81E0 ldi r24,lo8(1) |
1067 0860 8183 std Z+1,r24 |
1068 0862 8283 std Z+2,r24 |
1069 0864 80E0 ldi r24,lo8(ExternControl) |
1070 0866 90E0 ldi r25,hi8(ExternControl) |
1071 0868 9483 std Z+4,r25 |
1072 086a 8383 std Z+3,r24 |
1073 086c 8BE0 ldi r24,lo8(11) |
1074 086e 90E0 ldi r25,hi8(11) |
1075 0870 9683 std Z+6,r25 |
1076 0872 8583 std Z+5,r24 |
1077 0874 0E94 0000 call SendOutData |
1078 0878 1092 0000 sts Request_ExternalControl,__zero_reg__ |
1079 087c 2DB7 in r18,__SP_L__ |
1080 087e 3EB7 in r19,__SP_H__ |
1081 0880 295F subi r18,lo8(-(7)) |
1082 0882 3F4F sbci r19,hi8(-(7)) |
1083 0884 0FB6 in __tmp_reg__,__SREG__ |
1084 0886 F894 cli |
1085 0888 3EBF out __SP_H__,r19 |
1086 088a 0FBE out __SREG__,__tmp_reg__ |
1087 088c 2DBF out __SP_L__,r18 |
1088 088e 00C0 rjmp .L76 |
1089 .L81: |
1090 0890 8091 0000 lds r24,DebugData_Timer |
1091 0894 9091 0000 lds r25,(DebugData_Timer)+1 |
1092 0898 0E94 0000 call CheckDelay |
1093 089c 8823 tst r24 |
1094 089e 01F0 breq .+2 |
1095 08a0 00C0 rjmp .L69 |
1096 08a2 00C0 rjmp .L68 |
1097 .L83: |
1098 08a4 8091 0000 lds r24,Data3D_Timer |
1099 08a8 9091 0000 lds r25,(Data3D_Timer)+1 |
1100 08ac 0E94 0000 call CheckDelay |
1101 08b0 8823 tst r24 |
1102 08b2 01F0 breq .+2 |
1103 08b4 00C0 rjmp .L72 |
1104 08b6 00C0 rjmp .L71 |
1105 .L80: |
1106 08b8 8DB7 in r24,__SP_L__ |
1107 08ba 9EB7 in r25,__SP_H__ |
1108 08bc 0797 sbiw r24,7 |
1109 08be 0FB6 in __tmp_reg__,__SREG__ |
1110 08c0 F894 cli |
1111 08c2 9EBF out __SP_H__,r25 |
1112 08c4 0FBE out __SREG__,__tmp_reg__ |
1113 08c6 8DBF out __SP_L__,r24 |
1114 08c8 EDB7 in r30,__SP_L__ |
1115 08ca FEB7 in r31,__SP_H__ |
1116 08cc 3196 adiw r30,1 |
1117 08ce 82E4 ldi r24,lo8(66) |
1118 08d0 ADB7 in r26,__SP_L__ |
1119 08d2 BEB7 in r27,__SP_H__ |
1120 08d4 1196 adiw r26,1 |
1121 08d6 8C93 st X,r24 |
1122 08d8 81E0 ldi r24,lo8(1) |
1123 08da 8183 std Z+1,r24 |
1124 08dc 8283 std Z+2,r24 |
1125 08de 80E0 ldi r24,lo8(ConfirmFrame) |
1126 08e0 90E0 ldi r25,hi8(ConfirmFrame) |
1127 08e2 9483 std Z+4,r25 |
1128 08e4 8383 std Z+3,r24 |
1129 08e6 81E0 ldi r24,lo8(1) |
1130 08e8 90E0 ldi r25,hi8(1) |
1131 08ea 9683 std Z+6,r25 |
1132 08ec 8583 std Z+5,r24 |
1133 08ee 0E94 0000 call SendOutData |
1134 08f2 1092 0000 sts ConfirmFrame,__zero_reg__ |
1135 08f6 2DB7 in r18,__SP_L__ |
1136 08f8 3EB7 in r19,__SP_H__ |
1137 08fa 295F subi r18,lo8(-(7)) |
1138 08fc 3F4F sbci r19,hi8(-(7)) |
1139 08fe 0FB6 in __tmp_reg__,__SREG__ |
1140 0900 F894 cli |
1141 0902 3EBF out __SP_H__,r19 |
1142 0904 0FBE out __SREG__,__tmp_reg__ |
1143 0906 2DBF out __SP_L__,r18 |
1144 0908 00C0 rjmp .L76 |
1145 .L82: |
1146 090a 8DB7 in r24,__SP_L__ |
1147 090c 9EB7 in r25,__SP_H__ |
1148 090e 0797 sbiw r24,7 |
1149 0910 0FB6 in __tmp_reg__,__SREG__ |
1150 0912 F894 cli |
1151 0914 9EBF out __SP_H__,r25 |
1152 0916 0FBE out __SREG__,__tmp_reg__ |
1153 0918 8DBF out __SP_L__,r24 |
1154 091a EDB7 in r30,__SP_L__ |
1155 091c FEB7 in r31,__SP_H__ |
1156 091e 3196 adiw r30,1 |
1157 0920 84E4 ldi r24,lo8(68) |
1158 0922 ADB7 in r26,__SP_L__ |
1159 0924 BEB7 in r27,__SP_H__ |
1160 0926 1196 adiw r26,1 |
1161 0928 8C93 st X,r24 |
1162 092a 81E0 ldi r24,lo8(1) |
1163 092c 8183 std Z+1,r24 |
1164 092e 8283 std Z+2,r24 |
1165 0930 80E0 ldi r24,lo8(DebugOut) |
1166 0932 90E0 ldi r25,hi8(DebugOut) |
1167 0934 9483 std Z+4,r25 |
1168 0936 8383 std Z+3,r24 |
1169 0938 82E4 ldi r24,lo8(66) |
1170 093a 90E0 ldi r25,hi8(66) |
1171 093c 9683 std Z+6,r25 |
1172 093e 8583 std Z+5,r24 |
1173 0940 0E94 0000 call SendOutData |
1174 0944 2DB7 in r18,__SP_L__ |
1175 0946 3EB7 in r19,__SP_H__ |
1176 0948 295F subi r18,lo8(-(7)) |
1177 094a 3F4F sbci r19,hi8(-(7)) |
1178 094c 0FB6 in __tmp_reg__,__SREG__ |
1179 094e F894 cli |
1180 0950 3EBF out __SP_H__,r19 |
1181 0952 0FBE out __SREG__,__tmp_reg__ |
1182 0954 2DBF out __SP_L__,r18 |
1183 0956 8091 0000 lds r24,DebugData_Interval |
1184 095a 9091 0000 lds r25,(DebugData_Interval)+1 |
1185 095e 0E94 0000 call SetDelay |
1186 0962 9093 0000 sts (DebugData_Timer)+1,r25 |
1187 0966 8093 0000 sts DebugData_Timer,r24 |
1188 096a 1092 0000 sts Request_DebugData,__zero_reg__ |
1189 096e 00C0 rjmp .L76 |
1190 .L84: |
1191 0970 8DB7 in r24,__SP_L__ |
1192 0972 9EB7 in r25,__SP_H__ |
1193 0974 0797 sbiw r24,7 |
1194 0976 0FB6 in __tmp_reg__,__SREG__ |
1195 0978 F894 cli |
1196 097a 9EBF out __SP_H__,r25 |
1197 097c 0FBE out __SREG__,__tmp_reg__ |
1198 097e 8DBF out __SP_L__,r24 |
1199 0980 EDB7 in r30,__SP_L__ |
1200 0982 FEB7 in r31,__SP_H__ |
1201 0984 3196 adiw r30,1 |
1202 0986 83E4 ldi r24,lo8(67) |
1203 0988 ADB7 in r26,__SP_L__ |
1204 098a BEB7 in r27,__SP_H__ |
1205 098c 1196 adiw r26,1 |
1206 098e 8C93 st X,r24 |
1207 0990 81E0 ldi r24,lo8(1) |
1208 0992 8183 std Z+1,r24 |
1209 0994 8283 std Z+2,r24 |
1210 0996 80E0 ldi r24,lo8(Data3D) |
1211 0998 90E0 ldi r25,hi8(Data3D) |
1212 099a 9483 std Z+4,r25 |
1213 099c 8383 std Z+3,r24 |
1214 099e 8EE0 ldi r24,lo8(14) |
1215 09a0 90E0 ldi r25,hi8(14) |
1216 09a2 9683 std Z+6,r25 |
1217 09a4 8583 std Z+5,r24 |
1218 09a6 0E94 0000 call SendOutData |
1219 09aa E090 0000 lds r14,ParamSet+23 |
1220 09ae 8AE2 ldi r24,lo8(42) |
1221 09b0 E89E mul r14,r24 |
1222 09b2 7001 movw r14,r0 |
1223 09b4 1124 clr r1 |
1224 09b6 0027 clr r16 |
1225 09b8 F7FC sbrc r15,7 |
1226 09ba 0095 com r16 |
1227 09bc 102F mov r17,r16 |
1228 09be 6091 0000 lds r22,IntegralGyroNick |
1229 09c2 7091 0000 lds r23,(IntegralGyroNick)+1 |
1230 09c6 8091 0000 lds r24,(IntegralGyroNick)+2 |
1231 09ca 9091 0000 lds r25,(IntegralGyroNick)+3 |
1232 09ce 2AE0 ldi r18,lo8(10) |
1233 09d0 30E0 ldi r19,hi8(10) |
1234 09d2 40E0 ldi r20,hlo8(10) |
1235 09d4 50E0 ldi r21,hhi8(10) |
1236 09d6 0E94 0000 call __mulsi3 |
1237 09da A801 movw r20,r16 |
1238 09dc 9701 movw r18,r14 |
1239 09de 0E94 0000 call __divmodsi4 |
1240 09e2 3093 0000 sts (Data3D)+1,r19 |
1241 09e6 2093 0000 sts Data3D,r18 |
1242 09ea 6091 0000 lds r22,IntegralGyroRoll |
1243 09ee 7091 0000 lds r23,(IntegralGyroRoll)+1 |
1244 09f2 8091 0000 lds r24,(IntegralGyroRoll)+2 |
1245 09f6 9091 0000 lds r25,(IntegralGyroRoll)+3 |
1246 09fa 2AE0 ldi r18,lo8(10) |
1247 09fc 30E0 ldi r19,hi8(10) |
1248 09fe 40E0 ldi r20,hlo8(10) |
1249 0a00 50E0 ldi r21,hhi8(10) |
1250 0a02 0E94 0000 call __mulsi3 |
1251 0a06 A801 movw r20,r16 |
1252 0a08 9701 movw r18,r14 |
1253 0a0a 0E94 0000 call __divmodsi4 |
1254 0a0e 3093 0000 sts (Data3D+2)+1,r19 |
1255 0a12 2093 0000 sts Data3D+2,r18 |
1256 0a16 6091 0000 lds r22,YawGyroHeading |
1257 0a1a 7091 0000 lds r23,(YawGyroHeading)+1 |
1258 0a1e 8091 0000 lds r24,(YawGyroHeading)+2 |
1259 0a22 9091 0000 lds r25,(YawGyroHeading)+3 |
1260 0a26 2AE0 ldi r18,lo8(10) |
1261 0a28 30E0 ldi r19,hi8(10) |
1262 0a2a 40E0 ldi r20,hlo8(10) |
1263 0a2c 50E0 ldi r21,hhi8(10) |
1264 0a2e 0E94 0000 call __mulsi3 |
1265 0a32 A801 movw r20,r16 |
1266 0a34 9701 movw r18,r14 |
1267 0a36 0E94 0000 call __divmodsi4 |
1268 0a3a 3093 0000 sts (Data3D+4)+1,r19 |
1269 0a3e 2093 0000 sts Data3D+4,r18 |
1270 0a42 2DB7 in r18,__SP_L__ |
1271 0a44 3EB7 in r19,__SP_H__ |
1272 0a46 295F subi r18,lo8(-(7)) |
1273 0a48 3F4F sbci r19,hi8(-(7)) |
1274 0a4a 0FB6 in __tmp_reg__,__SREG__ |
1275 0a4c F894 cli |
1276 0a4e 3EBF out __SP_H__,r19 |
1277 0a50 0FBE out __SREG__,__tmp_reg__ |
1278 0a52 2DBF out __SP_L__,r18 |
1279 0a54 8091 0000 lds r24,Data3D_Interval |
1280 0a58 9091 0000 lds r25,(Data3D_Interval)+1 |
1281 0a5c 0E94 0000 call SetDelay |
1282 0a60 9093 0000 sts (Data3D_Timer)+1,r25 |
1283 0a64 8093 0000 sts Data3D_Timer,r24 |
1284 0a68 1092 0000 sts Request_Data3D,__zero_reg__ |
1285 0a6c 00C0 rjmp .L76 |
1287 .global USART0_ProcessRxData |
1289 USART0_ProcessRxData: |
1290 0a6e 0F93 push r16 |
1291 0a70 1F93 push r17 |
1292 0a72 DF93 push r29 |
1293 0a74 CF93 push r28 |
1294 0a76 00D0 rcall . |
1295 0a78 CDB7 in r28,__SP_L__ |
1296 0a7a DEB7 in r29,__SP_H__ |
1297 /* prologue: function */ |
1298 /* frame size = 2 */ |
1299 0a7c 8091 0000 lds r24,rxd_buffer_locked |
1300 0a80 8823 tst r24 |
1301 0a82 01F4 brne .L139 |
1302 /* epilogue start */ |
1303 0a84 0F90 pop __tmp_reg__ |
1304 0a86 0F90 pop __tmp_reg__ |
1305 0a88 CF91 pop r28 |
1306 0a8a DF91 pop r29 |
1307 0a8c 1F91 pop r17 |
1308 0a8e 0F91 pop r16 |
1309 0a90 0895 ret |
1310 .L139: |
1311 0a92 0E94 0000 call Decode64 |
1312 0a96 8091 0000 lds r24,rxd_buffer+1 |
1313 0a9a 8236 cpi r24,lo8(98) |
1314 0a9c 01F0 breq .L140 |
1315 .L88: |
1316 0a9e 8091 0000 lds r24,rxd_buffer+2 |
1317 0aa2 8436 cpi r24,lo8(100) |
1318 0aa4 01F4 brne .+2 |
1319 0aa6 00C0 rjmp .L115 |
1320 0aa8 8536 cpi r24,lo8(101) |
1321 0aaa 00F0 brlo .L141 |
1322 0aac 8836 cpi r24,lo8(104) |
1323 0aae 01F4 brne .+2 |
1324 0ab0 00C0 rjmp .L117 |
1325 0ab2 8936 cpi r24,lo8(105) |
1326 0ab4 00F4 brsh .+2 |
1327 0ab6 00C0 rjmp .L142 |
1328 0ab8 8C36 cpi r24,lo8(108) |
1329 0aba 01F4 brne .+2 |
1330 0abc 00C0 rjmp .L118 |
1331 0abe 8637 cpi r24,lo8(118) |
1332 0ac0 01F0 breq .+2 |
1333 0ac2 00C0 rjmp .L111 |
1334 0ac4 81E0 ldi r24,lo8(1) |
1335 0ac6 8093 0000 sts Request_VerInfo,r24 |
1336 0aca 00C0 rjmp .L111 |
1337 .L141: |
1338 0acc 8236 cpi r24,lo8(98) |
1339 0ace 01F4 brne .+2 |
1340 0ad0 00C0 rjmp .L113 |
1341 0ad2 8336 cpi r24,lo8(99) |
1342 0ad4 00F0 brlo .+2 |
1343 0ad6 00C0 rjmp .L114 |
1344 0ad8 8136 cpi r24,lo8(97) |
1345 0ada 01F0 breq .+2 |
1346 0adc 00C0 rjmp .L111 |
1347 0ade E091 0000 lds r30,pRxData |
1348 0ae2 F091 0000 lds r31,(pRxData)+1 |
1349 0ae6 8081 ld r24,Z |
1350 0ae8 8093 0000 sts Request_DebugLabel,r24 |
1351 0aec 8032 cpi r24,lo8(32) |
1352 0aee 00F0 brlo .L137 |
1353 0af0 8FE1 ldi r24,lo8(31) |
1354 0af2 8093 0000 sts Request_DebugLabel,r24 |
1355 .L137: |
1356 0af6 8FEF ldi r24,lo8(-1) |
1357 0af8 8093 0000 sts PcAccess,r24 |
1358 0afc 00C0 rjmp .L111 |
1359 .L140: |
1360 0afe 8091 0000 lds r24,rxd_buffer+2 |
1361 0b02 8037 cpi r24,lo8(112) |
1362 0b04 01F4 brne .+2 |
1363 0b06 00C0 rjmp .L92 |
1364 0b08 8137 cpi r24,lo8(113) |
1365 0b0a 00F4 brsh .L96 |
1366 0b0c 8D36 cpi r24,lo8(109) |
1367 0b0e 01F4 brne .+2 |
1368 0b10 00C0 rjmp .L90 |
1369 0b12 8E36 cpi r24,lo8(110) |
1370 0b14 01F4 brne .L88 |
1371 .L127: |
1372 0b16 8091 0000 lds r24,txd_complete |
1373 0b1a 8823 tst r24 |
1374 0b1c 01F0 breq .L127 |
1375 0b1e 8DB7 in r24,__SP_L__ |
1376 0b20 9EB7 in r25,__SP_H__ |
1377 0b22 0797 sbiw r24,7 |
1378 0b24 0FB6 in __tmp_reg__,__SREG__ |
1379 0b26 F894 cli |
1380 0b28 9EBF out __SP_H__,r25 |
1381 0b2a 0FBE out __SREG__,__tmp_reg__ |
1382 0b2c 8DBF out __SP_L__,r24 |
1383 0b2e EDB7 in r30,__SP_L__ |
1384 0b30 FEB7 in r31,__SP_H__ |
1385 0b32 3196 adiw r30,1 |
1386 0b34 8EE4 ldi r24,lo8(78) |
1387 0b36 ADB7 in r26,__SP_L__ |
1388 0b38 BEB7 in r27,__SP_H__ |
1389 0b3a 1196 adiw r26,1 |
1390 0b3c 8C93 st X,r24 |
1391 0b3e 81E0 ldi r24,lo8(1) |
1392 0b40 8183 std Z+1,r24 |
1393 0b42 8283 std Z+2,r24 |
1394 0b44 80E0 ldi r24,lo8(Mixer) |
1395 0b46 90E0 ldi r25,hi8(Mixer) |
1396 0b48 9483 std Z+4,r25 |
1397 0b4a 8383 std Z+3,r24 |
1398 0b4c 8DE4 ldi r24,lo8(77) |
1399 0b4e 90E0 ldi r25,hi8(77) |
1400 .L136: |
1401 0b50 9683 std Z+6,r25 |
1402 0b52 8583 std Z+5,r24 |
1403 0b54 0E94 0000 call SendOutData |
1404 0b58 EDB7 in r30,__SP_L__ |
1405 0b5a FEB7 in r31,__SP_H__ |
1406 0b5c 3796 adiw r30,7 |
1407 0b5e 0FB6 in __tmp_reg__,__SREG__ |
1408 0b60 F894 cli |
1409 0b62 FEBF out __SP_H__,r31 |
1410 0b64 0FBE out __SREG__,__tmp_reg__ |
1411 0b66 EDBF out __SP_L__,r30 |
1412 0b68 00C0 rjmp .L88 |
1413 .L96: |
1414 0b6a 8337 cpi r24,lo8(115) |
1415 0b6c 01F4 brne .+2 |
1416 0b6e 00C0 rjmp .L94 |
1417 0b70 8437 cpi r24,lo8(116) |
1418 0b72 01F4 brne .+2 |
1419 0b74 00C0 rjmp .L95 |
1420 0b76 8137 cpi r24,lo8(113) |
1421 0b78 01F0 breq .+2 |
1422 0b7a 00C0 rjmp .L88 |
1423 0b7c 0091 0000 lds r16,pRxData |
1424 0b80 1091 0000 lds r17,(pRxData)+1 |
1425 0b84 D801 movw r26,r16 |
1426 0b86 8C91 ld r24,X |
1427 0b88 8F3F cpi r24,lo8(-1) |
1428 0b8a 01F4 brne .+2 |
1429 0b8c 00C0 rjmp .L143 |
1430 .L104: |
1431 0b8e D801 movw r26,r16 |
1432 0b90 8C91 ld r24,X |
1433 0b92 8823 tst r24 |
1434 0b94 01F0 breq .+2 |
1435 0b96 00C0 rjmp .L105 |
1436 0b98 81E0 ldi r24,lo8(1) |
1437 0b9a 8C93 st X,r24 |
1438 0b9c 0091 0000 lds r16,pRxData |
1439 0ba0 1091 0000 lds r17,(pRxData)+1 |
1440 .L106: |
1441 0ba4 D801 movw r26,r16 |
1442 0ba6 8C91 ld r24,X |
1443 0ba8 0E94 0000 call ParamSet_ReadFromEEProm |
1444 0bac E091 0000 lds r30,pRxData |
1445 0bb0 F091 0000 lds r31,(pRxData)+1 |
1446 0bb4 E081 ld r30,Z |
1447 0bb6 80E5 ldi r24,lo8(80) |
1448 0bb8 8A83 std Y+2,r24 |
1449 .L107: |
1450 0bba 8091 0000 lds r24,txd_complete |
1451 0bbe 8823 tst r24 |
1452 0bc0 01F0 breq .L107 |
1453 0bc2 E983 std Y+1,r30 |
1454 0bc4 EDB7 in r30,__SP_L__ |
1455 0bc6 FEB7 in r31,__SP_H__ |
1456 0bc8 3F97 sbiw r30,15 |
1457 0bca 0FB6 in __tmp_reg__,__SREG__ |
1458 0bcc F894 cli |
1459 0bce FEBF out __SP_H__,r31 |
1460 0bd0 0FBE out __SREG__,__tmp_reg__ |
1461 0bd2 EDBF out __SP_L__,r30 |
1462 0bd4 3196 adiw r30,1 |
1463 0bd6 81E5 ldi r24,lo8(81) |
1464 0bd8 ADB7 in r26,__SP_L__ |
1465 0bda BEB7 in r27,__SP_H__ |
1466 0bdc 1196 adiw r26,1 |
1467 0bde 8C93 st X,r24 |
1468 0be0 81E0 ldi r24,lo8(1) |
1469 0be2 8183 std Z+1,r24 |
1470 0be4 83E0 ldi r24,lo8(3) |
1471 0be6 8283 std Z+2,r24 |
1472 0be8 CE01 movw r24,r28 |
1473 0bea 0196 adiw r24,1 |
1474 0bec 9483 std Z+4,r25 |
1475 0bee 8383 std Z+3,r24 |
1476 0bf0 21E0 ldi r18,lo8(1) |
1477 0bf2 30E0 ldi r19,hi8(1) |
1478 0bf4 3683 std Z+6,r19 |
1479 0bf6 2583 std Z+5,r18 |
1480 0bf8 CE01 movw r24,r28 |
1481 0bfa 0296 adiw r24,2 |
1482 0bfc 9087 std Z+8,r25 |
1483 0bfe 8783 std Z+7,r24 |
1484 0c00 3287 std Z+10,r19 |
1485 0c02 2187 std Z+9,r18 |
1486 0c04 80E0 ldi r24,lo8(ParamSet) |
1487 0c06 90E0 ldi r25,hi8(ParamSet) |
1488 0c08 9487 std Z+12,r25 |
1489 0c0a 8387 std Z+11,r24 |
1490 0c0c 85E6 ldi r24,lo8(101) |
1491 0c0e 90E0 ldi r25,hi8(101) |
1492 0c10 9687 std Z+14,r25 |
1493 0c12 8587 std Z+13,r24 |
1494 0c14 0E94 0000 call SendOutData |
1495 0c18 EDB7 in r30,__SP_L__ |
1496 0c1a FEB7 in r31,__SP_H__ |
1497 0c1c 3F96 adiw r30,15 |
1498 0c1e 0FB6 in __tmp_reg__,__SREG__ |
1499 0c20 F894 cli |
1500 0c22 FEBF out __SP_H__,r31 |
1501 0c24 0FBE out __SREG__,__tmp_reg__ |
1502 0c26 EDBF out __SP_L__,r30 |
1503 0c28 00C0 rjmp .L88 |
1504 .L142: |
1505 0c2a 8736 cpi r24,lo8(103) |
1506 0c2c 01F4 brne .L111 |
1507 0c2e 81E0 ldi r24,lo8(1) |
1508 0c30 8093 0000 sts Request_ExternalControl,r24 |
1509 .L111: |
1510 0c34 1092 0000 sts (pRxData)+1,__zero_reg__ |
1511 0c38 1092 0000 sts pRxData,__zero_reg__ |
1512 0c3c 1092 0000 sts RxDataLen,__zero_reg__ |
1513 0c40 1092 0000 sts rxd_buffer_locked,__zero_reg__ |
1514 0c44 0F90 pop __tmp_reg__ |
1515 0c46 0F90 pop __tmp_reg__ |
1516 0c48 CF91 pop r28 |
1517 0c4a DF91 pop r29 |
1518 0c4c 1F91 pop r17 |
1519 0c4e 0F91 pop r16 |
1520 0c50 0895 ret |
1521 .L114: |
1522 0c52 E091 0000 lds r30,pRxData |
1523 0c56 F091 0000 lds r31,(pRxData)+1 |
1524 0c5a 8081 ld r24,Z |
1525 0c5c 2AE0 ldi r18,lo8(10) |
1526 0c5e 829F mul r24,r18 |
1527 0c60 C001 movw r24,r0 |
1528 0c62 1124 clr r1 |
1529 0c64 9093 0000 sts (Data3D_Interval)+1,r25 |
1530 0c68 8093 0000 sts Data3D_Interval,r24 |
1531 0c6c 892B or r24,r25 |
1532 0c6e 01F0 breq .L111 |
1533 0c70 81E0 ldi r24,lo8(1) |
1534 0c72 8093 0000 sts Request_Data3D,r24 |
1535 0c76 00C0 rjmp .L111 |
1536 .L94: |
1537 0c78 8091 0000 lds r24,MKFlags |
1538 0c7c 80FD sbrc r24,0 |
1539 0c7e 00C0 rjmp .L88 |
1540 0c80 0091 0000 lds r16,pRxData |
1541 0c84 1091 0000 lds r17,(pRxData)+1 |
1542 0c88 D801 movw r26,r16 |
1543 0c8a 8C91 ld r24,X |
1544 0c8c 8823 tst r24 |
1545 0c8e 01F0 breq .L108 |
1546 0c90 8C91 ld r24,X |
1547 0c92 8630 cpi r24,lo8(6) |
1548 0c94 00F4 brsh .L108 |
1549 0c96 1196 adiw r26,1 |
1550 0c98 8C91 ld r24,X |
1551 0c9a 8035 cpi r24,lo8(80) |
1552 0c9c 01F0 breq .L144 |
1553 .L108: |
1554 0c9e 1982 std Y+1,__zero_reg__ |
1555 .L126: |
1556 0ca0 8091 0000 lds r24,txd_complete |
1557 0ca4 8823 tst r24 |
1558 0ca6 01F0 breq .L126 |
1559 0ca8 8DB7 in r24,__SP_L__ |
1560 0caa 9EB7 in r25,__SP_H__ |
1561 0cac 0797 sbiw r24,7 |
1562 0cae 0FB6 in __tmp_reg__,__SREG__ |
1563 0cb0 F894 cli |
1564 0cb2 9EBF out __SP_H__,r25 |
1565 0cb4 0FBE out __SREG__,__tmp_reg__ |
1566 0cb6 8DBF out __SP_L__,r24 |
1567 0cb8 EDB7 in r30,__SP_L__ |
1568 0cba FEB7 in r31,__SP_H__ |
1569 0cbc 3196 adiw r30,1 |
1570 0cbe 83E5 ldi r24,lo8(83) |
1571 0cc0 00C0 rjmp .L138 |
1572 .L90: |
1573 0cc2 E091 0000 lds r30,pRxData |
1574 0cc6 F091 0000 lds r31,(pRxData)+1 |
1575 0cca 8081 ld r24,Z |
1576 0ccc 8130 cpi r24,lo8(1) |
1577 0cce 01F4 brne .+2 |
1578 0cd0 00C0 rjmp .L145 |
1579 0cd2 1982 std Y+1,__zero_reg__ |
1580 .L103: |
1581 0cd4 8DB7 in r24,__SP_L__ |
1582 0cd6 9EB7 in r25,__SP_H__ |
1583 0cd8 0797 sbiw r24,7 |
1584 0cda 0FB6 in __tmp_reg__,__SREG__ |
1585 0cdc F894 cli |
1586 0cde 9EBF out __SP_H__,r25 |
1587 0ce0 0FBE out __SREG__,__tmp_reg__ |
1588 0ce2 8DBF out __SP_L__,r24 |
1589 0ce4 EDB7 in r30,__SP_L__ |
1590 0ce6 FEB7 in r31,__SP_H__ |
1591 0ce8 3196 adiw r30,1 |
1592 0cea 8DE4 ldi r24,lo8(77) |
1593 .L138: |
1594 0cec ADB7 in r26,__SP_L__ |
1595 0cee BEB7 in r27,__SP_H__ |
1596 0cf0 1196 adiw r26,1 |
1597 0cf2 8C93 st X,r24 |
1598 0cf4 81E0 ldi r24,lo8(1) |
1599 0cf6 8183 std Z+1,r24 |
1600 0cf8 8283 std Z+2,r24 |
1601 0cfa CE01 movw r24,r28 |
1602 0cfc 0196 adiw r24,1 |
1603 0cfe 9483 std Z+4,r25 |
1604 0d00 8383 std Z+3,r24 |
1605 0d02 81E0 ldi r24,lo8(1) |
1606 0d04 90E0 ldi r25,hi8(1) |
1607 0d06 00C0 rjmp .L136 |
1608 .L144: |
1609 0d08 A0E0 ldi r26,lo8(ParamSet) |
1610 0d0a B0E0 ldi r27,hi8(ParamSet) |
1611 0d0c F801 movw r30,r16 |
1612 0d0e 3296 adiw r30,2 |
1613 0d10 85E6 ldi r24,lo8(101) |
1614 .L109: |
1615 0d12 0190 ld r0,Z+ |
1616 0d14 0D92 st X+,r0 |
1617 0d16 8150 subi r24,lo8(-(-1)) |
1618 0d18 01F4 brne .L109 |
1619 0d1a F801 movw r30,r16 |
1620 0d1c 8081 ld r24,Z |
1621 0d1e 0E94 0000 call ParamSet_WriteToEEProm |
1622 0d22 6091 0000 lds r22,ParamSet+54 |
1623 0d26 70E0 ldi r23,lo8(0) |
1624 0d28 80E0 ldi r24,lo8(0) |
1625 0d2a 90E0 ldi r25,hi8(0) |
1626 0d2c 24EC ldi r18,lo8(2500) |
1627 0d2e 39E0 ldi r19,hi8(2500) |
1628 0d30 40E0 ldi r20,hlo8(2500) |
1629 0d32 50E0 ldi r21,hhi8(2500) |
1630 0d34 0E94 0000 call __mulsi3 |
1631 0d38 6093 0000 sts TurnOver180Nick,r22 |
1632 0d3c 7093 0000 sts (TurnOver180Nick)+1,r23 |
1633 0d40 8093 0000 sts (TurnOver180Nick)+2,r24 |
1634 0d44 9093 0000 sts (TurnOver180Nick)+3,r25 |
1635 0d48 6091 0000 lds r22,ParamSet+55 |
1636 0d4c 70E0 ldi r23,lo8(0) |
1637 0d4e 80E0 ldi r24,lo8(0) |
1638 0d50 90E0 ldi r25,hi8(0) |
1639 0d52 0E94 0000 call __mulsi3 |
1640 0d56 6093 0000 sts TurnOver180Roll,r22 |
1641 0d5a 7093 0000 sts (TurnOver180Roll)+1,r23 |
1642 0d5e 8093 0000 sts (TurnOver180Roll)+2,r24 |
1643 0d62 9093 0000 sts (TurnOver180Roll)+3,r25 |
1644 0d66 0E94 0000 call GetActiveParamSet |
1645 0d6a 8983 std Y+1,r24 |
1646 0d6c 80E0 ldi r24,lo8(0) |
1647 0d6e 0E94 0000 call LipoDetection |
1648 0d72 8981 ldd r24,Y+1 |
1649 0d74 6EE6 ldi r22,lo8(110) |
1650 0d76 70E0 ldi r23,hi8(110) |
1651 0d78 0E94 0000 call Beep |
1652 0d7c 00C0 rjmp .L126 |
1653 .L117: |
1654 0d7e 8FEF ldi r24,lo8(-1) |
1655 0d80 8093 0000 sts PcAccess,r24 |
1656 0d84 E091 0000 lds r30,pRxData |
1657 0d88 F091 0000 lds r31,(pRxData)+1 |
1658 0d8c 8081 ld r24,Z |
1659 0d8e 9091 0000 lds r25,RemoteKeys |
1660 0d92 892B or r24,r25 |
1661 0d94 8093 0000 sts RemoteKeys,r24 |
1662 0d98 8823 tst r24 |
1663 0d9a 01F0 breq .L124 |
1664 0d9c 1092 0000 sts DisplayLine,__zero_reg__ |
1665 .L124: |
1666 0da0 81E0 ldi r24,lo8(1) |
1667 0da2 8093 0000 sts Request_Display,r24 |
1668 0da6 00C0 rjmp .L111 |
1669 .L115: |
1670 0da8 E091 0000 lds r30,pRxData |
1671 0dac F091 0000 lds r31,(pRxData)+1 |
1672 0db0 8081 ld r24,Z |
1673 0db2 2AE0 ldi r18,lo8(10) |
1674 0db4 829F mul r24,r18 |
1675 0db6 C001 movw r24,r0 |
1676 0db8 1124 clr r1 |
1677 0dba 9093 0000 sts (DebugData_Interval)+1,r25 |
1678 0dbe 8093 0000 sts DebugData_Interval,r24 |
1679 0dc2 892B or r24,r25 |
1680 0dc4 01F4 brne .+2 |
1681 0dc6 00C0 rjmp .L111 |
1682 0dc8 81E0 ldi r24,lo8(1) |
1683 0dca 8093 0000 sts Request_DebugData,r24 |
1684 0dce 00C0 rjmp .L111 |
1685 .L113: |
1686 0dd0 A0E0 ldi r26,lo8(ExternControl) |
1687 0dd2 B0E0 ldi r27,hi8(ExternControl) |
1688 0dd4 8091 0000 lds r24,pRxData |
1689 0dd8 9091 0000 lds r25,pRxData+1 |
1690 0ddc 9C01 movw r18,r24 |
1691 0dde F901 movw r30,r18 |
1692 0de0 8BE0 ldi r24,lo8(11) |
1693 .L123: |
1694 0de2 0190 ld r0,Z+ |
1695 0de4 0D92 st X+,r0 |
1696 0de6 8150 subi r24,lo8(-(-1)) |
1697 0de8 01F4 brne .L123 |
1698 0dea 8091 0000 lds r24,ExternControl+9 |
1699 0dee 8093 0000 sts ConfirmFrame,r24 |
1700 0df2 00C0 rjmp .L137 |
1701 .L118: |
1702 0df4 8FEF ldi r24,lo8(-1) |
1703 0df6 8093 0000 sts PcAccess,r24 |
1704 0dfa E091 0000 lds r30,pRxData |
1705 0dfe F091 0000 lds r31,(pRxData)+1 |
1706 0e02 8081 ld r24,Z |
1707 0e04 8093 0000 sts MenuItem,r24 |
1708 0e08 81E0 ldi r24,lo8(1) |
1709 0e0a 8093 0000 sts Request_Display1,r24 |
1710 0e0e 00C0 rjmp .L111 |
1711 .L92: |
1712 0e10 81E0 ldi r24,lo8(1) |
1713 0e12 8093 0000 sts Request_PPMChannels,r24 |
1714 0e16 00C0 rjmp .L88 |
1715 .L95: |
1716 0e18 8091 0000 lds r24,RxDataLen |
1717 0e1c 8531 cpi r24,lo8(21) |
1718 0e1e 00F0 brlo .L97 |
1719 0e20 A0E0 ldi r26,lo8(MotorTest) |
1720 0e22 B0E0 ldi r27,hi8(MotorTest) |
1721 0e24 8091 0000 lds r24,pRxData |
1722 0e28 9091 0000 lds r25,pRxData+1 |
1723 0e2c 9C01 movw r18,r24 |
1724 0e2e F901 movw r30,r18 |
1725 0e30 80E1 ldi r24,lo8(16) |
1726 .L98: |
1727 0e32 0190 ld r0,Z+ |
1728 0e34 0D92 st X+,r0 |
1729 0e36 8150 subi r24,lo8(-(-1)) |
1730 0e38 01F4 brne .L98 |
1731 .L99: |
1732 0e3a 8FEF ldi r24,lo8(-1) |
1733 0e3c 8093 0000 sts MotorTest_Active,r24 |
1734 0e40 8093 0000 sts PcAccess,r24 |
1735 0e44 00C0 rjmp .L88 |
1736 .L97: |
1737 0e46 E091 0000 lds r30,pRxData |
1738 0e4a F091 0000 lds r31,(pRxData)+1 |
1739 0e4e 8081 ld r24,Z |
1740 0e50 9181 ldd r25,Z+1 |
1741 0e52 A281 ldd r26,Z+2 |
1742 0e54 B381 ldd r27,Z+3 |
1743 0e56 8093 0000 sts MotorTest,r24 |
1744 0e5a 9093 0000 sts (MotorTest)+1,r25 |
1745 0e5e A093 0000 sts (MotorTest)+2,r26 |
1746 0e62 B093 0000 sts (MotorTest)+3,r27 |
1747 0e66 00C0 rjmp .L99 |
1748 .L105: |
1749 0e68 F801 movw r30,r16 |
1750 0e6a 8081 ld r24,Z |
1751 0e6c 8630 cpi r24,lo8(6) |
1752 0e6e 00F4 brsh .+2 |
1753 0e70 00C0 rjmp .L106 |
1754 0e72 85E0 ldi r24,lo8(5) |
1755 0e74 8083 st Z,r24 |
1756 0e76 0091 0000 lds r16,pRxData |
1757 0e7a 1091 0000 lds r17,(pRxData)+1 |
1758 0e7e 00C0 rjmp .L106 |
1759 .L145: |
1760 0e80 A0E0 ldi r26,lo8(Mixer) |
1761 0e82 B0E0 ldi r27,hi8(Mixer) |
1762 0e84 8DE4 ldi r24,lo8(77) |
1763 .L101: |
1764 0e86 0190 ld r0,Z+ |
1765 0e88 0D92 st X+,r0 |
1766 0e8a 8150 subi r24,lo8(-(-1)) |
1767 0e8c 01F4 brne .L101 |
1768 0e8e 0E94 0000 call MixerTable_WriteToEEProm |
1769 .L102: |
1770 0e92 8091 0000 lds r24,txd_complete |
1771 0e96 8823 tst r24 |
1772 0e98 01F0 breq .L102 |
1773 0e9a 81E0 ldi r24,lo8(1) |
1774 0e9c 8983 std Y+1,r24 |
1775 0e9e 00C0 rjmp .L103 |
1776 .L143: |
1777 0ea0 82E0 ldi r24,lo8(2) |
1778 0ea2 90E0 ldi r25,hi8(2) |
1779 0ea4 0E94 0000 call GetParamByte |
1780 0ea8 F801 movw r30,r16 |
1781 0eaa 8083 st Z,r24 |
1782 0eac 0091 0000 lds r16,pRxData |
1783 0eb0 1091 0000 lds r17,(pRxData)+1 |
1784 0eb4 00C0 rjmp .L104 |
1786 .global __vector_20 |
1788 __vector_20: |
1789 0eb6 1F92 push __zero_reg__ |
1790 0eb8 0F92 push r0 |
1791 0eba 0FB6 in r0,__SREG__ |
1792 0ebc 0F92 push r0 |
1793 0ebe 1124 clr __zero_reg__ |
1794 0ec0 2F93 push r18 |
1795 0ec2 3F93 push r19 |
1796 0ec4 4F93 push r20 |
1797 0ec6 5F93 push r21 |
1798 0ec8 6F93 push r22 |
1799 0eca 7F93 push r23 |
1800 0ecc 8F93 push r24 |
1801 0ece 9F93 push r25 |
1802 0ed0 AF93 push r26 |
1803 0ed2 BF93 push r27 |
1804 0ed4 CF93 push r28 |
1805 0ed6 DF93 push r29 |
1806 0ed8 EF93 push r30 |
1807 0eda FF93 push r31 |
1808 /* prologue: Signal */ |
1809 /* frame size = 0 */ |
1810 0edc 6091 C600 lds r22,198 |
1811 0ee0 8091 0000 lds r24,rxd_buffer_locked |
1812 0ee4 8823 tst r24 |
1813 0ee6 01F4 brne .L154 |
1814 0ee8 3091 0000 lds r19,ptr_rxd_buffer.1854 |
1815 0eec 3323 tst r19 |
1816 0eee 01F0 breq .L155 |
1817 0ef0 3639 cpi r19,lo8(-106) |
1818 0ef2 00F0 brlo .L149 |
1819 0ef4 1092 0000 sts ptr_rxd_buffer.1854,__zero_reg__ |
1820 0ef8 1092 0000 sts rxd_buffer_locked,__zero_reg__ |
1821 .L154: |
1822 /* epilogue start */ |
1823 0efc FF91 pop r31 |
1824 0efe EF91 pop r30 |
1825 0f00 DF91 pop r29 |
1826 0f02 CF91 pop r28 |
1827 0f04 BF91 pop r27 |
1828 0f06 AF91 pop r26 |
1829 0f08 9F91 pop r25 |
1830 0f0a 8F91 pop r24 |
1831 0f0c 7F91 pop r23 |
1832 0f0e 6F91 pop r22 |
1833 0f10 5F91 pop r21 |
1834 0f12 4F91 pop r20 |
1835 0f14 3F91 pop r19 |
1836 0f16 2F91 pop r18 |
1837 0f18 0F90 pop r0 |
1838 0f1a 0FBE out __SREG__,r0 |
1839 0f1c 0F90 pop r0 |
1840 0f1e 1F90 pop __zero_reg__ |
1841 0f20 1895 reti |
1842 .L155: |
1843 0f22 6332 cpi r22,lo8(35) |
1844 0f24 01F4 brne .+2 |
1845 0f26 00C0 rjmp .L156 |
1846 .L149: |
1847 0f28 6D30 cpi r22,lo8(13) |
1848 0f2a 01F0 breq .L151 |
1849 0f2c E32F mov r30,r19 |
1850 0f2e F0E0 ldi r31,lo8(0) |
1851 0f30 E050 subi r30,lo8(-(rxd_buffer)) |
1852 0f32 F040 sbci r31,hi8(-(rxd_buffer)) |
1853 0f34 6083 st Z,r22 |
1854 0f36 3F5F subi r19,lo8(-(1)) |
1855 0f38 3093 0000 sts ptr_rxd_buffer.1854,r19 |
1856 0f3c 8091 0000 lds r24,crc.1853 |
1857 0f40 9091 0000 lds r25,(crc.1853)+1 |
1858 0f44 860F add r24,r22 |
1859 0f46 911D adc r25,__zero_reg__ |
1860 0f48 9093 0000 sts (crc.1853)+1,r25 |
1861 0f4c 8093 0000 sts crc.1853,r24 |
1862 0f50 00C0 rjmp .L154 |
1863 .L151: |
1864 0f52 A32F mov r26,r19 |
1865 0f54 B0E0 ldi r27,lo8(0) |
1866 0f56 FD01 movw r30,r26 |
1867 0f58 E050 subi r30,lo8(-(rxd_buffer-2)) |
1868 0f5a F040 sbci r31,hi8(-(rxd_buffer-2)) |
1869 0f5c 9081 ld r25,Z |
1870 0f5e ED01 movw r28,r26 |
1871 0f60 C050 subi r28,lo8(-(rxd_buffer-1)) |
1872 0f62 D040 sbci r29,hi8(-(rxd_buffer-1)) |
1873 0f64 8881 ld r24,Y |
1874 0f66 4091 0000 lds r20,crc.1853 |
1875 0f6a 5091 0000 lds r21,(crc.1853)+1 |
1876 0f6e 491B sub r20,r25 |
1877 0f70 5109 sbc r21,__zero_reg__ |
1878 0f72 481B sub r20,r24 |
1879 0f74 5109 sbc r21,__zero_reg__ |
1880 0f76 5F70 andi r21,hi8(4095) |
1881 0f78 5093 0000 sts (crc.1853)+1,r21 |
1882 0f7c 4093 0000 sts crc.1853,r20 |
1883 0f80 2081 ld r18,Z |
1884 0f82 CA01 movw r24,r20 |
1885 0f84 0024 clr __tmp_reg__ |
1886 0f86 880F lsl r24 |
1887 0f88 991F rol r25 |
1888 0f8a 001C rol __tmp_reg__ |
1889 0f8c 880F lsl r24 |
1890 0f8e 991F rol r25 |
1891 0f90 001C rol __tmp_reg__ |
1892 0f92 892F mov r24,r25 |
1893 0f94 902D mov r25,__tmp_reg__ |
1894 0f96 835C subi r24,lo8(-(61)) |
1895 0f98 2817 cp r18,r24 |
1896 0f9a 01F0 breq .L157 |
1897 .L152: |
1898 0f9c 1092 0000 sts rxd_buffer_locked,__zero_reg__ |
1899 .L153: |
1900 0fa0 1092 0000 sts ptr_rxd_buffer.1854,__zero_reg__ |
1901 0fa4 00C0 rjmp .L154 |
1902 .L156: |
1903 0fa6 6093 0000 sts rxd_buffer,r22 |
1904 0faa 81E0 ldi r24,lo8(1) |
1905 0fac 8093 0000 sts ptr_rxd_buffer.1854,r24 |
1906 0fb0 83E2 ldi r24,lo8(35) |
1907 0fb2 90E0 ldi r25,hi8(35) |
1908 0fb4 9093 0000 sts (crc.1853)+1,r25 |
1909 0fb8 8093 0000 sts crc.1853,r24 |
1910 0fbc 00C0 rjmp .L154 |
1911 .L157: |
1912 0fbe 9881 ld r25,Y |
1913 0fc0 842F mov r24,r20 |
1914 0fc2 8F73 andi r24,lo8(63) |
1915 0fc4 835C subi r24,lo8(-(61)) |
1916 0fc6 9817 cp r25,r24 |
1917 0fc8 01F4 brne .L152 |
1918 0fca A050 subi r26,lo8(-(rxd_buffer)) |
1919 0fcc B040 sbci r27,hi8(-(rxd_buffer)) |
1920 0fce 6C93 st X,r22 |
1921 0fd0 3F5F subi r19,lo8(-(1)) |
1922 0fd2 3093 0000 sts ReceivedBytes,r19 |
1923 0fd6 81E0 ldi r24,lo8(1) |
1924 0fd8 8093 0000 sts rxd_buffer_locked,r24 |
1925 0fdc 8091 0000 lds r24,rxd_buffer+2 |
1926 0fe0 8235 cpi r24,lo8(82) |
1927 0fe2 01F4 brne .L153 |
1928 0fe4 2CE0 ldi r18,lo8(12) |
1929 0fe6 88E1 ldi r24,lo8(24) |
1930 0fe8 90E0 ldi r25,hi8(24) |
1931 /* #APP */ |
1932 ; 330 "uart0.c" 1 |
1933 0fea 0FB6 in __tmp_reg__,__SREG__ |
1934 0fec F894 cli |
1935 0fee A895 wdr |
1936 0ff0 8093 6000 sts 96,r24 |
1937 0ff4 0FBE out __SREG__,__tmp_reg__ |
1938 0ff6 2093 6000 sts 96,r18 |
1939 |
1940 ; 0 "" 2 |
1941 /* #NOAPP */ |
1942 0ffa 0E94 0000 call Servo_Off |
1943 0ffe 00C0 rjmp .L153 |
1945 .global Request_VerInfo |
1946 .global Request_VerInfo |
1947 .section .bss |
1950 Request_VerInfo: |
1951 0000 00 .skip 1,0 |
1952 .global Request_ExternalControl |
1953 .global Request_ExternalControl |
1956 Request_ExternalControl: |
1957 0001 00 .skip 1,0 |
1958 .global Request_Display |
1959 .global Request_Display |
1962 Request_Display: |
1963 0002 00 .skip 1,0 |
1964 .global Request_Display1 |
1965 .global Request_Display1 |
1968 Request_Display1: |
1969 0003 00 .skip 1,0 |
1970 .global Request_DebugData |
1971 .global Request_DebugData |
1974 Request_DebugData: |
1975 0004 00 .skip 1,0 |
1976 .global Request_Data3D |
1977 .global Request_Data3D |
1980 Request_Data3D: |
1981 0005 00 .skip 1,0 |
1982 .global Request_DebugLabel |
1983 .data |
1986 Request_DebugLabel: |
1987 0000 FF .byte -1 |
1988 .global Request_PPMChannels |
1989 .global Request_PPMChannels |
1990 .section .bss |
1993 Request_PPMChannels: |
1994 0006 00 .skip 1,0 |
1995 .global Request_MotorTest |
1996 .global Request_MotorTest |
1999 Request_MotorTest: |
2000 0007 00 .skip 1,0 |
2001 .global DisplayLine |
2002 .global DisplayLine |
2005 DisplayLine: |
2006 0008 00 .skip 1,0 |
2007 .global rxd_buffer_locked |
2008 .global rxd_buffer_locked |
2011 rxd_buffer_locked: |
2012 0009 00 .skip 1,0 |
2013 .global txd_complete |
2014 .data |
2017 txd_complete: |
2018 0001 01 .byte 1 |
2019 .global ReceivedBytes |
2020 .global ReceivedBytes |
2021 .section .bss |
2024 ReceivedBytes: |
2025 000a 00 .skip 1,0 |
2026 .global pRxData |
2027 .global pRxData |
2030 pRxData: |
2031 000b 0000 .skip 2,0 |
2032 .global RxDataLen |
2033 .global RxDataLen |
2036 RxDataLen: |
2037 000d 00 .skip 1,0 |
2038 .global PcAccess |
2039 .data |
2042 PcAccess: |
2043 0002 64 .byte 100 |
2044 .global MotorTest_Active |
2045 .global MotorTest_Active |
2046 .section .bss |
2049 MotorTest_Active: |
2050 000e 00 .skip 1,0 |
2051 .global MotorTest |
2052 .global MotorTest |
2055 MotorTest: |
2056 000f 0000 0000 .skip 16,0 |
2056 0000 0000 |
2056 0000 0000 |
2056 0000 0000 |
2057 .global DebugData_Interval |
2058 .data |
2061 DebugData_Interval: |
2062 0003 F401 .word 500 |
2063 .global Data3D_Interval |
2064 .global Data3D_Interval |
2065 .section .bss |
2068 Data3D_Interval: |
2069 001f 0000 .skip 2,0 |
2070 .global ANALOG_LABEL |
2071 .section .progmem.data,"a",@progbits |
2074 ANALOG_LABEL: |
2075 0000 416E 676C .ascii "AngleNick " |
2075 654E 6963 |
2075 6B20 2020 |
2075 2020 2020 |
2076 0010 416E 676C .ascii "AngleRoll " |
2076 6552 6F6C |
2076 6C20 2020 |
2076 2020 2020 |
2077 0020 4163 634E .ascii "AccNick " |
2077 6963 6B20 |
2077 2020 2020 |
2077 2020 2020 |
2078 0030 4163 6352 .ascii "AccRoll " |
2078 6F6C 6C20 |
2078 2020 2020 |
2078 2020 2020 |
2079 0040 5961 7747 .ascii "YawGyro " |
2079 7972 6F20 |
2079 2020 2020 |
2079 2020 2020 |
2080 0050 4865 6967 .ascii "Height Value " |
2080 6874 2056 |
2080 616C 7565 |
2080 2020 2020 |
2081 0060 4163 635A .ascii "AccZ " |
2081 2020 2020 |
2081 2020 2020 |
2081 2020 2020 |
2082 0070 4761 7320 .ascii "Gas " |
2082 2020 2020 |
2082 2020 2020 |
2082 2020 2020 |
2083 0080 436F 6D70 .ascii "Compass Heading " |
2083 6173 7320 |
2083 4865 6164 |
2083 696E 6720 |
2084 0090 566F 6C74 .ascii "Voltage " |
2084 6167 6520 |
2084 2020 2020 |
2084 2020 2020 |
2085 00a0 5265 6365 .ascii "Receiver Level " |
2085 6976 6572 |
2085 204C 6576 |
2085 656C 2020 |
2086 00b0 5961 7747 .ascii "YawGyro Heading " |
2086 7972 6F20 |
2086 4865 6164 |
2086 696E 6720 |
2087 00c0 4D6F 746F .ascii "Motor Front " |
2087 7220 4672 |
2087 6F6E 7420 |
2087 2020 2020 |
2088 00d0 4D6F 746F .ascii "Motor Rear " |
2088 7220 5265 |
2088 6172 2020 |
2088 2020 2020 |
2089 00e0 4D6F 746F .ascii "Motor Left " |
2089 7220 4C65 |
2089 6674 2020 |
2089 2020 2020 |
2090 00f0 4D6F 746F .ascii "Motor Right " |
2090 7220 5269 |
2090 6768 7420 |
2090 2020 2020 |
2091 0100 2020 2020 .ascii " " |
2091 2020 2020 |
2091 2020 2020 |
2091 2020 2020 |
2092 0110 2020 2020 .ascii " " |
2092 2020 2020 |
2092 2020 2020 |
2092 2020 2020 |
2093 0120 5661 7269 .ascii "VarioMeter " |
2093 6F4D 6574 |
2093 6572 2020 |
2093 2020 2020 |
2094 0130 4D4B 334D .ascii "MK3MAG CalState " |
2094 4147 2043 |
2094 616C 5374 |
2094 6174 6520 |
2095 0140 4E69 636B .ascii "NickServo " |
2095 5365 7276 |
2095 6F20 2020 |
2095 2020 2020 |
2096 0150 486F 6F76 .ascii "Hoovergas " |
2096 6572 6761 |
2096 7320 2020 |
2096 2020 2020 |
2097 0160 4643 5F4A .ascii "FC_JN Input 1 " |
2097 4E20 496E |
2097 7075 7420 |
2097 3120 2020 |
2098 0170 4643 5F4A .ascii "FC_JN Input 2 " |
2098 4E20 496E |
2098 7075 7420 |
2098 3220 2020 |
2099 0180 4643 5F4A .ascii "FC_JN Input 3 " |
2099 4E20 496E |
2099 7075 7420 |
2099 3320 2020 |
2100 0190 4643 5F4A .ascii "FC_JN Input 4 " |
2100 4E20 496E |
2100 7075 7420 |
2100 3420 2020 |
2101 01a0 2020 2020 .ascii " " |
2101 2020 2020 |
2101 2020 2020 |
2101 2020 2020 |
2102 01b0 2020 2020 .ascii " " |
2102 2020 2020 |
2102 2020 2020 |
2102 2020 2020 |
2103 01c0 4932 432D .ascii "I2C-Error " |
2103 4572 726F |
2103 7220 2020 |
2103 2020 2020 |
2104 01d0 2020 2020 .ascii " " |
2104 2020 2020 |
2104 2020 2020 |
2104 2020 2020 |
2105 01e0 4750 5320 .ascii "GPS Nick " |
2105 4E69 636B |
2105 2020 2020 |
2105 2020 2020 |
2106 01f0 4750 5320 .ascii "GPS Roll " |
2106 526F 6C6C |
2106 2020 2020 |
2106 2020 2020 |
2107 .lcomm ptr_rxd_buffer.1854,1 |
2108 .lcomm crc.1853,2 |
2109 .lcomm ptr_txd_buffer.1840,2 |
2110 .comm DebugOut,66,1 |
2111 .comm ExternControl,11,1 |
2112 .comm txd_buffer,150,1 |
2113 .comm rxd_buffer,150,1 |
2114 .comm ConfirmFrame,1,1 |
2115 .comm Data3D,14,1 |
2116 .comm UART_VersionInfo,10,1 |
2117 .comm DebugData_Timer,2,1 |
2118 .comm Data3D_Timer,2,1 |
2119 .global __do_copy_data |
2120 .global __do_clear_bss |
DEFINED SYMBOLS |
*ABS*:00000000 uart0.c |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:3 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:4 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:5 *ABS*:00000034 __CCP__ |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:11 .text:00000000 __vector_22 |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2017 .data:00000001 txd_complete |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2108 .bss:00000024 ptr_txd_buffer.1840 |
*COM*:00000096 txd_buffer |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:66 .text:0000006e AddCRC |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:140 .text:000000f4 Decode64 |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2024 .bss:0000000a ReceivedBytes |
*COM*:00000096 rxd_buffer |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2030 .bss:0000000b pRxData |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2036 .bss:0000000d RxDataLen |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:243 .text:000001b0 uart_putchar |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:267 .text:000001d4 USART0_Init |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2061 .data:00000003 DebugData_Interval |
*COM*:00000002 DebugData_Timer |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2011 .bss:00000009 rxd_buffer_locked |
*COM*:0000000a UART_VersionInfo |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:360 .text:000002d2 SendOutData |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:640 .text:000004e0 USART0_TransmitTxData |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1950 .bss:00000000 Request_VerInfo |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1962 .bss:00000002 Request_Display |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1968 .bss:00000003 Request_Display1 |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1986 .data:00000000 Request_DebugLabel |
*COM*:00000001 ConfirmFrame |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1974 .bss:00000004 Request_DebugData |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2068 .bss:0000001f Data3D_Interval |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1980 .bss:00000005 Request_Data3D |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1956 .bss:00000001 Request_ExternalControl |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1999 .bss:00000007 Request_MotorTest |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2074 .progmem.data:00000000 ANALOG_LABEL |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2005 .bss:00000008 DisplayLine |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1993 .bss:00000006 Request_PPMChannels |
*COM*:0000000b ExternControl |
*COM*:00000002 Data3D_Timer |
*COM*:00000042 DebugOut |
*COM*:0000000e Data3D |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1289 .text:00000a6e USART0_ProcessRxData |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2042 .data:00000002 PcAccess |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2055 .bss:0000000f MotorTest |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2049 .bss:0000000e MotorTest_Active |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1788 .text:00000eb6 __vector_20 |
.bss:00000021 ptr_rxd_buffer.1854 |
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2107 .bss:00000022 crc.1853 |
|
UNDEFINED SYMBOLS |
SetDelay |
LCD_PrintMenu |
MenuItem |
MaxMenuItem |
DisplayBuff |
memcpy_P |
PPM_in |
CheckDelay |
ParamSet |
IntegralGyroNick |
__mulsi3 |
__divmodsi4 |
IntegralGyroRoll |
YawGyroHeading |
Mixer |
ParamSet_ReadFromEEProm |
MKFlags |
ParamSet_WriteToEEProm |
TurnOver180Nick |
TurnOver180Roll |
GetActiveParamSet |
LipoDetection |
Beep |
RemoteKeys |
MixerTable_WriteToEEProm |
GetParamByte |
Servo_Off |
__do_copy_data |
__do_clear_bss |