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