0,0 → 1,2196 |
1 .file "uart.c" |
2 __SREG__ = 0x3f |
3 __SP_H__ = 0x3e |
4 __SP_L__ = 0x3d |
5 __tmp_reg__ = 0 |
6 __zero_reg__ = 1 |
7 .global __do_copy_data |
8 .global __do_clear_bss |
9 .text |
10 .global __vector_22 |
12 __vector_22: |
13 /* prologue: frame size=0 */ |
14 0000 1F92 push __zero_reg__ |
15 0002 0F92 push __tmp_reg__ |
16 0004 0FB6 in __tmp_reg__,__SREG__ |
17 0006 0F92 push __tmp_reg__ |
18 0008 1124 clr __zero_reg__ |
19 000a 8F93 push r24 |
20 000c 9F93 push r25 |
21 000e EF93 push r30 |
22 0010 FF93 push r31 |
23 /* prologue end (size=9) */ |
24 0012 8091 0000 lds r24,UebertragungAbgeschlossen |
25 0016 8823 tst r24 |
26 0018 01F4 brne .L2 |
27 001a 8091 0000 lds r24,ptr.2394 |
28 001e 9091 0000 lds r25,(ptr.2394)+1 |
29 0022 0196 adiw r24,1 |
30 0024 9093 0000 sts (ptr.2394)+1,r25 |
31 0028 8093 0000 sts ptr.2394,r24 |
32 002c FC01 movw r30,r24 |
33 002e E050 subi r30,lo8(-(SendeBuffer)) |
34 0030 F040 sbci r31,hi8(-(SendeBuffer)) |
35 0032 E081 ld r30,Z |
36 0034 ED30 cpi r30,lo8(13) |
37 0036 01F0 breq .L4 |
38 0038 8639 cpi r24,150 |
39 003a 9105 cpc r25,__zero_reg__ |
40 003c 01F0 breq .L4 |
41 .L6: |
42 003e E093 C600 sts 198,r30 |
43 0042 00C0 rjmp .L8 |
44 .L2: |
45 0044 1092 0000 sts (ptr.2394)+1,__zero_reg__ |
46 0048 1092 0000 sts ptr.2394,__zero_reg__ |
47 004c 00C0 rjmp .L8 |
48 .L4: |
49 004e 1092 0000 sts (ptr.2394)+1,__zero_reg__ |
50 0052 1092 0000 sts ptr.2394,__zero_reg__ |
51 0056 81E0 ldi r24,lo8(1) |
52 0058 8093 0000 sts UebertragungAbgeschlossen,r24 |
53 005c 00C0 rjmp .L6 |
54 .L8: |
55 /* epilogue: frame size=0 */ |
56 005e FF91 pop r31 |
57 0060 EF91 pop r30 |
58 0062 9F91 pop r25 |
59 0064 8F91 pop r24 |
60 0066 0F90 pop __tmp_reg__ |
61 0068 0FBE out __SREG__,__tmp_reg__ |
62 006a 0F90 pop __tmp_reg__ |
63 006c 1F90 pop __zero_reg__ |
64 006e 1895 reti |
65 /* epilogue end (size=9) */ |
66 /* function __vector_22 size 56 (38) */ |
68 .global __vector_20 |
70 __vector_20: |
71 /* prologue: frame size=0 */ |
72 0070 1F92 push __zero_reg__ |
73 0072 0F92 push __tmp_reg__ |
74 0074 0FB6 in __tmp_reg__,__SREG__ |
75 0076 0F92 push __tmp_reg__ |
76 0078 1124 clr __zero_reg__ |
77 007a 2F93 push r18 |
78 007c 3F93 push r19 |
79 007e 4F93 push r20 |
80 0080 8F93 push r24 |
81 0082 9F93 push r25 |
82 0084 AF93 push r26 |
83 0086 BF93 push r27 |
84 0088 CF93 push r28 |
85 008a DF93 push r29 |
86 008c EF93 push r30 |
87 008e FF93 push r31 |
88 /* prologue end (size=16) */ |
89 0090 8091 C600 lds r24,198 |
90 0094 8093 0000 sts SioTmp,r24 |
91 0098 4091 0000 lds r20,buf_ptr.2410 |
92 009c 4639 cpi r20,lo8(-106) |
93 009e 00F0 brlo .L11 |
94 00a0 1092 0000 sts UartState.2411,__zero_reg__ |
95 .L11: |
96 00a4 8091 0000 lds r24,SioTmp |
97 00a8 8D30 cpi r24,lo8(13) |
98 00aa 01F0 breq .L37 |
99 00ac 8091 0000 lds r24,UartState.2411 |
100 .L13: |
101 00b0 8130 cpi r24,lo8(1) |
102 00b2 01F4 brne .+2 |
103 00b4 00C0 rjmp .L26 |
104 00b6 8130 cpi r24,lo8(1) |
105 00b8 00F0 brlo .L25 |
106 00ba 8230 cpi r24,lo8(2) |
107 00bc 01F4 brne .+2 |
108 00be 00C0 rjmp .L38 |
109 00c0 1092 0000 sts UartState.2411,__zero_reg__ |
110 00c4 00C0 rjmp .L34 |
111 .L25: |
112 00c6 8091 0000 lds r24,SioTmp |
113 00ca 8332 cpi r24,lo8(35) |
114 00cc 01F4 brne .+2 |
115 00ce 00C0 rjmp .L39 |
116 .L28: |
117 00d0 8091 0000 lds r24,SioTmp |
118 00d4 8093 0000 sts RxdBuffer,r24 |
119 00d8 81E0 ldi r24,lo8(1) |
120 00da 8093 0000 sts buf_ptr.2410,r24 |
121 00de 8091 0000 lds r24,SioTmp |
122 00e2 90E0 ldi r25,lo8(0) |
123 00e4 9093 0000 sts (crc.2407)+1,r25 |
124 00e8 8093 0000 sts crc.2407,r24 |
125 00ec 00C0 rjmp .L34 |
126 .L37: |
127 00ee 8091 0000 lds r24,UartState.2411 |
128 00f2 8230 cpi r24,lo8(2) |
129 00f4 01F4 brne .L13 |
130 00f6 1092 0000 sts UartState.2411,__zero_reg__ |
131 00fa A42F mov r26,r20 |
132 00fc B0E0 ldi r27,lo8(0) |
133 00fe FD01 movw r30,r26 |
134 0100 E050 subi r30,lo8(-(RxdBuffer-2)) |
135 0102 F040 sbci r31,hi8(-(RxdBuffer-2)) |
136 0104 3081 ld r19,Z |
137 0106 ED01 movw r28,r26 |
138 0108 C050 subi r28,lo8(-(RxdBuffer-1)) |
139 010a D040 sbci r29,hi8(-(RxdBuffer-1)) |
140 010c 2881 ld r18,Y |
141 010e 8091 0000 lds r24,crc.2407 |
142 0112 9091 0000 lds r25,(crc.2407)+1 |
143 0116 831B sub r24,r19 |
144 0118 9109 sbc r25,__zero_reg__ |
145 011a 821B sub r24,r18 |
146 011c 9109 sbc r25,__zero_reg__ |
147 011e 9F70 andi r25,hi8(4095) |
148 0120 9093 0000 sts (crc.2407)+1,r25 |
149 0124 8093 0000 sts crc.2407,r24 |
150 0128 9C01 movw r18,r24 |
151 012a 0024 clr __tmp_reg__ |
152 012c 220F lsl r18 |
153 012e 331F rol r19 |
154 0130 001C rol __tmp_reg__ |
155 0132 220F lsl r18 |
156 0134 331F rol r19 |
157 0136 001C rol __tmp_reg__ |
158 0138 232F mov r18,r19 |
159 013a 302D mov r19,__tmp_reg__ |
160 013c 235C subi r18,lo8(-(61)) |
161 013e 2093 0000 sts crc1.2408,r18 |
162 0142 982F mov r25,r24 |
163 0144 9F73 andi r25,lo8(63) |
164 0146 935C subi r25,lo8(-(61)) |
165 0148 9093 0000 sts crc2.2409,r25 |
166 014c 8081 ld r24,Z |
167 014e 2817 cp r18,r24 |
168 0150 01F4 brne .+2 |
169 0152 00C0 rjmp .L40 |
170 .L16: |
171 0154 8091 0000 lds r24,CntCrcError |
172 0158 8F5F subi r24,lo8(-(1)) |
173 015a 8093 0000 sts CntCrcError,r24 |
174 015e 90E0 ldi r25,lo8(0) |
175 .L19: |
176 0160 8091 0000 lds r24,NeuerDatensatzEmpfangen |
177 0164 8823 tst r24 |
178 0166 01F0 breq .+2 |
179 0168 00C0 rjmp .L34 |
180 016a 9923 tst r25 |
181 016c 01F4 brne .+2 |
182 016e 00C0 rjmp .L34 |
183 0170 81E0 ldi r24,lo8(1) |
184 0172 8093 0000 sts NeuerDatensatzEmpfangen,r24 |
185 0176 4F5F subi r20,lo8(-(1)) |
186 0178 4093 0000 sts AnzahlEmpfangsBytes,r20 |
187 017c A050 subi r26,lo8(-(RxdBuffer)) |
188 017e B040 sbci r27,hi8(-(RxdBuffer)) |
189 0180 8DE0 ldi r24,lo8(13) |
190 0182 8C93 st X,r24 |
191 0184 8091 0000 lds r24,RxdBuffer+2 |
192 0188 8235 cpi r24,lo8(82) |
193 018a 01F0 breq .+2 |
194 018c 00C0 rjmp .L34 |
195 018e 88E1 ldi r24,lo8(24) |
196 0190 90E0 ldi r25,hi8(24) |
197 0192 2CE0 ldi r18,lo8(12) |
198 /* #APP */ |
199 0194 0FB6 in __tmp_reg__,__SREG__ |
200 0196 F894 cli |
201 0198 A895 wdr |
202 019a 8093 6000 sts 96,r24 |
203 019e 0FBE out __SREG__,__tmp_reg__ |
204 01a0 2093 6000 sts 96,r18 |
205 /* #NOAPP */ |
206 01a4 00C0 rjmp .L34 |
207 .L38: |
208 01a6 E42F mov r30,r20 |
209 01a8 F0E0 ldi r31,lo8(0) |
210 01aa 8091 0000 lds r24,SioTmp |
211 01ae E050 subi r30,lo8(-(RxdBuffer)) |
212 01b0 F040 sbci r31,hi8(-(RxdBuffer)) |
213 01b2 8083 st Z,r24 |
214 01b4 4639 cpi r20,lo8(-106) |
215 01b6 00F0 brlo .L41 |
216 01b8 1092 0000 sts UartState.2411,__zero_reg__ |
217 .L33: |
218 01bc 2091 0000 lds r18,SioTmp |
219 01c0 8091 0000 lds r24,crc.2407 |
220 01c4 9091 0000 lds r25,(crc.2407)+1 |
221 01c8 820F add r24,r18 |
222 01ca 911D adc r25,__zero_reg__ |
223 01cc 9093 0000 sts (crc.2407)+1,r25 |
224 01d0 8093 0000 sts crc.2407,r24 |
225 01d4 00C0 rjmp .L34 |
226 .L26: |
227 01d6 82E0 ldi r24,lo8(2) |
228 01d8 8093 0000 sts UartState.2411,r24 |
229 01dc E42F mov r30,r20 |
230 01de F0E0 ldi r31,lo8(0) |
231 01e0 8091 0000 lds r24,SioTmp |
232 01e4 E050 subi r30,lo8(-(RxdBuffer)) |
233 01e6 F040 sbci r31,hi8(-(RxdBuffer)) |
234 01e8 8083 st Z,r24 |
235 01ea 4F5F subi r20,lo8(-(1)) |
236 01ec 4093 0000 sts buf_ptr.2410,r20 |
237 01f0 2091 0000 lds r18,SioTmp |
238 01f4 8091 0000 lds r24,crc.2407 |
239 01f8 9091 0000 lds r25,(crc.2407)+1 |
240 01fc 820F add r24,r18 |
241 01fe 911D adc r25,__zero_reg__ |
242 0200 9093 0000 sts (crc.2407)+1,r25 |
243 0204 8093 0000 sts crc.2407,r24 |
244 0208 00C0 rjmp .L34 |
245 .L41: |
246 020a 4F5F subi r20,lo8(-(1)) |
247 020c 4093 0000 sts buf_ptr.2410,r20 |
248 0210 00C0 rjmp .L33 |
249 .L39: |
250 0212 8091 0000 lds r24,NeuerDatensatzEmpfangen |
251 0216 8823 tst r24 |
252 0218 01F0 breq .+2 |
253 021a 00C0 rjmp .L28 |
254 021c 81E0 ldi r24,lo8(1) |
255 021e 8093 0000 sts UartState.2411,r24 |
256 0222 00C0 rjmp .L28 |
257 .L40: |
258 0224 8881 ld r24,Y |
259 0226 9817 cp r25,r24 |
260 0228 01F0 breq .+2 |
261 022a 00C0 rjmp .L16 |
262 022c 91E0 ldi r25,lo8(1) |
263 022e 00C0 rjmp .L19 |
264 .L34: |
265 /* epilogue: frame size=0 */ |
266 0230 FF91 pop r31 |
267 0232 EF91 pop r30 |
268 0234 DF91 pop r29 |
269 0236 CF91 pop r28 |
270 0238 BF91 pop r27 |
271 023a AF91 pop r26 |
272 023c 9F91 pop r25 |
273 023e 8F91 pop r24 |
274 0240 4F91 pop r20 |
275 0242 3F91 pop r19 |
276 0244 2F91 pop r18 |
277 0246 0F90 pop __tmp_reg__ |
278 0248 0FBE out __SREG__,__tmp_reg__ |
279 024a 0F90 pop __tmp_reg__ |
280 024c 1F90 pop __zero_reg__ |
281 024e 1895 reti |
282 /* epilogue end (size=16) */ |
283 /* function __vector_20 size 245 (213) */ |
285 .global AddCRC |
287 AddCRC: |
288 /* prologue: frame size=0 */ |
289 0250 CF93 push r28 |
290 0252 DF93 push r29 |
291 /* prologue end (size=2) */ |
292 0254 BC01 movw r22,r24 |
293 0256 892B or r24,r25 |
294 0258 01F0 breq .L51 |
295 025a 20E0 ldi r18,lo8(0) |
296 025c 30E0 ldi r19,hi8(0) |
297 025e 40E0 ldi r20,lo8(0) |
298 0260 50E0 ldi r21,hi8(0) |
299 .L46: |
300 0262 FA01 movw r30,r20 |
301 0264 E050 subi r30,lo8(-(SendeBuffer)) |
302 0266 F040 sbci r31,hi8(-(SendeBuffer)) |
303 0268 8081 ld r24,Z |
304 026a 280F add r18,r24 |
305 026c 311D adc r19,__zero_reg__ |
306 026e 4F5F subi r20,lo8(-(1)) |
307 0270 5F4F sbci r21,hi8(-(1)) |
308 0272 4617 cp r20,r22 |
309 0274 5707 cpc r21,r23 |
310 0276 01F4 brne .L46 |
311 0278 3F70 andi r19,hi8(4095) |
312 027a C901 movw r24,r18 |
313 027c 0024 clr __tmp_reg__ |
314 027e 880F lsl r24 |
315 0280 991F rol r25 |
316 0282 001C rol __tmp_reg__ |
317 0284 880F lsl r24 |
318 0286 991F rol r25 |
319 0288 001C rol __tmp_reg__ |
320 028a 892F mov r24,r25 |
321 028c 902D mov r25,__tmp_reg__ |
322 028e 835C subi r24,lo8(-(61)) |
323 0290 DB01 movw r26,r22 |
324 0292 1196 adiw r26,1 |
325 0294 2F73 andi r18,lo8(63) |
326 0296 235C subi r18,lo8(-(61)) |
327 0298 ED01 movw r28,r26 |
328 029a 2196 adiw r28,1 |
329 029c FB01 movw r30,r22 |
330 029e 00C0 rjmp .L45 |
331 .L51: |
332 02a0 E0E0 ldi r30,lo8(0) |
333 02a2 F0E0 ldi r31,hi8(0) |
334 02a4 8DE3 ldi r24,lo8(61) |
335 02a6 A1E0 ldi r26,lo8(1) |
336 02a8 B0E0 ldi r27,hi8(1) |
337 02aa 2DE3 ldi r18,lo8(61) |
338 02ac C2E0 ldi r28,lo8(2) |
339 02ae D0E0 ldi r29,hi8(2) |
340 .L45: |
341 02b0 E050 subi r30,lo8(-(SendeBuffer)) |
342 02b2 F040 sbci r31,hi8(-(SendeBuffer)) |
343 02b4 8083 st Z,r24 |
344 02b6 A050 subi r26,lo8(-(SendeBuffer)) |
345 02b8 B040 sbci r27,hi8(-(SendeBuffer)) |
346 02ba 2C93 st X,r18 |
347 02bc C050 subi r28,lo8(-(SendeBuffer)) |
348 02be D040 sbci r29,hi8(-(SendeBuffer)) |
349 02c0 8DE0 ldi r24,lo8(13) |
350 02c2 8883 st Y,r24 |
351 02c4 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__ |
352 02c8 8091 0000 lds r24,SendeBuffer |
353 02cc 8093 C600 sts 198,r24 |
354 /* epilogue: frame size=0 */ |
355 02d0 DF91 pop r29 |
356 02d2 CF91 pop r28 |
357 02d4 0895 ret |
358 /* epilogue end (size=3) */ |
359 /* function AddCRC size 68 (63) */ |
361 .global Decode64 |
363 Decode64: |
364 /* prologue: frame size=0 */ |
365 /* prologue end (size=0) */ |
366 02d6 4091 0000 lds r20,AnzahlEmpfangsBytes |
367 02da 4650 subi r20,lo8(-(-6)) |
368 02dc 01F4 brne .+2 |
369 02de 00C0 rjmp .L69 |
370 02e0 33E0 ldi r19,lo8(3) |
371 02e2 63E0 ldi r22,lo8(3) |
372 02e4 00C0 rjmp .L56 |
373 .L70: |
374 02e6 282F mov r18,r24 |
375 02e8 2D53 subi r18,lo8(-(-61)) |
376 02ea E62F mov r30,r22 |
377 02ec F0E0 ldi r31,lo8(0) |
378 02ee 822F mov r24,r18 |
379 02f0 8295 swap r24 |
380 02f2 8F70 andi r24,lo8(15) |
381 02f4 9D53 subi r25,lo8(-(-61)) |
382 02f6 990F lsl r25 |
383 02f8 990F lsl r25 |
384 02fa 982B or r25,r24 |
385 02fc E050 subi r30,lo8(-(RxdBuffer)) |
386 02fe F040 sbci r31,hi8(-(RxdBuffer)) |
387 0300 9083 st Z,r25 |
388 0302 E62F mov r30,r22 |
389 0304 EF5F subi r30,lo8(-(1)) |
390 0306 4130 cpi r20,lo8(1) |
391 0308 01F0 breq .L68 |
392 030a 972F mov r25,r23 |
393 030c 9D53 subi r25,lo8(-(-61)) |
394 030e F0E0 ldi r31,lo8(0) |
395 0310 2295 swap r18 |
396 0312 207F andi r18,lo8(-16) |
397 0314 892F mov r24,r25 |
398 0316 8695 lsr r24 |
399 0318 8695 lsr r24 |
400 031a 282B or r18,r24 |
401 031c E050 subi r30,lo8(-(RxdBuffer)) |
402 031e F040 sbci r31,hi8(-(RxdBuffer)) |
403 0320 2083 st Z,r18 |
404 0322 E62F mov r30,r22 |
405 0324 EE5F subi r30,lo8(-(2)) |
406 0326 4350 subi r20,lo8(-(-3)) |
407 0328 4F3F cpi r20,lo8(-1) |
408 032a 01F0 breq .L68 |
409 032c F0E0 ldi r31,lo8(0) |
410 032e 9295 swap r25 |
411 0330 990F lsl r25 |
412 0332 990F lsl r25 |
413 0334 907C andi r25,lo8(-64) |
414 0336 5D53 subi r21,lo8(-(-61)) |
415 0338 952B or r25,r21 |
416 033a E050 subi r30,lo8(-(RxdBuffer)) |
417 033c F040 sbci r31,hi8(-(RxdBuffer)) |
418 033e 9083 st Z,r25 |
419 0340 6D5F subi r22,lo8(-(3)) |
420 0342 4423 tst r20 |
421 0344 01F0 breq .L67 |
422 .L56: |
423 0346 E32F mov r30,r19 |
424 0348 F0E0 ldi r31,lo8(0) |
425 034a E050 subi r30,lo8(-(RxdBuffer)) |
426 034c F040 sbci r31,hi8(-(RxdBuffer)) |
427 034e 9081 ld r25,Z |
428 0350 3F5F subi r19,lo8(-(1)) |
429 0352 E32F mov r30,r19 |
430 0354 F0E0 ldi r31,lo8(0) |
431 0356 E050 subi r30,lo8(-(RxdBuffer)) |
432 0358 F040 sbci r31,hi8(-(RxdBuffer)) |
433 035a 8081 ld r24,Z |
434 035c 3F5F subi r19,lo8(-(1)) |
435 035e E32F mov r30,r19 |
436 0360 F0E0 ldi r31,lo8(0) |
437 0362 E050 subi r30,lo8(-(RxdBuffer)) |
438 0364 F040 sbci r31,hi8(-(RxdBuffer)) |
439 0366 7081 ld r23,Z |
440 0368 3F5F subi r19,lo8(-(1)) |
441 036a E32F mov r30,r19 |
442 036c F0E0 ldi r31,lo8(0) |
443 036e E050 subi r30,lo8(-(RxdBuffer)) |
444 0370 F040 sbci r31,hi8(-(RxdBuffer)) |
445 0372 5081 ld r21,Z |
446 0374 3F5F subi r19,lo8(-(1)) |
447 0376 4423 tst r20 |
448 0378 01F0 breq .+2 |
449 037a 00C0 rjmp .L70 |
450 .L67: |
451 037c E62F mov r30,r22 |
452 .L68: |
453 037e E350 subi r30,lo8(-(-3)) |
454 0380 00C0 rjmp .L55 |
455 .L69: |
456 0382 E0E0 ldi r30,lo8(0) |
457 .L55: |
458 0384 80E0 ldi r24,lo8(RxdBuffer+3) |
459 0386 90E0 ldi r25,hi8(RxdBuffer+3) |
460 0388 9093 0000 sts (pRxData)+1,r25 |
461 038c 8093 0000 sts pRxData,r24 |
462 0390 E093 0000 sts RxDataLen,r30 |
463 /* epilogue: frame size=0 */ |
464 0394 0895 ret |
465 /* epilogue end (size=1) */ |
466 /* function Decode64 size 97 (96) */ |
468 .global uart_putchar |
470 uart_putchar: |
471 /* prologue: frame size=0 */ |
472 0396 1F93 push r17 |
473 /* prologue end (size=1) */ |
474 0398 182F mov r17,r24 |
475 039a 8A30 cpi r24,lo8(10) |
476 039c 01F0 breq .L79 |
477 .L76: |
478 039e 8091 C000 lds r24,192 |
479 03a2 85FF sbrs r24,5 |
480 03a4 00C0 rjmp .L76 |
481 03a6 00C0 rjmp .L81 |
482 .L79: |
483 03a8 8DE0 ldi r24,lo8(13) |
484 03aa 0E94 0000 call uart_putchar |
485 03ae 00C0 rjmp .L76 |
486 .L81: |
487 03b0 1093 C600 sts 198,r17 |
488 03b4 80E0 ldi r24,lo8(0) |
489 03b6 90E0 ldi r25,hi8(0) |
490 /* epilogue: frame size=0 */ |
491 03b8 1F91 pop r17 |
492 03ba 0895 ret |
493 /* epilogue end (size=2) */ |
494 /* function uart_putchar size 19 (16) */ |
496 .global WriteProgramData |
498 WriteProgramData: |
499 /* prologue: frame size=0 */ |
500 /* prologue end (size=0) */ |
501 /* epilogue: frame size=0 */ |
502 03bc 0895 ret |
503 /* epilogue end (size=1) */ |
504 /* function WriteProgramData size 1 (0) */ |
506 .global UART_Init |
508 UART_Init: |
509 /* prologue: frame size=0 */ |
510 /* prologue end (size=0) */ |
511 03be E1EC ldi r30,lo8(193) |
512 03c0 F0E0 ldi r31,hi8(193) |
513 03c2 88E1 ldi r24,lo8(24) |
514 03c4 8083 st Z,r24 |
515 03c6 A0EC ldi r26,lo8(192) |
516 03c8 B0E0 ldi r27,hi8(192) |
517 03ca 8C91 ld r24,X |
518 03cc 8260 ori r24,lo8(2) |
519 03ce 8C93 st X,r24 |
520 03d0 8081 ld r24,Z |
521 03d2 8068 ori r24,lo8(-128) |
522 03d4 8083 st Z,r24 |
523 03d6 8081 ld r24,Z |
524 03d8 8064 ori r24,lo8(64) |
525 03da 8083 st Z,r24 |
526 03dc 8AE2 ldi r24,lo8(42) |
527 03de 8093 C400 sts 196,r24 |
528 03e2 8091 0000 lds r24,DebugDataIntervall |
529 03e6 9091 0000 lds r25,(DebugDataIntervall)+1 |
530 03ea 0E94 0000 call SetDelay |
531 03ee 9093 0000 sts (Debug_Timer)+1,r25 |
532 03f2 8093 0000 sts Debug_Timer,r24 |
533 03f6 8CED ldi r24,lo8(220) |
534 03f8 90E0 ldi r25,hi8(220) |
535 03fa 0E94 0000 call SetDelay |
536 03fe 9093 0000 sts (Kompass_Timer)+1,r25 |
537 0402 8093 0000 sts Kompass_Timer,r24 |
538 0406 1092 0000 sts VersionInfo,__zero_reg__ |
539 040a 88E4 ldi r24,lo8(72) |
540 040c 8093 0000 sts VersionInfo+1,r24 |
541 0410 8FE0 ldi r24,lo8(15) |
542 0412 8093 0000 sts VersionInfo+4,r24 |
543 0416 8AE0 ldi r24,lo8(10) |
544 0418 8093 0000 sts VersionInfo+2,r24 |
545 041c 1092 0000 sts VersionInfo+3,__zero_reg__ |
546 0420 1092 0000 sts (pRxData)+1,__zero_reg__ |
547 0424 1092 0000 sts pRxData,__zero_reg__ |
548 0428 1092 0000 sts RxDataLen,__zero_reg__ |
549 /* epilogue: frame size=0 */ |
550 042c 0895 ret |
551 /* epilogue end (size=1) */ |
552 /* function UART_Init size 56 (55) */ |
554 .global SendOutData |
556 SendOutData: |
557 /* prologue: frame size=2 */ |
558 042e EF92 push r14 |
559 0430 FF92 push r15 |
560 0432 0F93 push r16 |
561 0434 1F93 push r17 |
562 0436 CF93 push r28 |
563 0438 DF93 push r29 |
564 043a CDB7 in r28,__SP_L__ |
565 043c DEB7 in r29,__SP_H__ |
566 043e 2297 sbiw r28,2 |
567 0440 0FB6 in __tmp_reg__,__SREG__ |
568 0442 F894 cli |
569 0444 DEBF out __SP_H__,r29 |
570 0446 0FBE out __SREG__,__tmp_reg__ |
571 0448 CDBF out __SP_L__,r28 |
572 /* prologue end (size=14) */ |
573 044a 9C85 ldd r25,Y+12 |
574 044c 4D85 ldd r20,Y+13 |
575 044e 83E2 ldi r24,lo8(35) |
576 0450 8093 0000 sts SendeBuffer,r24 |
577 0454 9F59 subi r25,lo8(-(97)) |
578 0456 9093 0000 sts SendeBuffer+1,r25 |
579 045a 8B85 ldd r24,Y+11 |
580 045c 8093 0000 sts SendeBuffer+2,r24 |
581 0460 CE01 movw r24,r28 |
582 0462 0E96 adiw r24,14 |
583 0464 9A83 std Y+2,r25 |
584 0466 8983 std Y+1,r24 |
585 0468 4423 tst r20 |
586 046a 01F4 brne .L114 |
587 .L87: |
588 046c 63E0 ldi r22,lo8(3) |
589 046e 70E0 ldi r23,hi8(3) |
590 0470 00C0 rjmp .L110 |
591 .L114: |
592 0472 0E85 ldd r16,Y+14 |
593 0474 1F85 ldd r17,Y+15 |
594 0476 CE01 movw r24,r28 |
595 0478 4296 adiw r24,18 |
596 047a 9A83 std Y+2,r25 |
597 047c 8983 std Y+1,r24 |
598 047e 2889 ldd r18,Y+16 |
599 0480 3989 ldd r19,Y+17 |
600 0482 2115 cp r18,__zero_reg__ |
601 0484 3105 cpc r19,__zero_reg__ |
602 0486 01F0 breq .L87 |
603 0488 F42E mov r15,r20 |
604 048a FA94 dec r15 |
605 048c 63E0 ldi r22,lo8(3) |
606 048e 70E0 ldi r23,hi8(3) |
607 0490 A0E0 ldi r26,lo8(0) |
608 0492 00C0 rjmp .L90 |
609 .L115: |
610 0494 EA2F mov r30,r26 |
611 0496 F0E0 ldi r31,lo8(0) |
612 0498 AF5F subi r26,lo8(-(1)) |
613 049a C901 movw r24,r18 |
614 .L93: |
615 049c E00F add r30,r16 |
616 049e F11F adc r31,r17 |
617 04a0 4081 ld r20,Z |
618 04a2 9C01 movw r18,r24 |
619 04a4 2150 subi r18,lo8(-(-1)) |
620 04a6 3040 sbci r19,hi8(-(-1)) |
621 04a8 01F4 brne .+2 |
622 04aa 00C0 rjmp .L98 |
623 04ac EA2F mov r30,r26 |
624 04ae F0E0 ldi r31,lo8(0) |
625 04b0 AF5F subi r26,lo8(-(1)) |
626 .L100: |
627 04b2 E00F add r30,r16 |
628 04b4 F11F adc r31,r17 |
629 04b6 B081 ld r27,Z |
630 04b8 2150 subi r18,lo8(-(-1)) |
631 04ba 3040 sbci r19,hi8(-(-1)) |
632 04bc 01F0 breq .+2 |
633 04be 00C0 rjmp .L113 |
634 04c0 FF20 tst r15 |
635 04c2 01F4 brne .+2 |
636 04c4 00C0 rjmp .L113 |
637 04c6 E981 ldd r30,Y+1 |
638 04c8 FA81 ldd r31,Y+2 |
639 04ca 0081 ld r16,Z |
640 04cc 1181 ldd r17,Z+1 |
641 04ce 3496 adiw r30,4 |
642 04d0 FA83 std Y+2,r31 |
643 04d2 E983 std Y+1,r30 |
644 04d4 3497 sbiw r30,4 |
645 04d6 2281 ldd r18,Z+2 |
646 04d8 3381 ldd r19,Z+3 |
647 04da FA94 dec r15 |
648 04dc 842F mov r24,r20 |
649 04de 90E0 ldi r25,lo8(0) |
650 04e0 4295 swap r20 |
651 04e2 4F70 andi r20,lo8(15) |
652 04e4 8F70 andi r24,lo8(15) |
653 04e6 9070 andi r25,hi8(15) |
654 04e8 5B2F mov r21,r27 |
655 04ea 5295 swap r21 |
656 04ec 5695 lsr r21 |
657 04ee 5695 lsr r21 |
658 04f0 5370 andi r21,lo8(3) |
659 04f2 880F lsl r24 |
660 04f4 991F rol r25 |
661 04f6 880F lsl r24 |
662 04f8 991F rol r25 |
663 04fa 582B or r21,r24 |
664 04fc 535C subi r21,lo8(-(61)) |
665 04fe BF73 andi r27,lo8(63) |
666 0500 B35C subi r27,lo8(-(61)) |
667 0502 A0E0 ldi r26,lo8(0) |
668 .L103: |
669 0504 8E2D mov r24,r14 |
670 0506 8695 lsr r24 |
671 0508 8695 lsr r24 |
672 050a 835C subi r24,lo8(-(61)) |
673 050c FB01 movw r30,r22 |
674 050e E050 subi r30,lo8(-(SendeBuffer)) |
675 0510 F040 sbci r31,hi8(-(SendeBuffer)) |
676 0512 8083 st Z,r24 |
677 0514 8E2D mov r24,r14 |
678 0516 90E0 ldi r25,lo8(0) |
679 0518 8370 andi r24,lo8(3) |
680 051a 9070 andi r25,hi8(3) |
681 051c 8295 swap r24 |
682 051e 9295 swap r25 |
683 0520 907F andi r25,0xf0 |
684 0522 9827 eor r25,r24 |
685 0524 807F andi r24,0xf0 |
686 0526 9827 eor r25,r24 |
687 0528 482B or r20,r24 |
688 052a 435C subi r20,lo8(-(61)) |
689 052c FB01 movw r30,r22 |
690 052e E050 subi r30,lo8(-(SendeBuffer+1)) |
691 0530 F040 sbci r31,hi8(-(SendeBuffer+1)) |
692 0532 4083 st Z,r20 |
693 0534 FB01 movw r30,r22 |
694 0536 E050 subi r30,lo8(-(SendeBuffer+2)) |
695 0538 F040 sbci r31,hi8(-(SendeBuffer+2)) |
696 053a 5083 st Z,r21 |
697 053c FB01 movw r30,r22 |
698 053e E050 subi r30,lo8(-(SendeBuffer+3)) |
699 0540 F040 sbci r31,hi8(-(SendeBuffer+3)) |
700 0542 B083 st Z,r27 |
701 0544 6C5F subi r22,lo8(-(4)) |
702 0546 7F4F sbci r23,hi8(-(4)) |
703 0548 2115 cp r18,__zero_reg__ |
704 054a 3105 cpc r19,__zero_reg__ |
705 054c 01F4 brne .+2 |
706 054e 00C0 rjmp .L110 |
707 .L90: |
708 0550 F801 movw r30,r16 |
709 0552 EA0F add r30,r26 |
710 0554 F11D adc r31,__zero_reg__ |
711 0556 E080 ld r14,Z |
712 0558 AF5F subi r26,lo8(-(1)) |
713 055a 2150 subi r18,lo8(-(-1)) |
714 055c 3040 sbci r19,hi8(-(-1)) |
715 055e 01F0 breq .+2 |
716 0560 00C0 rjmp .L115 |
717 0562 FF20 tst r15 |
718 0564 01F0 breq .L94 |
719 0566 E981 ldd r30,Y+1 |
720 0568 FA81 ldd r31,Y+2 |
721 056a 0081 ld r16,Z |
722 056c 1181 ldd r17,Z+1 |
723 056e 3496 adiw r30,4 |
724 0570 FA83 std Y+2,r31 |
725 0572 E983 std Y+1,r30 |
726 0574 3497 sbiw r30,4 |
727 0576 8281 ldd r24,Z+2 |
728 0578 9381 ldd r25,Z+3 |
729 057a FA94 dec r15 |
730 057c 0097 sbiw r24,0 |
731 057e 01F0 breq .L96 |
732 0580 E0E0 ldi r30,lo8(0) |
733 0582 F0E0 ldi r31,hi8(0) |
734 0584 A1E0 ldi r26,lo8(1) |
735 0586 00C0 rjmp .L93 |
736 .L96: |
737 0588 A0E0 ldi r26,lo8(0) |
738 .L94: |
739 058a 40E0 ldi r20,lo8(0) |
740 058c 5DE3 ldi r21,lo8(61) |
741 058e BDE3 ldi r27,lo8(61) |
742 0590 00C0 rjmp .L103 |
743 .L98: |
744 0592 FF20 tst r15 |
745 0594 01F4 brne .L101 |
746 0596 842F mov r24,r20 |
747 0598 90E0 ldi r25,lo8(0) |
748 059a 4295 swap r20 |
749 059c 4F70 andi r20,lo8(15) |
750 059e 8F70 andi r24,lo8(15) |
751 05a0 9070 andi r25,hi8(15) |
752 05a2 880F lsl r24 |
753 05a4 991F rol r25 |
754 05a6 880F lsl r24 |
755 05a8 991F rol r25 |
756 05aa 582F mov r21,r24 |
757 05ac 535C subi r21,lo8(-(61)) |
758 05ae BDE3 ldi r27,lo8(61) |
759 05b0 00C0 rjmp .L103 |
760 .L113: |
761 05b2 842F mov r24,r20 |
762 05b4 90E0 ldi r25,lo8(0) |
763 05b6 4295 swap r20 |
764 05b8 4F70 andi r20,lo8(15) |
765 05ba 8F70 andi r24,lo8(15) |
766 05bc 9070 andi r25,hi8(15) |
767 05be 5B2F mov r21,r27 |
768 05c0 5295 swap r21 |
769 05c2 5695 lsr r21 |
770 05c4 5695 lsr r21 |
771 05c6 5370 andi r21,lo8(3) |
772 05c8 880F lsl r24 |
773 05ca 991F rol r25 |
774 05cc 880F lsl r24 |
775 05ce 991F rol r25 |
776 05d0 582B or r21,r24 |
777 05d2 535C subi r21,lo8(-(61)) |
778 05d4 BF73 andi r27,lo8(63) |
779 05d6 B35C subi r27,lo8(-(61)) |
780 05d8 00C0 rjmp .L103 |
781 .L101: |
782 05da E981 ldd r30,Y+1 |
783 05dc FA81 ldd r31,Y+2 |
784 05de 0081 ld r16,Z |
785 05e0 1181 ldd r17,Z+1 |
786 05e2 3496 adiw r30,4 |
787 05e4 FA83 std Y+2,r31 |
788 05e6 E983 std Y+1,r30 |
789 05e8 3497 sbiw r30,4 |
790 05ea 2281 ldd r18,Z+2 |
791 05ec 3381 ldd r19,Z+3 |
792 05ee FA94 dec r15 |
793 05f0 2115 cp r18,__zero_reg__ |
794 05f2 3105 cpc r19,__zero_reg__ |
795 05f4 01F4 brne .L104 |
796 05f6 842F mov r24,r20 |
797 05f8 90E0 ldi r25,lo8(0) |
798 05fa 4295 swap r20 |
799 05fc 4F70 andi r20,lo8(15) |
800 05fe 8F70 andi r24,lo8(15) |
801 0600 9070 andi r25,hi8(15) |
802 0602 880F lsl r24 |
803 0604 991F rol r25 |
804 0606 880F lsl r24 |
805 0608 991F rol r25 |
806 060a 582F mov r21,r24 |
807 060c 535C subi r21,lo8(-(61)) |
808 060e A0E0 ldi r26,lo8(0) |
809 0610 BDE3 ldi r27,lo8(61) |
810 0612 00C0 rjmp .L103 |
811 .L104: |
812 0614 E0E0 ldi r30,lo8(0) |
813 0616 F0E0 ldi r31,hi8(0) |
814 0618 A1E0 ldi r26,lo8(1) |
815 061a 00C0 rjmp .L100 |
816 .L110: |
817 061c CB01 movw r24,r22 |
818 061e 0E94 0000 call AddCRC |
819 /* epilogue: frame size=2 */ |
820 0622 2296 adiw r28,2 |
821 0624 0FB6 in __tmp_reg__,__SREG__ |
822 0626 F894 cli |
823 0628 DEBF out __SP_H__,r29 |
824 062a 0FBE out __SREG__,__tmp_reg__ |
825 062c CDBF out __SP_L__,r28 |
826 062e DF91 pop r29 |
827 0630 CF91 pop r28 |
828 0632 1F91 pop r17 |
829 0634 0F91 pop r16 |
830 0636 FF90 pop r15 |
831 0638 EF90 pop r14 |
832 063a 0895 ret |
833 /* epilogue end (size=13) */ |
834 /* function SendOutData size 269 (242) */ |
836 .global DatenUebertragung |
838 DatenUebertragung: |
839 /* prologue: frame size=0 */ |
840 063c EF92 push r14 |
841 063e FF92 push r15 |
842 0640 0F93 push r16 |
843 0642 1F93 push r17 |
844 /* prologue end (size=4) */ |
845 0644 8091 0000 lds r24,UebertragungAbgeschlossen |
846 0648 8823 tst r24 |
847 064a 01F4 brne .+2 |
848 064c 00C0 rjmp .L155 |
849 064e 8091 0000 lds r24,DebugDisplayAnforderung |
850 0652 8823 tst r24 |
851 0654 01F0 breq .L119 |
852 0656 8091 0000 lds r24,UebertragungAbgeschlossen |
853 065a 8823 tst r24 |
854 065c 01F0 breq .+2 |
855 065e 00C0 rjmp .L157 |
856 .L119: |
857 0660 8091 0000 lds r24,DebugDisplayAnforderung1 |
858 0664 8823 tst r24 |
859 0666 01F0 breq .L124 |
860 .L166: |
861 0668 8091 0000 lds r24,UebertragungAbgeschlossen |
862 066c 8823 tst r24 |
863 066e 01F0 breq .+2 |
864 0670 00C0 rjmp .L158 |
865 .L124: |
866 0672 8091 0000 lds r24,GetVersionAnforderung |
867 0676 8823 tst r24 |
868 0678 01F0 breq .L127 |
869 .L167: |
870 067a 8091 0000 lds r24,UebertragungAbgeschlossen |
871 067e 8823 tst r24 |
872 0680 01F0 breq .+2 |
873 0682 00C0 rjmp .L159 |
874 .L127: |
875 0684 8091 0000 lds r24,GetExternalControl |
876 0688 8823 tst r24 |
877 068a 01F0 breq .L130 |
878 .L168: |
879 068c 8091 0000 lds r24,UebertragungAbgeschlossen |
880 0690 8823 tst r24 |
881 0692 01F0 breq .+2 |
882 0694 00C0 rjmp .L160 |
883 .L130: |
884 0696 8091 0000 lds r24,Kompass_Timer |
885 069a 9091 0000 lds r25,(Kompass_Timer)+1 |
886 069e 0E94 0000 call CheckDelay |
887 06a2 8823 tst r24 |
888 06a4 01F0 breq .L133 |
889 .L169: |
890 06a6 8091 0000 lds r24,UebertragungAbgeschlossen |
891 06aa 8823 tst r24 |
892 06ac 01F0 breq .+2 |
893 06ae 00C0 rjmp .L161 |
894 .L133: |
895 06b0 8091 0000 lds r24,DebugDataIntervall |
896 06b4 9091 0000 lds r25,(DebugDataIntervall)+1 |
897 06b8 892B or r24,r25 |
898 06ba 01F0 breq .+2 |
899 06bc 00C0 rjmp .L162 |
900 .L138: |
901 06be 8091 0000 lds r24,DebugDataAnforderung |
902 06c2 8823 tst r24 |
903 06c4 01F0 breq .L141 |
904 06c6 8091 0000 lds r24,UebertragungAbgeschlossen |
905 06ca 8823 tst r24 |
906 06cc 01F0 breq .+2 |
907 06ce 00C0 rjmp .L163 |
908 .L141: |
909 06d0 8091 0000 lds r24,Intervall3D |
910 06d4 9091 0000 lds r25,(Intervall3D)+1 |
911 06d8 892B or r24,r25 |
912 06da 01F0 breq .+2 |
913 06dc 00C0 rjmp .L164 |
914 .L144: |
915 06de 8091 0000 lds r24,DebugTextAnforderung |
916 06e2 8F3F cpi r24,lo8(-1) |
917 06e4 01F0 breq .L148 |
918 06e6 90E0 ldi r25,lo8(0) |
919 06e8 8295 swap r24 |
920 06ea 9295 swap r25 |
921 06ec 907F andi r25,0xf0 |
922 06ee 9827 eor r25,r24 |
923 06f0 807F andi r24,0xf0 |
924 06f2 9827 eor r25,r24 |
925 06f4 8050 subi r24,lo8(-(ANALOG_TEXT)) |
926 06f6 9040 sbci r25,hi8(-(ANALOG_TEXT)) |
927 06f8 20E1 ldi r18,lo8(16) |
928 06fa 30E0 ldi r19,hi8(16) |
929 06fc 3F93 push r19 |
930 06fe 2F93 push r18 |
931 0700 9F93 push r25 |
932 0702 8F93 push r24 |
933 0704 81E0 ldi r24,lo8(1) |
934 0706 90E0 ldi r25,hi8(1) |
935 0708 9F93 push r25 |
936 070a 8F93 push r24 |
937 070c 80E0 ldi r24,lo8(DebugTextAnforderung) |
938 070e 90E0 ldi r25,hi8(DebugTextAnforderung) |
939 0710 9F93 push r25 |
940 0712 8F93 push r24 |
941 0714 82E0 ldi r24,lo8(2) |
942 0716 8F93 push r24 |
943 0718 81E0 ldi r24,lo8(1) |
944 071a 8F93 push r24 |
945 071c 81E4 ldi r24,lo8(65) |
946 071e 8F93 push r24 |
947 0720 0E94 0000 call SendOutData |
948 0724 8FEF ldi r24,lo8(-1) |
949 0726 8093 0000 sts DebugTextAnforderung,r24 |
950 072a 2DB7 in r18,__SP_L__ |
951 072c 3EB7 in r19,__SP_H__ |
952 072e 255F subi r18,lo8(-(11)) |
953 0730 3F4F sbci r19,hi8(-(11)) |
954 0732 0FB6 in __tmp_reg__,__SREG__ |
955 0734 F894 cli |
956 0736 3EBF out __SP_H__,r19 |
957 0738 0FBE out __SREG__,__tmp_reg__ |
958 073a 2DBF out __SP_L__,r18 |
959 .L148: |
960 073c 8091 0000 lds r24,ConfirmFrame |
961 0740 8823 tst r24 |
962 0742 01F0 breq .L150 |
963 0744 8091 0000 lds r24,UebertragungAbgeschlossen |
964 0748 8823 tst r24 |
965 074a 01F0 breq .+2 |
966 074c 00C0 rjmp .L165 |
967 .L150: |
968 074e 8091 0000 lds r24,GetPPMChannelAnforderung |
969 0752 8823 tst r24 |
970 0754 01F4 brne .+2 |
971 0756 00C0 rjmp .L155 |
972 .L170: |
973 0758 8091 0000 lds r24,UebertragungAbgeschlossen |
974 075c 8823 tst r24 |
975 075e 01F4 brne .+2 |
976 0760 00C0 rjmp .L155 |
977 0762 86E1 ldi r24,lo8(22) |
978 0764 90E0 ldi r25,hi8(22) |
979 0766 9F93 push r25 |
980 0768 8F93 push r24 |
981 076a 80E0 ldi r24,lo8(PPM_in) |
982 076c 90E0 ldi r25,hi8(PPM_in) |
983 076e 9F93 push r25 |
984 0770 8F93 push r24 |
985 0772 81E0 ldi r24,lo8(1) |
986 0774 8F93 push r24 |
987 0776 8F93 push r24 |
988 0778 80E5 ldi r24,lo8(80) |
989 077a 8F93 push r24 |
990 077c 0E94 0000 call SendOutData |
991 0780 1092 0000 sts GetPPMChannelAnforderung,__zero_reg__ |
992 0784 2DB7 in r18,__SP_L__ |
993 0786 3EB7 in r19,__SP_H__ |
994 0788 295F subi r18,lo8(-(7)) |
995 078a 3F4F sbci r19,hi8(-(7)) |
996 078c 0FB6 in __tmp_reg__,__SREG__ |
997 078e F894 cli |
998 0790 3EBF out __SP_H__,r19 |
999 0792 0FBE out __SREG__,__tmp_reg__ |
1000 0794 2DBF out __SP_L__,r18 |
1001 0796 00C0 rjmp .L155 |
1002 .L162: |
1003 0798 8091 0000 lds r24,Debug_Timer |
1004 079c 9091 0000 lds r25,(Debug_Timer)+1 |
1005 07a0 0E94 0000 call CheckDelay |
1006 07a4 8823 tst r24 |
1007 07a6 01F4 brne .+2 |
1008 07a8 00C0 rjmp .L138 |
1009 07aa 8091 0000 lds r24,UebertragungAbgeschlossen |
1010 07ae 8823 tst r24 |
1011 07b0 01F4 brne .+2 |
1012 07b2 00C0 rjmp .L141 |
1013 07b4 00C0 rjmp .L163 |
1014 .L164: |
1015 07b6 8091 0000 lds r24,Timer3D |
1016 07ba 9091 0000 lds r25,(Timer3D)+1 |
1017 07be 0E94 0000 call CheckDelay |
1018 07c2 8823 tst r24 |
1019 07c4 01F4 brne .+2 |
1020 07c6 00C0 rjmp .L144 |
1021 07c8 8091 0000 lds r24,UebertragungAbgeschlossen |
1022 07cc 8823 tst r24 |
1023 07ce 01F4 brne .+2 |
1024 07d0 00C0 rjmp .L144 |
1025 07d2 E090 0000 lds r14,EE_Parameter+20 |
1026 07d6 FF24 clr r15 |
1027 07d8 EE0C lsl r14 |
1028 07da FF1C rol r15 |
1029 07dc EE0C lsl r14 |
1030 07de FF1C rol r15 |
1031 07e0 0027 clr r16 |
1032 07e2 F7FC sbrc r15,7 |
1033 07e4 0095 com r16 |
1034 07e6 102F mov r17,r16 |
1035 07e8 6091 0000 lds r22,IntegralNick |
1036 07ec 7091 0000 lds r23,(IntegralNick)+1 |
1037 07f0 8091 0000 lds r24,(IntegralNick)+2 |
1038 07f4 9091 0000 lds r25,(IntegralNick)+3 |
1039 07f8 A801 movw r20,r16 |
1040 07fa 9701 movw r18,r14 |
1041 07fc 0E94 0000 call __divmodsi4 |
1042 0800 3093 0000 sts (Data3D)+1,r19 |
1043 0804 2093 0000 sts Data3D,r18 |
1044 0808 6091 0000 lds r22,IntegralRoll |
1045 080c 7091 0000 lds r23,(IntegralRoll)+1 |
1046 0810 8091 0000 lds r24,(IntegralRoll)+2 |
1047 0814 9091 0000 lds r25,(IntegralRoll)+3 |
1048 0818 A801 movw r20,r16 |
1049 081a 9701 movw r18,r14 |
1050 081c 0E94 0000 call __divmodsi4 |
1051 0820 3093 0000 sts (Data3D+2)+1,r19 |
1052 0824 2093 0000 sts Data3D+2,r18 |
1053 0828 6091 0000 lds r22,ErsatzKompass |
1054 082c 7091 0000 lds r23,(ErsatzKompass)+1 |
1055 0830 8091 0000 lds r24,(ErsatzKompass)+2 |
1056 0834 9091 0000 lds r25,(ErsatzKompass)+3 |
1057 0838 2AE0 ldi r18,lo8(10) |
1058 083a 30E0 ldi r19,hi8(10) |
1059 083c 40E0 ldi r20,hlo8(10) |
1060 083e 50E0 ldi r21,hhi8(10) |
1061 0840 0E94 0000 call __mulsi3 |
1062 0844 2091 0000 lds r18,GIER_GRAD_FAKTOR |
1063 0848 3091 0000 lds r19,(GIER_GRAD_FAKTOR)+1 |
1064 084c 4091 0000 lds r20,(GIER_GRAD_FAKTOR)+2 |
1065 0850 5091 0000 lds r21,(GIER_GRAD_FAKTOR)+3 |
1066 0854 0E94 0000 call __divmodsi4 |
1067 0858 3093 0000 sts (Data3D+4)+1,r19 |
1068 085c 2093 0000 sts Data3D+4,r18 |
1069 0860 8EE0 ldi r24,lo8(14) |
1070 0862 90E0 ldi r25,hi8(14) |
1071 0864 9F93 push r25 |
1072 0866 8F93 push r24 |
1073 0868 80E0 ldi r24,lo8(Data3D) |
1074 086a 90E0 ldi r25,hi8(Data3D) |
1075 086c 9F93 push r25 |
1076 086e 8F93 push r24 |
1077 0870 81E0 ldi r24,lo8(1) |
1078 0872 8F93 push r24 |
1079 0874 8F93 push r24 |
1080 0876 83E4 ldi r24,lo8(67) |
1081 0878 8F93 push r24 |
1082 087a 0E94 0000 call SendOutData |
1083 087e 8091 0000 lds r24,Intervall3D |
1084 0882 9091 0000 lds r25,(Intervall3D)+1 |
1085 0886 0E94 0000 call SetDelay |
1086 088a 9093 0000 sts (Timer3D)+1,r25 |
1087 088e 8093 0000 sts Timer3D,r24 |
1088 0892 8DB7 in r24,__SP_L__ |
1089 0894 9EB7 in r25,__SP_H__ |
1090 0896 0796 adiw r24,7 |
1091 0898 0FB6 in __tmp_reg__,__SREG__ |
1092 089a F894 cli |
1093 089c 9EBF out __SP_H__,r25 |
1094 089e 0FBE out __SREG__,__tmp_reg__ |
1095 08a0 8DBF out __SP_L__,r24 |
1096 08a2 00C0 rjmp .L144 |
1097 .L163: |
1098 08a4 82E4 ldi r24,lo8(66) |
1099 08a6 90E0 ldi r25,hi8(66) |
1100 08a8 9F93 push r25 |
1101 08aa 8F93 push r24 |
1102 08ac 80E0 ldi r24,lo8(DebugOut) |
1103 08ae 90E0 ldi r25,hi8(DebugOut) |
1104 08b0 9F93 push r25 |
1105 08b2 8F93 push r24 |
1106 08b4 81E0 ldi r24,lo8(1) |
1107 08b6 8F93 push r24 |
1108 08b8 8F93 push r24 |
1109 08ba 84E4 ldi r24,lo8(68) |
1110 08bc 8F93 push r24 |
1111 08be 0E94 0000 call SendOutData |
1112 08c2 1092 0000 sts DebugDataAnforderung,__zero_reg__ |
1113 08c6 8091 0000 lds r24,DebugDataIntervall |
1114 08ca 9091 0000 lds r25,(DebugDataIntervall)+1 |
1115 08ce 2DB7 in r18,__SP_L__ |
1116 08d0 3EB7 in r19,__SP_H__ |
1117 08d2 295F subi r18,lo8(-(7)) |
1118 08d4 3F4F sbci r19,hi8(-(7)) |
1119 08d6 0FB6 in __tmp_reg__,__SREG__ |
1120 08d8 F894 cli |
1121 08da 3EBF out __SP_H__,r19 |
1122 08dc 0FBE out __SREG__,__tmp_reg__ |
1123 08de 2DBF out __SP_L__,r18 |
1124 08e0 0097 sbiw r24,0 |
1125 08e2 01F4 brne .+2 |
1126 08e4 00C0 rjmp .L141 |
1127 08e6 0E94 0000 call SetDelay |
1128 08ea 9093 0000 sts (Debug_Timer)+1,r25 |
1129 08ee 8093 0000 sts Debug_Timer,r24 |
1130 08f2 00C0 rjmp .L141 |
1131 .L157: |
1132 08f4 0E94 0000 call Menu |
1133 08f8 8091 0000 lds r24,DisplayLine |
1134 08fc 24E1 ldi r18,lo8(20) |
1135 08fe 829F mul r24,r18 |
1136 0900 C001 movw r24,r0 |
1137 0902 1124 clr r1 |
1138 0904 8050 subi r24,lo8(-(DisplayBuff)) |
1139 0906 9040 sbci r25,hi8(-(DisplayBuff)) |
1140 0908 24E1 ldi r18,lo8(20) |
1141 090a 30E0 ldi r19,hi8(20) |
1142 090c 3F93 push r19 |
1143 090e 2F93 push r18 |
1144 0910 9F93 push r25 |
1145 0912 8F93 push r24 |
1146 0914 81E0 ldi r24,lo8(1) |
1147 0916 90E0 ldi r25,hi8(1) |
1148 0918 9F93 push r25 |
1149 091a 8F93 push r24 |
1150 091c 80E0 ldi r24,lo8(DisplayLine) |
1151 091e 90E0 ldi r25,hi8(DisplayLine) |
1152 0920 9F93 push r25 |
1153 0922 8F93 push r24 |
1154 0924 82E0 ldi r24,lo8(2) |
1155 0926 8F93 push r24 |
1156 0928 81E0 ldi r24,lo8(1) |
1157 092a 8F93 push r24 |
1158 092c 88E4 ldi r24,lo8(72) |
1159 092e 8F93 push r24 |
1160 0930 0E94 0000 call SendOutData |
1161 0934 8091 0000 lds r24,DisplayLine |
1162 0938 8F5F subi r24,lo8(-(1)) |
1163 093a 8093 0000 sts DisplayLine,r24 |
1164 093e 2DB7 in r18,__SP_L__ |
1165 0940 3EB7 in r19,__SP_H__ |
1166 0942 255F subi r18,lo8(-(11)) |
1167 0944 3F4F sbci r19,hi8(-(11)) |
1168 0946 0FB6 in __tmp_reg__,__SREG__ |
1169 0948 F894 cli |
1170 094a 3EBF out __SP_H__,r19 |
1171 094c 0FBE out __SREG__,__tmp_reg__ |
1172 094e 2DBF out __SP_L__,r18 |
1173 0950 8430 cpi r24,lo8(4) |
1174 0952 00F0 brlo .L122 |
1175 0954 1092 0000 sts DisplayLine,__zero_reg__ |
1176 .L122: |
1177 0958 1092 0000 sts DebugDisplayAnforderung,__zero_reg__ |
1178 095c 8091 0000 lds r24,DebugDisplayAnforderung1 |
1179 0960 8823 tst r24 |
1180 0962 01F4 brne .+2 |
1181 0964 00C0 rjmp .L124 |
1182 0966 00C0 rjmp .L166 |
1183 .L158: |
1184 0968 0E94 0000 call Menu |
1185 096c 80E5 ldi r24,lo8(80) |
1186 096e 90E0 ldi r25,hi8(80) |
1187 0970 9F93 push r25 |
1188 0972 8F93 push r24 |
1189 0974 80E0 ldi r24,lo8(DisplayBuff) |
1190 0976 90E0 ldi r25,hi8(DisplayBuff) |
1191 0978 9F93 push r25 |
1192 097a 8F93 push r24 |
1193 097c 21E0 ldi r18,lo8(1) |
1194 097e 30E0 ldi r19,hi8(1) |
1195 0980 3F93 push r19 |
1196 0982 2F93 push r18 |
1197 0984 80E0 ldi r24,lo8(MaxMenue) |
1198 0986 90E0 ldi r25,hi8(MaxMenue) |
1199 0988 9F93 push r25 |
1200 098a 8F93 push r24 |
1201 098c 3F93 push r19 |
1202 098e 2F93 push r18 |
1203 0990 80E0 ldi r24,lo8(MenuePunkt) |
1204 0992 90E0 ldi r25,hi8(MenuePunkt) |
1205 0994 9F93 push r25 |
1206 0996 8F93 push r24 |
1207 0998 83E0 ldi r24,lo8(3) |
1208 099a 8F93 push r24 |
1209 099c 81E0 ldi r24,lo8(1) |
1210 099e 8F93 push r24 |
1211 09a0 8CE4 ldi r24,lo8(76) |
1212 09a2 8F93 push r24 |
1213 09a4 0E94 0000 call SendOutData |
1214 09a8 1092 0000 sts DebugDisplayAnforderung1,__zero_reg__ |
1215 09ac 8DB7 in r24,__SP_L__ |
1216 09ae 9EB7 in r25,__SP_H__ |
1217 09b0 0F96 adiw r24,15 |
1218 09b2 0FB6 in __tmp_reg__,__SREG__ |
1219 09b4 F894 cli |
1220 09b6 9EBF out __SP_H__,r25 |
1221 09b8 0FBE out __SREG__,__tmp_reg__ |
1222 09ba 8DBF out __SP_L__,r24 |
1223 09bc 8091 0000 lds r24,GetVersionAnforderung |
1224 09c0 8823 tst r24 |
1225 09c2 01F4 brne .+2 |
1226 09c4 00C0 rjmp .L127 |
1227 09c6 00C0 rjmp .L167 |
1228 .L159: |
1229 09c8 8AE0 ldi r24,lo8(10) |
1230 09ca 90E0 ldi r25,hi8(10) |
1231 09cc 9F93 push r25 |
1232 09ce 8F93 push r24 |
1233 09d0 80E0 ldi r24,lo8(VersionInfo) |
1234 09d2 90E0 ldi r25,hi8(VersionInfo) |
1235 09d4 9F93 push r25 |
1236 09d6 8F93 push r24 |
1237 09d8 81E0 ldi r24,lo8(1) |
1238 09da 8F93 push r24 |
1239 09dc 8F93 push r24 |
1240 09de 86E5 ldi r24,lo8(86) |
1241 09e0 8F93 push r24 |
1242 09e2 0E94 0000 call SendOutData |
1243 09e6 1092 0000 sts GetVersionAnforderung,__zero_reg__ |
1244 09ea 2DB7 in r18,__SP_L__ |
1245 09ec 3EB7 in r19,__SP_H__ |
1246 09ee 295F subi r18,lo8(-(7)) |
1247 09f0 3F4F sbci r19,hi8(-(7)) |
1248 09f2 0FB6 in __tmp_reg__,__SREG__ |
1249 09f4 F894 cli |
1250 09f6 3EBF out __SP_H__,r19 |
1251 09f8 0FBE out __SREG__,__tmp_reg__ |
1252 09fa 2DBF out __SP_L__,r18 |
1253 09fc 8091 0000 lds r24,GetExternalControl |
1254 0a00 8823 tst r24 |
1255 0a02 01F4 brne .+2 |
1256 0a04 00C0 rjmp .L130 |
1257 0a06 00C0 rjmp .L168 |
1258 .L160: |
1259 0a08 2091 0000 lds r18,MeineSlaveAdresse |
1260 0a0c 8BE0 ldi r24,lo8(11) |
1261 0a0e 90E0 ldi r25,hi8(11) |
1262 0a10 9F93 push r25 |
1263 0a12 8F93 push r24 |
1264 0a14 80E0 ldi r24,lo8(ExternControl) |
1265 0a16 90E0 ldi r25,hi8(ExternControl) |
1266 0a18 9F93 push r25 |
1267 0a1a 8F93 push r24 |
1268 0a1c 81E0 ldi r24,lo8(1) |
1269 0a1e 8F93 push r24 |
1270 0a20 2F93 push r18 |
1271 0a22 87E4 ldi r24,lo8(71) |
1272 0a24 8F93 push r24 |
1273 0a26 0E94 0000 call SendOutData |
1274 0a2a 1092 0000 sts GetExternalControl,__zero_reg__ |
1275 0a2e 8DB7 in r24,__SP_L__ |
1276 0a30 9EB7 in r25,__SP_H__ |
1277 0a32 0796 adiw r24,7 |
1278 0a34 0FB6 in __tmp_reg__,__SREG__ |
1279 0a36 F894 cli |
1280 0a38 9EBF out __SP_H__,r25 |
1281 0a3a 0FBE out __SREG__,__tmp_reg__ |
1282 0a3c 8DBF out __SP_L__,r24 |
1283 0a3e 8091 0000 lds r24,Kompass_Timer |
1284 0a42 9091 0000 lds r25,(Kompass_Timer)+1 |
1285 0a46 0E94 0000 call CheckDelay |
1286 0a4a 8823 tst r24 |
1287 0a4c 01F4 brne .+2 |
1288 0a4e 00C0 rjmp .L133 |
1289 0a50 00C0 rjmp .L169 |
1290 .L161: |
1291 0a52 E090 0000 lds r14,EE_Parameter+20 |
1292 0a56 FF24 clr r15 |
1293 0a58 EE0C lsl r14 |
1294 0a5a FF1C rol r15 |
1295 0a5c EE0C lsl r14 |
1296 0a5e FF1C rol r15 |
1297 0a60 0027 clr r16 |
1298 0a62 F7FC sbrc r15,7 |
1299 0a64 0095 com r16 |
1300 0a66 102F mov r17,r16 |
1301 0a68 6091 0000 lds r22,IntegralNick |
1302 0a6c 7091 0000 lds r23,(IntegralNick)+1 |
1303 0a70 8091 0000 lds r24,(IntegralNick)+2 |
1304 0a74 9091 0000 lds r25,(IntegralNick)+3 |
1305 0a78 A801 movw r20,r16 |
1306 0a7a 9701 movw r18,r14 |
1307 0a7c 0E94 0000 call __divmodsi4 |
1308 0a80 3093 0000 sts (WinkelOut)+1,r19 |
1309 0a84 2093 0000 sts WinkelOut,r18 |
1310 0a88 6091 0000 lds r22,IntegralRoll |
1311 0a8c 7091 0000 lds r23,(IntegralRoll)+1 |
1312 0a90 8091 0000 lds r24,(IntegralRoll)+2 |
1313 0a94 9091 0000 lds r25,(IntegralRoll)+3 |
1314 0a98 A801 movw r20,r16 |
1315 0a9a 9701 movw r18,r14 |
1316 0a9c 0E94 0000 call __divmodsi4 |
1317 0aa0 3093 0000 sts (WinkelOut+2)+1,r19 |
1318 0aa4 2093 0000 sts WinkelOut+2,r18 |
1319 0aa8 8091 0000 lds r24,Parameter_UserParam1 |
1320 0aac 8093 0000 sts WinkelOut+4,r24 |
1321 0ab0 8091 0000 lds r24,Parameter_UserParam2 |
1322 0ab4 8093 0000 sts WinkelOut+5,r24 |
1323 0ab8 88E0 ldi r24,lo8(8) |
1324 0aba 90E0 ldi r25,hi8(8) |
1325 0abc 9F93 push r25 |
1326 0abe 8F93 push r24 |
1327 0ac0 80E0 ldi r24,lo8(WinkelOut) |
1328 0ac2 90E0 ldi r25,hi8(WinkelOut) |
1329 0ac4 9F93 push r25 |
1330 0ac6 8F93 push r24 |
1331 0ac8 81E0 ldi r24,lo8(1) |
1332 0aca 8F93 push r24 |
1333 0acc 83E0 ldi r24,lo8(3) |
1334 0ace 8F93 push r24 |
1335 0ad0 87E7 ldi r24,lo8(119) |
1336 0ad2 8F93 push r24 |
1337 0ad4 0E94 0000 call SendOutData |
1338 0ad8 2DB7 in r18,__SP_L__ |
1339 0ada 3EB7 in r19,__SP_H__ |
1340 0adc 295F subi r18,lo8(-(7)) |
1341 0ade 3F4F sbci r19,hi8(-(7)) |
1342 0ae0 0FB6 in __tmp_reg__,__SREG__ |
1343 0ae2 F894 cli |
1344 0ae4 3EBF out __SP_H__,r19 |
1345 0ae6 0FBE out __SREG__,__tmp_reg__ |
1346 0ae8 2DBF out __SP_L__,r18 |
1347 0aea 8091 0000 lds r24,WinkelOut+6 |
1348 0aee 8530 cpi r24,lo8(5) |
1349 0af0 00F0 brlo .L136 |
1350 0af2 86E0 ldi r24,lo8(6) |
1351 0af4 8093 0000 sts WinkelOut+6,r24 |
1352 .L136: |
1353 0af8 83E6 ldi r24,lo8(99) |
1354 0afa 90E0 ldi r25,hi8(99) |
1355 0afc 0E94 0000 call SetDelay |
1356 0b00 9093 0000 sts (Kompass_Timer)+1,r25 |
1357 0b04 8093 0000 sts Kompass_Timer,r24 |
1358 0b08 8091 0000 lds r24,DebugDataIntervall |
1359 0b0c 9091 0000 lds r25,(DebugDataIntervall)+1 |
1360 0b10 892B or r24,r25 |
1361 0b12 01F4 brne .+2 |
1362 0b14 00C0 rjmp .L138 |
1363 0b16 00C0 rjmp .L162 |
1364 .L165: |
1365 0b18 81E0 ldi r24,lo8(1) |
1366 0b1a 90E0 ldi r25,hi8(1) |
1367 0b1c 9F93 push r25 |
1368 0b1e 8F93 push r24 |
1369 0b20 80E0 ldi r24,lo8(ConfirmFrame) |
1370 0b22 90E0 ldi r25,hi8(ConfirmFrame) |
1371 0b24 9F93 push r25 |
1372 0b26 8F93 push r24 |
1373 0b28 81E0 ldi r24,lo8(1) |
1374 0b2a 8F93 push r24 |
1375 0b2c 8F93 push r24 |
1376 0b2e 82E4 ldi r24,lo8(66) |
1377 0b30 8F93 push r24 |
1378 0b32 0E94 0000 call SendOutData |
1379 0b36 1092 0000 sts ConfirmFrame,__zero_reg__ |
1380 0b3a 8DB7 in r24,__SP_L__ |
1381 0b3c 9EB7 in r25,__SP_H__ |
1382 0b3e 0796 adiw r24,7 |
1383 0b40 0FB6 in __tmp_reg__,__SREG__ |
1384 0b42 F894 cli |
1385 0b44 9EBF out __SP_H__,r25 |
1386 0b46 0FBE out __SREG__,__tmp_reg__ |
1387 0b48 8DBF out __SP_L__,r24 |
1388 0b4a 8091 0000 lds r24,GetPPMChannelAnforderung |
1389 0b4e 8823 tst r24 |
1390 0b50 01F0 breq .+2 |
1391 0b52 00C0 rjmp .L170 |
1392 .L155: |
1393 /* epilogue: frame size=0 */ |
1394 0b54 1F91 pop r17 |
1395 0b56 0F91 pop r16 |
1396 0b58 FF90 pop r15 |
1397 0b5a EF90 pop r14 |
1398 0b5c 0895 ret |
1399 /* epilogue end (size=5) */ |
1400 /* function DatenUebertragung size 657 (648) */ |
1402 .global BearbeiteRxDaten |
1404 BearbeiteRxDaten: |
1405 /* prologue: frame size=2 */ |
1406 0b5e EF92 push r14 |
1407 0b60 FF92 push r15 |
1408 0b62 0F93 push r16 |
1409 0b64 1F93 push r17 |
1410 0b66 CF93 push r28 |
1411 0b68 DF93 push r29 |
1412 0b6a CDB7 in r28,__SP_L__ |
1413 0b6c DEB7 in r29,__SP_H__ |
1414 0b6e 2297 sbiw r28,2 |
1415 0b70 0FB6 in __tmp_reg__,__SREG__ |
1416 0b72 F894 cli |
1417 0b74 DEBF out __SP_H__,r29 |
1418 0b76 0FBE out __SREG__,__tmp_reg__ |
1419 0b78 CDBF out __SP_L__,r28 |
1420 /* prologue end (size=14) */ |
1421 0b7a 8091 0000 lds r24,NeuerDatensatzEmpfangen |
1422 0b7e 8823 tst r24 |
1423 0b80 01F4 brne .+2 |
1424 0b82 00C0 rjmp .L221 |
1425 0b84 0E94 0000 call Decode64 |
1426 0b88 8091 0000 lds r24,RxdBuffer+1 |
1427 0b8c 8236 cpi r24,lo8(98) |
1428 0b8e 01F0 breq .L235 |
1429 .L174: |
1430 0b90 8091 0000 lds r24,RxdBuffer+2 |
1431 0b94 8436 cpi r24,lo8(100) |
1432 0b96 01F4 brne .+2 |
1433 0b98 00C0 rjmp .L201 |
1434 0b9a 8536 cpi r24,lo8(101) |
1435 0b9c 00F0 brlo .L236 |
1436 0b9e 8C36 cpi r24,lo8(108) |
1437 0ba0 01F4 brne .+2 |
1438 0ba2 00C0 rjmp .L204 |
1439 0ba4 8D36 cpi r24,lo8(109) |
1440 0ba6 00F0 brlo .+2 |
1441 0ba8 00C0 rjmp .L209 |
1442 0baa 8736 cpi r24,lo8(103) |
1443 0bac 01F4 brne .+2 |
1444 0bae 00C0 rjmp .L202 |
1445 0bb0 8836 cpi r24,lo8(104) |
1446 0bb2 01F4 brne .L196 |
1447 0bb4 8FEF ldi r24,lo8(-1) |
1448 0bb6 8093 0000 sts PcZugriff,r24 |
1449 0bba 8091 0000 lds r24,RemoteKeys |
1450 0bbe E091 0000 lds r30,pRxData |
1451 0bc2 F091 0000 lds r31,(pRxData)+1 |
1452 0bc6 9081 ld r25,Z |
1453 0bc8 892B or r24,r25 |
1454 0bca 8093 0000 sts RemoteKeys,r24 |
1455 0bce 8823 tst r24 |
1456 0bd0 01F0 breq .L219 |
1457 0bd2 1092 0000 sts DisplayLine,__zero_reg__ |
1458 .L219: |
1459 0bd6 81E0 ldi r24,lo8(1) |
1460 0bd8 8093 0000 sts DebugDisplayAnforderung,r24 |
1461 .L196: |
1462 0bdc 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__ |
1463 0be0 1092 0000 sts (pRxData)+1,__zero_reg__ |
1464 0be4 1092 0000 sts pRxData,__zero_reg__ |
1465 0be8 1092 0000 sts RxDataLen,__zero_reg__ |
1466 0bec 00C0 rjmp .L221 |
1467 .L235: |
1468 0bee 8091 0000 lds r24,RxdBuffer+2 |
1469 0bf2 8137 cpi r24,lo8(113) |
1470 0bf4 01F4 brne .+2 |
1471 0bf6 00C0 rjmp .L178 |
1472 0bf8 8237 cpi r24,lo8(114) |
1473 0bfa 00F4 brsh .L181 |
1474 0bfc 8B34 cpi r24,lo8(75) |
1475 0bfe 01F4 brne .+2 |
1476 0c00 00C0 rjmp .L176 |
1477 0c02 8037 cpi r24,lo8(112) |
1478 0c04 01F4 brne .L174 |
1479 0c06 81E0 ldi r24,lo8(1) |
1480 0c08 8093 0000 sts GetPPMChannelAnforderung,r24 |
1481 0c0c 00C0 rjmp .L174 |
1482 .L236: |
1483 0c0e 8136 cpi r24,lo8(97) |
1484 0c10 01F4 brne .+2 |
1485 0c12 00C0 rjmp .L198 |
1486 0c14 8236 cpi r24,lo8(98) |
1487 0c16 00F0 brlo .+2 |
1488 0c18 00C0 rjmp .L208 |
1489 0c1a 8B34 cpi r24,lo8(75) |
1490 0c1c 01F4 brne .L196 |
1491 0c1e E091 0000 lds r30,pRxData |
1492 0c22 F091 0000 lds r31,(pRxData)+1 |
1493 0c26 8081 ld r24,Z |
1494 0c28 9181 ldd r25,Z+1 |
1495 0c2a 9093 0000 sts (KompassValue)+1,r25 |
1496 0c2e 8093 0000 sts KompassValue,r24 |
1497 0c32 845E subi r24,lo8(-(540)) |
1498 0c34 9D4F sbci r25,hi8(-(540)) |
1499 0c36 2091 0000 lds r18,KompassStartwert |
1500 0c3a 3091 0000 lds r19,(KompassStartwert)+1 |
1501 0c3e 821B sub r24,r18 |
1502 0c40 930B sbc r25,r19 |
1503 0c42 68E6 ldi r22,lo8(360) |
1504 0c44 71E0 ldi r23,hi8(360) |
1505 0c46 0E94 0000 call __divmodhi4 |
1506 0c4a 845B subi r24,lo8(-(-180)) |
1507 0c4c 9040 sbci r25,hi8(-(-180)) |
1508 0c4e 9093 0000 sts (KompassRichtung)+1,r25 |
1509 0c52 8093 0000 sts KompassRichtung,r24 |
1510 0c56 00C0 rjmp .L196 |
1511 .L181: |
1512 0c58 8337 cpi r24,lo8(115) |
1513 0c5a 01F4 brne .+2 |
1514 0c5c 00C0 rjmp .L179 |
1515 0c5e 8437 cpi r24,lo8(116) |
1516 0c60 01F0 breq .+2 |
1517 0c62 00C0 rjmp .L174 |
1518 0c64 0091 0000 lds r16,pRxData |
1519 0c68 1091 0000 lds r17,(pRxData)+1 |
1520 0c6c F801 movw r30,r16 |
1521 0c6e 8081 ld r24,Z |
1522 0c70 9181 ldd r25,Z+1 |
1523 0c72 A281 ldd r26,Z+2 |
1524 0c74 B381 ldd r27,Z+3 |
1525 0c76 8093 0000 sts MotorTest,r24 |
1526 0c7a 9093 0000 sts (MotorTest)+1,r25 |
1527 0c7e A093 0000 sts (MotorTest)+2,r26 |
1528 0c82 B093 0000 sts (MotorTest)+3,r27 |
1529 0c86 8FEF ldi r24,lo8(-1) |
1530 0c88 8093 0000 sts PcZugriff,r24 |
1531 0c8c 00C0 rjmp .L174 |
1532 .L209: |
1533 0c8e 8437 cpi r24,lo8(116) |
1534 0c90 01F4 brne .+2 |
1535 0c92 00C0 rjmp .L205 |
1536 0c94 8637 cpi r24,lo8(118) |
1537 0c96 01F0 breq .+2 |
1538 0c98 00C0 rjmp .L196 |
1539 0c9a 81E0 ldi r24,lo8(1) |
1540 0c9c 8093 0000 sts GetVersionAnforderung,r24 |
1541 0ca0 00C0 rjmp .L196 |
1542 .L208: |
1543 0ca2 8236 cpi r24,lo8(98) |
1544 0ca4 01F4 brne .+2 |
1545 0ca6 00C0 rjmp .L199 |
1546 0ca8 8336 cpi r24,lo8(99) |
1547 0caa 01F0 breq .+2 |
1548 0cac 00C0 rjmp .L196 |
1549 0cae 8091 0000 lds r24,Intervall3D |
1550 0cb2 9091 0000 lds r25,(Intervall3D)+1 |
1551 0cb6 892B or r24,r25 |
1552 0cb8 01F0 breq .+2 |
1553 0cba 00C0 rjmp .L222 |
1554 0cbc 0091 0000 lds r16,pRxData |
1555 0cc0 1091 0000 lds r17,(pRxData)+1 |
1556 0cc4 F801 movw r30,r16 |
1557 0cc6 9081 ld r25,Z |
1558 0cc8 9923 tst r25 |
1559 0cca 01F0 breq .+2 |
1560 0ccc 00C0 rjmp .L237 |
1561 .L215: |
1562 0cce F801 movw r30,r16 |
1563 0cd0 8081 ld r24,Z |
1564 0cd2 2AE0 ldi r18,lo8(10) |
1565 0cd4 829F mul r24,r18 |
1566 0cd6 C001 movw r24,r0 |
1567 0cd8 1124 clr r1 |
1568 0cda 9093 0000 sts (Intervall3D)+1,r25 |
1569 0cde 8093 0000 sts Intervall3D,r24 |
1570 0ce2 00C0 rjmp .L196 |
1571 .L178: |
1572 0ce4 0091 0000 lds r16,pRxData |
1573 0ce8 1091 0000 lds r17,(pRxData)+1 |
1574 0cec F801 movw r30,r16 |
1575 0cee 8081 ld r24,Z |
1576 0cf0 8F3F cpi r24,lo8(-1) |
1577 0cf2 01F4 brne .+2 |
1578 0cf4 00C0 rjmp .L238 |
1579 .L182: |
1580 0cf6 F801 movw r30,r16 |
1581 0cf8 8081 ld r24,Z |
1582 0cfa 8823 tst r24 |
1583 0cfc 01F0 breq .+2 |
1584 0cfe 00C0 rjmp .L184 |
1585 0d00 81E0 ldi r24,lo8(1) |
1586 0d02 8083 st Z,r24 |
1587 0d04 0091 0000 lds r16,pRxData |
1588 0d08 1091 0000 lds r17,(pRxData)+1 |
1589 .L186: |
1590 0d0c 90E0 ldi r25,lo8(EE_Parameter) |
1591 0d0e E92E mov r14,r25 |
1592 0d10 90E0 ldi r25,hi8(EE_Parameter) |
1593 0d12 F92E mov r15,r25 |
1594 0d14 4CE5 ldi r20,lo8(92) |
1595 0d16 B701 movw r22,r14 |
1596 0d18 F801 movw r30,r16 |
1597 0d1a 8081 ld r24,Z |
1598 0d1c 0E94 0000 call ReadParameterSet |
1599 .L188: |
1600 0d20 8091 0000 lds r24,UebertragungAbgeschlossen |
1601 0d24 8823 tst r24 |
1602 0d26 01F0 breq .L188 |
1603 0d28 E091 0000 lds r30,pRxData |
1604 0d2c F091 0000 lds r31,(pRxData)+1 |
1605 0d30 8081 ld r24,Z |
1606 0d32 8983 std Y+1,r24 |
1607 0d34 8AE4 ldi r24,lo8(74) |
1608 0d36 8A83 std Y+2,r24 |
1609 0d38 8CE5 ldi r24,lo8(92) |
1610 0d3a 90E0 ldi r25,hi8(92) |
1611 0d3c 9F93 push r25 |
1612 0d3e 8F93 push r24 |
1613 0d40 FF92 push r15 |
1614 0d42 EF92 push r14 |
1615 0d44 21E0 ldi r18,lo8(1) |
1616 0d46 30E0 ldi r19,hi8(1) |
1617 0d48 3F93 push r19 |
1618 0d4a 2F93 push r18 |
1619 0d4c CE01 movw r24,r28 |
1620 0d4e 0296 adiw r24,2 |
1621 0d50 9F93 push r25 |
1622 0d52 8F93 push r24 |
1623 0d54 3F93 push r19 |
1624 0d56 2F93 push r18 |
1625 0d58 CE01 movw r24,r28 |
1626 0d5a 0196 adiw r24,1 |
1627 0d5c 9F93 push r25 |
1628 0d5e 8F93 push r24 |
1629 0d60 83E0 ldi r24,lo8(3) |
1630 0d62 8F93 push r24 |
1631 0d64 81E0 ldi r24,lo8(1) |
1632 0d66 8F93 push r24 |
1633 0d68 81E5 ldi r24,lo8(81) |
1634 0d6a 8F93 push r24 |
1635 0d6c 0E94 0000 call SendOutData |
1636 0d70 8DB7 in r24,__SP_L__ |
1637 0d72 9EB7 in r25,__SP_H__ |
1638 0d74 0F96 adiw r24,15 |
1639 0d76 0FB6 in __tmp_reg__,__SREG__ |
1640 0d78 F894 cli |
1641 0d7a 9EBF out __SP_H__,r25 |
1642 0d7c 0FBE out __SREG__,__tmp_reg__ |
1643 0d7e 8DBF out __SP_L__,r24 |
1644 0d80 00C0 rjmp .L174 |
1645 .L202: |
1646 0d82 81E0 ldi r24,lo8(1) |
1647 0d84 8093 0000 sts GetExternalControl,r24 |
1648 0d88 00C0 rjmp .L196 |
1649 .L199: |
1650 0d8a A0E0 ldi r26,lo8(ExternControl) |
1651 0d8c B0E0 ldi r27,hi8(ExternControl) |
1652 0d8e E091 0000 lds r30,pRxData |
1653 0d92 F091 0000 lds r31,(pRxData)+1 |
1654 0d96 8BE0 ldi r24,lo8(11) |
1655 .L214: |
1656 0d98 0190 ld r0,Z+ |
1657 0d9a 0D92 st X+,r0 |
1658 0d9c 8150 subi r24,lo8(-(-1)) |
1659 0d9e 01F4 brne .L214 |
1660 0da0 8091 0000 lds r24,ExternControl+9 |
1661 0da4 8093 0000 sts ConfirmFrame,r24 |
1662 .L234: |
1663 0da8 8FEF ldi r24,lo8(-1) |
1664 0daa 8093 0000 sts PcZugriff,r24 |
1665 0dae 00C0 rjmp .L196 |
1666 .L205: |
1667 0db0 E091 0000 lds r30,pRxData |
1668 0db4 F091 0000 lds r31,(pRxData)+1 |
1669 0db8 8081 ld r24,Z |
1670 0dba 9181 ldd r25,Z+1 |
1671 0dbc A281 ldd r26,Z+2 |
1672 0dbe B381 ldd r27,Z+3 |
1673 0dc0 8093 0000 sts MotorTest,r24 |
1674 0dc4 9093 0000 sts (MotorTest)+1,r25 |
1675 0dc8 A093 0000 sts (MotorTest)+2,r26 |
1676 0dcc B093 0000 sts (MotorTest)+3,r27 |
1677 .L210: |
1678 0dd0 8091 0000 lds r24,UebertragungAbgeschlossen |
1679 0dd4 8823 tst r24 |
1680 0dd6 01F0 breq .L210 |
1681 0dd8 8091 0000 lds r24,MeineSlaveAdresse |
1682 0ddc 1F92 push __zero_reg__ |
1683 0dde 8F93 push r24 |
1684 0de0 84E5 ldi r24,lo8(84) |
1685 0de2 8F93 push r24 |
1686 0de4 0E94 0000 call SendOutData |
1687 0de8 8FEF ldi r24,lo8(-1) |
1688 0dea 8093 0000 sts PcZugriff,r24 |
1689 0dee 0F90 pop __tmp_reg__ |
1690 0df0 0F90 pop __tmp_reg__ |
1691 0df2 0F90 pop __tmp_reg__ |
1692 0df4 00C0 rjmp .L196 |
1693 .L204: |
1694 0df6 8FEF ldi r24,lo8(-1) |
1695 0df8 8093 0000 sts PcZugriff,r24 |
1696 0dfc E091 0000 lds r30,pRxData |
1697 0e00 F091 0000 lds r31,(pRxData)+1 |
1698 0e04 8081 ld r24,Z |
1699 0e06 8093 0000 sts MenuePunkt,r24 |
1700 0e0a 81E0 ldi r24,lo8(1) |
1701 0e0c 8093 0000 sts DebugDisplayAnforderung1,r24 |
1702 0e10 00C0 rjmp .L196 |
1703 .L198: |
1704 0e12 E091 0000 lds r30,pRxData |
1705 0e16 F091 0000 lds r31,(pRxData)+1 |
1706 0e1a 8081 ld r24,Z |
1707 0e1c 8093 0000 sts DebugTextAnforderung,r24 |
1708 0e20 8032 cpi r24,lo8(32) |
1709 0e22 00F0 brlo .L234 |
1710 0e24 8FE1 ldi r24,lo8(31) |
1711 0e26 8093 0000 sts DebugTextAnforderung,r24 |
1712 0e2a 00C0 rjmp .L234 |
1713 .L201: |
1714 0e2c E091 0000 lds r30,pRxData |
1715 0e30 F091 0000 lds r31,(pRxData)+1 |
1716 0e34 8081 ld r24,Z |
1717 0e36 2AE0 ldi r18,lo8(10) |
1718 0e38 829F mul r24,r18 |
1719 0e3a C001 movw r24,r0 |
1720 0e3c 1124 clr r1 |
1721 0e3e 9093 0000 sts (DebugDataIntervall)+1,r25 |
1722 0e42 8093 0000 sts DebugDataIntervall,r24 |
1723 0e46 892B or r24,r25 |
1724 0e48 01F4 brne .+2 |
1725 0e4a 00C0 rjmp .L196 |
1726 0e4c 81E0 ldi r24,lo8(1) |
1727 0e4e 8093 0000 sts DebugDataAnforderung,r24 |
1728 0e52 00C0 rjmp .L196 |
1729 .L176: |
1730 0e54 0091 0000 lds r16,pRxData |
1731 0e58 1091 0000 lds r17,(pRxData)+1 |
1732 0e5c F801 movw r30,r16 |
1733 0e5e 8081 ld r24,Z |
1734 0e60 9181 ldd r25,Z+1 |
1735 0e62 9093 0000 sts (KompassValue)+1,r25 |
1736 0e66 8093 0000 sts KompassValue,r24 |
1737 0e6a 845E subi r24,lo8(-(540)) |
1738 0e6c 9D4F sbci r25,hi8(-(540)) |
1739 0e6e 2091 0000 lds r18,KompassStartwert |
1740 0e72 3091 0000 lds r19,(KompassStartwert)+1 |
1741 0e76 821B sub r24,r18 |
1742 0e78 930B sbc r25,r19 |
1743 0e7a 68E6 ldi r22,lo8(360) |
1744 0e7c 71E0 ldi r23,hi8(360) |
1745 0e7e 0E94 0000 call __divmodhi4 |
1746 0e82 845B subi r24,lo8(-(-180)) |
1747 0e84 9040 sbci r25,hi8(-(-180)) |
1748 0e86 9093 0000 sts (KompassRichtung)+1,r25 |
1749 0e8a 8093 0000 sts KompassRichtung,r24 |
1750 0e8e 00C0 rjmp .L174 |
1751 .L179: |
1752 0e90 0091 0000 lds r16,pRxData |
1753 0e94 1091 0000 lds r17,(pRxData)+1 |
1754 0e98 F801 movw r30,r16 |
1755 0e9a 8081 ld r24,Z |
1756 0e9c 8150 subi r24,lo8(-(-1)) |
1757 0e9e 8530 cpi r24,lo8(5) |
1758 0ea0 00F4 brsh .L190 |
1759 0ea2 8181 ldd r24,Z+1 |
1760 0ea4 8A34 cpi r24,lo8(74) |
1761 0ea6 01F0 breq .L239 |
1762 .L190: |
1763 0ea8 1982 std Y+1,__zero_reg__ |
1764 .L223: |
1765 0eaa 8091 0000 lds r24,UebertragungAbgeschlossen |
1766 0eae 8823 tst r24 |
1767 0eb0 01F0 breq .L223 |
1768 0eb2 81E0 ldi r24,lo8(1) |
1769 0eb4 90E0 ldi r25,hi8(1) |
1770 0eb6 9F93 push r25 |
1771 0eb8 8F93 push r24 |
1772 0eba CE01 movw r24,r28 |
1773 0ebc 0196 adiw r24,1 |
1774 0ebe 9F93 push r25 |
1775 0ec0 8F93 push r24 |
1776 0ec2 81E0 ldi r24,lo8(1) |
1777 0ec4 8F93 push r24 |
1778 0ec6 8F93 push r24 |
1779 0ec8 83E5 ldi r24,lo8(83) |
1780 0eca 8F93 push r24 |
1781 0ecc 0E94 0000 call SendOutData |
1782 0ed0 8DB7 in r24,__SP_L__ |
1783 0ed2 9EB7 in r25,__SP_H__ |
1784 0ed4 0796 adiw r24,7 |
1785 0ed6 0FB6 in __tmp_reg__,__SREG__ |
1786 0ed8 F894 cli |
1787 0eda 9EBF out __SP_H__,r25 |
1788 0edc 0FBE out __SREG__,__tmp_reg__ |
1789 0ede 8DBF out __SP_L__,r24 |
1790 0ee0 00C0 rjmp .L174 |
1791 .L239: |
1792 0ee2 A0E0 ldi r26,lo8(EE_Parameter) |
1793 0ee4 B0E0 ldi r27,hi8(EE_Parameter) |
1794 0ee6 3296 adiw r30,2 |
1795 0ee8 8CE5 ldi r24,lo8(92) |
1796 .L193: |
1797 0eea 0190 ld r0,Z+ |
1798 0eec 0D92 st X+,r0 |
1799 0eee 8150 subi r24,lo8(-(-1)) |
1800 0ef0 01F4 brne .L193 |
1801 0ef2 4CE5 ldi r20,lo8(92) |
1802 0ef4 60E0 ldi r22,lo8(EE_Parameter) |
1803 0ef6 70E0 ldi r23,hi8(EE_Parameter) |
1804 0ef8 F801 movw r30,r16 |
1805 0efa 8081 ld r24,Z |
1806 0efc 0E94 0000 call WriteParameterSet |
1807 0f00 6091 0000 lds r22,EE_Parameter+45 |
1808 0f04 70E0 ldi r23,lo8(0) |
1809 0f06 80E0 ldi r24,lo8(0) |
1810 0f08 90E0 ldi r25,hi8(0) |
1811 0f0a 24EC ldi r18,lo8(2500) |
1812 0f0c 39E0 ldi r19,hi8(2500) |
1813 0f0e 40E0 ldi r20,hlo8(2500) |
1814 0f10 50E0 ldi r21,hhi8(2500) |
1815 0f12 0E94 0000 call __mulsi3 |
1816 0f16 6093 0000 sts Umschlag180Nick,r22 |
1817 0f1a 7093 0000 sts (Umschlag180Nick)+1,r23 |
1818 0f1e 8093 0000 sts (Umschlag180Nick)+2,r24 |
1819 0f22 9093 0000 sts (Umschlag180Nick)+3,r25 |
1820 0f26 6091 0000 lds r22,EE_Parameter+46 |
1821 0f2a 70E0 ldi r23,lo8(0) |
1822 0f2c 80E0 ldi r24,lo8(0) |
1823 0f2e 90E0 ldi r25,hi8(0) |
1824 0f30 0E94 0000 call __mulsi3 |
1825 0f34 6093 0000 sts Umschlag180Roll,r22 |
1826 0f38 7093 0000 sts (Umschlag180Roll)+1,r23 |
1827 0f3c 8093 0000 sts (Umschlag180Roll)+2,r24 |
1828 0f40 9093 0000 sts (Umschlag180Roll)+3,r25 |
1829 0f44 E091 0000 lds r30,pRxData |
1830 0f48 F091 0000 lds r31,(pRxData)+1 |
1831 0f4c 8081 ld r24,Z |
1832 0f4e 0E94 0000 call SetActiveParamSetNumber |
1833 0f52 0E94 0000 call GetActiveParamSetNumber |
1834 0f56 8983 std Y+1,r24 |
1835 0f58 0E94 0000 call Piep |
1836 0f5c 00C0 rjmp .L223 |
1837 .L222: |
1838 0f5e 0091 0000 lds r16,pRxData |
1839 0f62 1091 0000 lds r17,(pRxData)+1 |
1840 0f66 00C0 rjmp .L215 |
1841 .L184: |
1842 0f68 8630 cpi r24,lo8(6) |
1843 0f6a 00F4 brsh .+2 |
1844 0f6c 00C0 rjmp .L186 |
1845 0f6e 85E0 ldi r24,lo8(5) |
1846 0f70 F801 movw r30,r16 |
1847 0f72 8083 st Z,r24 |
1848 0f74 0091 0000 lds r16,pRxData |
1849 0f78 1091 0000 lds r17,(pRxData)+1 |
1850 0f7c 00C0 rjmp .L186 |
1851 .L237: |
1852 0f7e 8AE0 ldi r24,lo8(10) |
1853 0f80 989F mul r25,r24 |
1854 0f82 C001 movw r24,r0 |
1855 0f84 1124 clr r1 |
1856 0f86 0E94 0000 call SetDelay |
1857 0f8a 9093 0000 sts (Timer3D)+1,r25 |
1858 0f8e 8093 0000 sts Timer3D,r24 |
1859 0f92 0091 0000 lds r16,pRxData |
1860 0f96 1091 0000 lds r17,(pRxData)+1 |
1861 0f9a 00C0 rjmp .L215 |
1862 .L238: |
1863 0f9c 0E94 0000 call GetActiveParamSetNumber |
1864 0fa0 F801 movw r30,r16 |
1865 0fa2 8083 st Z,r24 |
1866 0fa4 0091 0000 lds r16,pRxData |
1867 0fa8 1091 0000 lds r17,(pRxData)+1 |
1868 0fac 00C0 rjmp .L182 |
1869 .L221: |
1870 /* epilogue: frame size=2 */ |
1871 0fae 2296 adiw r28,2 |
1872 0fb0 0FB6 in __tmp_reg__,__SREG__ |
1873 0fb2 F894 cli |
1874 0fb4 DEBF out __SP_H__,r29 |
1875 0fb6 0FBE out __SREG__,__tmp_reg__ |
1876 0fb8 CDBF out __SP_L__,r28 |
1877 0fba DF91 pop r29 |
1878 0fbc CF91 pop r28 |
1879 0fbe 1F91 pop r17 |
1880 0fc0 0F91 pop r16 |
1881 0fc2 FF90 pop r15 |
1882 0fc4 EF90 pop r14 |
1883 0fc6 0895 ret |
1884 /* epilogue end (size=13) */ |
1885 /* function BearbeiteRxDaten size 567 (540) */ |
1887 .global GetExternalControl |
1888 .global GetExternalControl |
1889 .section .bss |
1892 GetExternalControl: |
1893 0000 00 .skip 1,0 |
1894 .global DebugDisplayAnforderung1 |
1895 .global DebugDisplayAnforderung1 |
1898 DebugDisplayAnforderung1: |
1899 0001 00 .skip 1,0 |
1900 .global DebugDisplayAnforderung |
1901 .global DebugDisplayAnforderung |
1904 DebugDisplayAnforderung: |
1905 0002 00 .skip 1,0 |
1906 .global DebugDataAnforderung |
1907 .global DebugDataAnforderung |
1910 DebugDataAnforderung: |
1911 0003 00 .skip 1,0 |
1912 .global GetVersionAnforderung |
1913 .global GetVersionAnforderung |
1916 GetVersionAnforderung: |
1917 0004 00 .skip 1,0 |
1918 .global GetPPMChannelAnforderung |
1919 .global GetPPMChannelAnforderung |
1922 GetPPMChannelAnforderung: |
1923 0005 00 .skip 1,0 |
1924 .global DisplayLine |
1925 .global DisplayLine |
1928 DisplayLine: |
1929 0006 00 .skip 1,0 |
1930 .global SioTmp |
1931 .global SioTmp |
1934 SioTmp: |
1935 0007 00 .skip 1,0 |
1936 .global NeuerDatensatzEmpfangen |
1937 .global NeuerDatensatzEmpfangen |
1940 NeuerDatensatzEmpfangen: |
1941 0008 00 .skip 1,0 |
1942 .global NeueKoordinateEmpfangen |
1943 .global NeueKoordinateEmpfangen |
1946 NeueKoordinateEmpfangen: |
1947 0009 00 .skip 1,0 |
1948 .global UebertragungAbgeschlossen |
1949 .data |
1952 UebertragungAbgeschlossen: |
1953 0000 01 .byte 1 |
1954 .global CntCrcError |
1955 .global CntCrcError |
1956 .section .bss |
1959 CntCrcError: |
1960 000a 00 .skip 1,0 |
1961 .global AnzahlEmpfangsBytes |
1962 .global AnzahlEmpfangsBytes |
1965 AnzahlEmpfangsBytes: |
1966 000b 00 .skip 1,0 |
1967 .global pRxData |
1968 .global pRxData |
1971 pRxData: |
1972 000c 0000 .skip 2,0 |
1973 .global RxDataLen |
1974 .global RxDataLen |
1977 RxDataLen: |
1978 000e 00 .skip 1,0 |
1979 .global PC_DebugTimeout |
1980 .global PC_DebugTimeout |
1983 PC_DebugTimeout: |
1984 000f 00 .skip 1,0 |
1985 .global DebugTextAnforderung |
1986 .data |
1989 DebugTextAnforderung: |
1990 0001 FF .byte -1 |
1991 .global PcZugriff |
1994 PcZugriff: |
1995 0002 64 .byte 100 |
1996 .global MotorTest |
1997 .global MotorTest |
1998 .section .bss |
2001 MotorTest: |
2002 0010 0000 0000 .skip 4,0 |
2003 .global MeineSlaveAdresse |
2004 .data |
2007 MeineSlaveAdresse: |
2008 0003 01 .byte 1 |
2009 .global DebugDataIntervall |
2012 DebugDataIntervall: |
2013 0004 C800 .word 200 |
2014 .global Intervall3D |
2015 .global Intervall3D |
2016 .section .bss |
2019 Intervall3D: |
2020 0014 0000 .skip 2,0 |
2021 .global ANALOG_TEXT |
2022 .data |
2025 ANALOG_TEXT: |
2026 0006 416E 676C .ascii "AngleNick " |
2026 654E 6963 |
2026 6B20 2020 |
2026 2020 2020 |
2027 0016 416E 676C .ascii "AngleRoll " |
2027 6552 6F6C |
2027 6C20 2020 |
2027 2020 2020 |
2028 0026 4163 634E .ascii "AccNick " |
2028 6963 6B20 |
2028 2020 2020 |
2028 2020 2020 |
2029 0036 4163 6352 .ascii "AccRoll " |
2029 6F6C 6C20 |
2029 2020 2020 |
2029 2020 2020 |
2030 0046 4779 726F .ascii "GyroGier " |
2030 4769 6572 |
2030 2020 2020 |
2030 2020 2020 |
2031 0056 4869 6768 .ascii "Hight Value " |
2031 7420 5661 |
2031 6C75 6520 |
2031 2020 2020 |
2032 0066 4163 635A .ascii "AccZ " |
2032 2020 2020 |
2032 2020 2020 |
2032 2020 2020 |
2033 0076 4761 7320 .ascii "Gas " |
2033 2020 2020 |
2033 2020 2020 |
2033 2020 2020 |
2034 0086 436F 6D70 .ascii "Compass Value " |
2034 6173 7320 |
2034 5661 6C75 |
2034 6520 2020 |
2035 0096 566F 6C74 .ascii "Voltage " |
2035 6167 6520 |
2035 2020 2020 |
2035 2020 2020 |
2036 00a6 456D 7066 .ascii "Empfang " |
2036 616E 6720 |
2036 2020 2020 |
2036 2020 2020 |
2037 00b6 4779 726F .ascii "Gyro Kompass " |
2037 204B 6F6D |
2037 7061 7373 |
2037 2020 2020 |
2038 00c6 4D6F 746F .ascii "Motor Front " |
2038 7220 4672 |
2038 6F6E 7420 |
2038 2020 2020 |
2039 00d6 4D6F 746F .ascii "Motor Rear " |
2039 7220 5265 |
2039 6172 2020 |
2039 2020 2020 |
2040 00e6 4D6F 746F .ascii "Motor Left " |
2040 7220 4C65 |
2040 6674 2020 |
2040 2020 2020 |
2041 00f6 4D6F 746F .ascii "Motor Right " |
2041 7220 5269 |
2041 6768 7420 |
2041 2020 2020 |
2042 0106 2020 2020 .ascii " " |
2042 2020 2020 |
2042 2020 2020 |
2042 2020 2020 |
2043 0116 2020 2020 .ascii " " |
2043 2020 2020 |
2043 2020 2020 |
2043 2020 2020 |
2044 0126 2020 2020 .ascii " " |
2044 2020 2020 |
2044 2020 2020 |
2044 2020 2020 |
2045 0136 4D4B 334D .ascii "MK3Mag CalState " |
2045 6167 2043 |
2045 616C 5374 |
2045 6174 6520 |
2046 0146 5365 7276 .ascii "Servo " |
2046 6F20 2020 |
2046 2020 2020 |
2046 2020 2020 |
2047 0156 2020 2020 .ascii " " |
2047 2020 2020 |
2047 2020 2020 |
2047 2020 2020 |
2048 0166 2020 2020 .ascii " " |
2048 2020 2020 |
2048 2020 2020 |
2048 2020 2020 |
2049 0176 2020 2020 .ascii " " |
2049 2020 2020 |
2049 2020 2020 |
2049 2020 2020 |
2050 0186 2020 2020 .ascii " " |
2050 2020 2020 |
2050 2020 2020 |
2050 2020 2020 |
2051 0196 2020 2020 .ascii " " |
2051 2020 2020 |
2051 2020 2020 |
2051 2020 2020 |
2052 01a6 2020 2020 .ascii " " |
2052 2020 2020 |
2052 2020 2020 |
2052 2020 2020 |
2053 01b6 4B61 6C6D .ascii "Kalman_MaxDrift " |
2053 616E 5F4D |
2053 6178 4472 |
2053 6966 7420 |
2054 01c6 2020 2020 .ascii " " |
2054 2020 2020 |
2054 2020 2020 |
2054 2020 2020 |
2055 01d6 2020 2020 .ascii " " |
2055 2020 2020 |
2055 2020 2020 |
2055 2020 2020 |
2056 01e6 4750 535F .ascii "GPS_Nick " |
2056 4E69 636B |
2056 2020 2020 |
2056 2020 2020 |
2057 01f6 4750 535F .ascii "GPS_Roll " |
2057 526F 6C6C |
2057 2020 2020 |
2057 2020 2020 |
2058 .lcomm UartState.2411,1 |
2059 .lcomm buf_ptr.2410,1 |
2060 .lcomm crc2.2409,1 |
2061 .lcomm crc1.2408,1 |
2062 .lcomm crc.2407,2 |
2063 .lcomm ptr.2394,2 |
2064 .comm SendeBuffer,150,1 |
2065 .comm RxdBuffer,150,1 |
2066 .comm Debug_Timer,2,1 |
2067 .comm Kompass_Timer,2,1 |
2068 .comm DebugOut,66,1 |
2069 .comm WinkelOut,8,1 |
2070 .comm Data3D,14,1 |
2071 .comm ExternControl,11,1 |
2072 .comm VersionInfo,10,1 |
2073 .comm NMEABuffer,150,1 |
2074 .comm ConfirmFrame,1,1 |
2075 .comm Timer3D,2,1 |
2076 /* File "uart.c": code 2035 = 0x07f3 (1911), prologues 60, epilogues 64 */ |
DEFINED SYMBOLS |
*ABS*:00000000 uart.c |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:3 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:4 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:5 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:6 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:12 .text:00000000 __vector_22 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1952 .data:00000000 UebertragungAbgeschlossen |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2062 .bss:0000001c ptr.2394 |
*COM*:00000096 SendeBuffer |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:70 .text:00000070 __vector_20 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1934 .bss:00000007 SioTmp |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2058 .bss:00000017 buf_ptr.2410 |
.bss:00000016 UartState.2411 |
*COM*:00000096 RxdBuffer |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2061 .bss:0000001a crc.2407 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2060 .bss:00000019 crc1.2408 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2059 .bss:00000018 crc2.2409 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1959 .bss:0000000a CntCrcError |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1940 .bss:00000008 NeuerDatensatzEmpfangen |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1965 .bss:0000000b AnzahlEmpfangsBytes |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:287 .text:00000250 AddCRC |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:363 .text:000002d6 Decode64 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1971 .bss:0000000c pRxData |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1977 .bss:0000000e RxDataLen |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:470 .text:00000396 uart_putchar |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:498 .text:000003bc WriteProgramData |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:508 .text:000003be UART_Init |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2012 .data:00000004 DebugDataIntervall |
*COM*:00000002 Debug_Timer |
*COM*:00000002 Kompass_Timer |
*COM*:0000000a VersionInfo |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:556 .text:0000042e SendOutData |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:838 .text:0000063c DatenUebertragung |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1904 .bss:00000002 DebugDisplayAnforderung |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1898 .bss:00000001 DebugDisplayAnforderung1 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1916 .bss:00000004 GetVersionAnforderung |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1892 .bss:00000000 GetExternalControl |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1910 .bss:00000003 DebugDataAnforderung |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2019 .bss:00000014 Intervall3D |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1989 .data:00000001 DebugTextAnforderung |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2025 .data:00000006 ANALOG_TEXT |
*COM*:00000001 ConfirmFrame |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1922 .bss:00000005 GetPPMChannelAnforderung |
*COM*:00000002 Timer3D |
*COM*:0000000e Data3D |
*COM*:00000042 DebugOut |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1928 .bss:00000006 DisplayLine |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2007 .data:00000003 MeineSlaveAdresse |
*COM*:0000000b ExternControl |
*COM*:00000008 WinkelOut |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1404 .text:00000b5e BearbeiteRxDaten |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1994 .data:00000002 PcZugriff |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:2001 .bss:00000010 MotorTest |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1946 .bss:00000009 NeueKoordinateEmpfangen |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/cc8RanbA.s:1983 .bss:0000000f PC_DebugTimeout |
*COM*:00000096 NMEABuffer |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
SetDelay |
CheckDelay |
PPM_in |
EE_Parameter |
IntegralNick |
__divmodsi4 |
IntegralRoll |
ErsatzKompass |
__mulsi3 |
GIER_GRAD_FAKTOR |
Menu |
DisplayBuff |
MaxMenue |
MenuePunkt |
Parameter_UserParam1 |
Parameter_UserParam2 |
RemoteKeys |
KompassValue |
KompassStartwert |
__divmodhi4 |
KompassRichtung |
ReadParameterSet |
WriteParameterSet |
Umschlag180Nick |
Umschlag180Roll |
SetActiveParamSetNumber |
GetActiveParamSetNumber |
Piep |