Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
21 | user | 1 | 1 .file "GPS.c" |
2 | 2 .arch atmega644 |
||
3 | 3 __SREG__ = 0x3f |
||
4 | 4 __SP_H__ = 0x3e |
||
5 | 5 __SP_L__ = 0x3d |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .global __do_copy_data |
||
9 | 9 .global __do_clear_bss |
||
10 | 10 .text |
||
11 | 11 .global gps_main |
||
12 | 13 gps_main: |
||
13 | 14 /* prologue: frame size=0 */ |
||
14 | 15 0000 2F92 push r2 |
||
15 | 16 0002 3F92 push r3 |
||
16 | 17 0004 4F92 push r4 |
||
17 | 18 0006 5F92 push r5 |
||
18 | 19 0008 6F92 push r6 |
||
19 | 20 000a 7F92 push r7 |
||
20 | 21 000c 8F92 push r8 |
||
21 | 22 000e 9F92 push r9 |
||
22 | 23 0010 AF92 push r10 |
||
23 | 24 0012 BF92 push r11 |
||
24 | 25 0014 CF92 push r12 |
||
25 | 26 0016 DF92 push r13 |
||
26 | 27 0018 EF92 push r14 |
||
27 | 28 001a FF92 push r15 |
||
28 | 29 001c 0F93 push r16 |
||
29 | 30 001e 1F93 push r17 |
||
30 | 31 0020 CF93 push r28 |
||
31 | 32 0022 DF93 push r29 |
||
32 | 33 /* prologue end (size=18) */ |
||
33 | 34 0024 8091 0000 lds r24,MotorenEin |
||
34 | 35 0028 8230 cpi r24,lo8(2) |
||
35 | 36 002a 00F0 brlo .L2 |
||
36 | 37 002c 8091 0000 lds r24,gps_gethome |
||
37 | 38 0030 9091 0000 lds r25,(gps_gethome)+1 |
||
38 | 39 0034 892B or r24,r25 |
||
39 | 40 0036 01F4 brne .L2 |
||
40 | 41 0038 8091 0000 lds r24,actualPos+32 |
||
41 | 42 003c 8823 tst r24 |
||
42 | 43 003e 01F0 breq .L2 |
||
43 | 44 0040 8091 0000 lds r24,actualPos |
||
44 | 45 0044 9091 0000 lds r25,(actualPos)+1 |
||
45 | 46 0048 A091 0000 lds r26,(actualPos)+2 |
||
46 | 47 004c B091 0000 lds r27,(actualPos)+3 |
||
47 | 48 0050 8093 0000 sts gps_home_n,r24 |
||
48 | 49 0054 9093 0000 sts (gps_home_n)+1,r25 |
||
49 | 50 0058 A093 0000 sts (gps_home_n)+2,r26 |
||
50 | 51 005c B093 0000 sts (gps_home_n)+3,r27 |
||
51 | 52 0060 8091 0000 lds r24,actualPos+4 |
||
52 | 53 0064 9091 0000 lds r25,(actualPos+4)+1 |
||
53 | 54 0068 A091 0000 lds r26,(actualPos+4)+2 |
||
54 | 55 006c B091 0000 lds r27,(actualPos+4)+3 |
||
55 | 56 0070 8093 0000 sts gps_home_e,r24 |
||
56 | 57 0074 9093 0000 sts (gps_home_e)+1,r25 |
||
57 | 58 0078 A093 0000 sts (gps_home_e)+2,r26 |
||
58 | 59 007c B093 0000 sts (gps_home_e)+3,r27 |
||
59 | 60 0080 80E5 ldi r24,lo8(80) |
||
60 | 61 0082 90E0 ldi r25,hi8(80) |
||
61 | 62 0084 9093 0000 sts (beeptime)+1,r25 |
||
62 | 63 0088 8093 0000 sts beeptime,r24 |
||
63 | 64 008c 81E0 ldi r24,lo8(1) |
||
64 | 65 008e 90E0 ldi r25,hi8(1) |
||
65 | 66 0090 9093 0000 sts (gps_gethome)+1,r25 |
||
66 | 67 0094 8093 0000 sts gps_gethome,r24 |
||
67 | 68 .L2: |
||
68 | 69 0098 8091 0000 lds r24,Poti1 |
||
69 | 70 009c 9091 0000 lds r25,(Poti1)+1 |
||
70 | 71 00a0 1816 cp __zero_reg__,r24 |
||
71 | 72 00a2 1906 cpc __zero_reg__,r25 |
||
72 | 73 00a4 04F0 brlt .+2 |
||
73 | 74 00a6 00C0 rjmp .L6 |
||
74 | 75 00a8 8091 0000 lds r24,actualPos+32 |
||
75 | 76 00ac 8823 tst r24 |
||
76 | 77 00ae 01F4 brne .+2 |
||
77 | 78 00b0 00C0 rjmp .L6 |
||
78 | 79 00b2 8091 0000 lds r24,gps_getpos |
||
79 | 80 00b6 9091 0000 lds r25,(gps_getpos)+1 |
||
80 | 81 00ba 892B or r24,r25 |
||
81 | 82 00bc 01F0 breq .L9 |
||
82 | 83 00be 8091 0000 lds r24,actualPos |
||
83 | 84 00c2 9091 0000 lds r25,(actualPos)+1 |
||
84 | 85 00c6 A091 0000 lds r26,(actualPos)+2 |
||
85 | 86 00ca B091 0000 lds r27,(actualPos)+3 |
||
86 | 87 00ce 8093 0000 sts gps_northing,r24 |
||
87 | 88 00d2 9093 0000 sts (gps_northing)+1,r25 |
||
88 | 89 00d6 A093 0000 sts (gps_northing)+2,r26 |
||
89 | 90 00da B093 0000 sts (gps_northing)+3,r27 |
||
90 | 91 00de 8091 0000 lds r24,actualPos+4 |
||
91 | 92 00e2 9091 0000 lds r25,(actualPos+4)+1 |
||
92 | 93 00e6 A091 0000 lds r26,(actualPos+4)+2 |
||
93 | 94 00ea B091 0000 lds r27,(actualPos+4)+3 |
||
94 | 95 00ee 8093 0000 sts gps_easting,r24 |
||
95 | 96 00f2 9093 0000 sts (gps_easting)+1,r25 |
||
96 | 97 00f6 A093 0000 sts (gps_easting)+2,r26 |
||
97 | 98 00fa B093 0000 sts (gps_easting)+3,r27 |
||
98 | 99 00fe 82E3 ldi r24,lo8(50) |
||
99 | 100 0100 90E0 ldi r25,hi8(50) |
||
100 | 101 0102 9093 0000 sts (beeptime)+1,r25 |
||
101 | 102 0106 8093 0000 sts beeptime,r24 |
||
102 | 103 010a 1092 0000 sts (gps_getpos)+1,__zero_reg__ |
||
103 | 104 010e 1092 0000 sts gps_getpos,__zero_reg__ |
||
104 | 105 .L9: |
||
105 | 106 0112 2091 0000 lds r18,gps_p |
||
106 | 107 0116 3091 0000 lds r19,(gps_p)+1 |
||
107 | 108 011a 6091 0000 lds r22,gps_northing |
||
108 | 109 011e 7091 0000 lds r23,(gps_northing)+1 |
||
109 | 110 0122 8091 0000 lds r24,(gps_northing)+2 |
||
110 | 111 0126 9091 0000 lds r25,(gps_northing)+3 |
||
111 | 112 012a E090 0000 lds r14,actualPos |
||
112 | 113 012e F090 0000 lds r15,(actualPos)+1 |
||
113 | 114 0132 0091 0000 lds r16,(actualPos)+2 |
||
114 | 115 0136 1091 0000 lds r17,(actualPos)+3 |
||
115 | 116 013a 6E19 sub r22,r14 |
||
116 | 117 013c 7F09 sbc r23,r15 |
||
117 | 118 013e 800B sbc r24,r16 |
||
118 | 119 0140 910B sbc r25,r17 |
||
119 | 120 0142 4427 clr r20 |
||
120 | 121 0144 37FD sbrc r19,7 |
||
121 | 122 0146 4095 com r20 |
||
122 | 123 0148 542F mov r21,r20 |
||
123 | 124 014a 0E94 0000 call __mulsi3 |
||
124 | 125 014e 1B01 movw r2,r22 |
||
125 | 126 0150 2C01 movw r4,r24 |
||
126 | 127 0152 6093 0000 sts zwn,r22 |
||
127 | 128 0156 7093 0000 sts (zwn)+1,r23 |
||
128 | 129 015a 8093 0000 sts (zwn)+2,r24 |
||
129 | 130 015e 9093 0000 sts (zwn)+3,r25 |
||
130 | 131 0162 2091 0000 lds r18,gps_p |
||
131 | 132 0166 3091 0000 lds r19,(gps_p)+1 |
||
132 | 133 016a 6091 0000 lds r22,gps_easting |
||
133 | 134 016e 7091 0000 lds r23,(gps_easting)+1 |
||
134 | 135 0172 8091 0000 lds r24,(gps_easting)+2 |
||
135 | 136 0176 9091 0000 lds r25,(gps_easting)+3 |
||
136 | 137 017a E090 0000 lds r14,actualPos+4 |
||
137 | 138 017e F090 0000 lds r15,(actualPos+4)+1 |
||
138 | 139 0182 0091 0000 lds r16,(actualPos+4)+2 |
||
139 | 140 0186 1091 0000 lds r17,(actualPos+4)+3 |
||
140 | 141 018a 6E19 sub r22,r14 |
||
141 | 142 018c 7F09 sbc r23,r15 |
||
142 | 143 018e 800B sbc r24,r16 |
||
143 | 144 0190 910B sbc r25,r17 |
||
144 | 145 0192 4427 clr r20 |
||
145 | 146 0194 37FD sbrc r19,7 |
||
146 | 147 0196 4095 com r20 |
||
147 | 148 0198 542F mov r21,r20 |
||
148 | 149 019a 0E94 0000 call __mulsi3 |
||
149 | 150 019e 5B01 movw r10,r22 |
||
150 | 151 01a0 6C01 movw r12,r24 |
||
151 | 152 01a2 6093 0000 sts zwe,r22 |
||
152 | 153 01a6 7093 0000 sts (zwe)+1,r23 |
||
153 | 154 01aa 8093 0000 sts (zwe)+2,r24 |
||
154 | 155 01ae 9093 0000 sts (zwe)+3,r25 |
||
155 | 156 01b2 1092 0000 sts zwn1,__zero_reg__ |
||
156 | 157 01b6 1092 0000 sts (zwn1)+1,__zero_reg__ |
||
157 | 158 01ba 1092 0000 sts (zwn1)+2,__zero_reg__ |
||
158 | 159 01be 1092 0000 sts (zwn1)+3,__zero_reg__ |
||
159 | 160 01c2 1092 0000 sts zwe1,__zero_reg__ |
||
160 | 161 01c6 1092 0000 sts (zwe1)+1,__zero_reg__ |
||
161 | 162 01ca 1092 0000 sts (zwe1)+2,__zero_reg__ |
||
162 | 163 01ce 1092 0000 sts (zwe1)+3,__zero_reg__ |
||
163 | 164 01d2 6091 0000 lds r22,gps_d |
||
164 | 165 01d6 7091 0000 lds r23,(gps_d)+1 |
||
165 | 166 01da 8827 clr r24 |
||
166 | 167 01dc 77FD sbrc r23,7 |
||
167 | 168 01de 8095 com r24 |
||
168 | 169 01e0 982F mov r25,r24 |
||
169 | 170 01e2 2091 0000 lds r18,actualPos+12 |
||
170 | 171 01e6 3091 0000 lds r19,(actualPos+12)+1 |
||
171 | 172 01ea 4091 0000 lds r20,(actualPos+12)+2 |
||
172 | 173 01ee 5091 0000 lds r21,(actualPos+12)+3 |
||
173 | 174 01f2 0E94 0000 call __mulsi3 |
||
174 | 175 01f6 7B01 movw r14,r22 |
||
175 | 176 01f8 8C01 movw r16,r24 |
||
176 | 177 01fa 6093 0000 sts zwn2,r22 |
||
177 | 178 01fe 7093 0000 sts (zwn2)+1,r23 |
||
178 | 179 0202 8093 0000 sts (zwn2)+2,r24 |
||
179 | 180 0206 9093 0000 sts (zwn2)+3,r25 |
||
180 | 181 020a 6091 0000 lds r22,gps_d |
||
181 | 182 020e 7091 0000 lds r23,(gps_d)+1 |
||
182 | 183 0212 8827 clr r24 |
||
183 | 184 0214 77FD sbrc r23,7 |
||
184 | 185 0216 8095 com r24 |
||
185 | 186 0218 982F mov r25,r24 |
||
186 | 187 021a 2091 0000 lds r18,actualPos+16 |
||
187 | 188 021e 3091 0000 lds r19,(actualPos+16)+1 |
||
188 | 189 0222 4091 0000 lds r20,(actualPos+16)+2 |
||
189 | 190 0226 5091 0000 lds r21,(actualPos+16)+3 |
||
190 | 191 022a 0E94 0000 call __mulsi3 |
||
191 | 192 022e 3B01 movw r6,r22 |
||
192 | 193 0230 4C01 movw r8,r24 |
||
193 | 194 0232 6093 0000 sts zwe2,r22 |
||
194 | 195 0236 7093 0000 sts (zwe2)+1,r23 |
||
195 | 196 023a 8093 0000 sts (zwe2)+2,r24 |
||
196 | 197 023e 9093 0000 sts (zwe2)+3,r25 |
||
197 | 198 0242 2091 0000 lds r18,skal |
||
198 | 199 0246 3091 0000 lds r19,(skal)+1 |
||
199 | 200 024a E218 sub r14,r2 |
||
200 | 201 024c F308 sbc r15,r3 |
||
201 | 202 024e 0409 sbc r16,r4 |
||
202 | 203 0250 1509 sbc r17,r5 |
||
203 | 204 0252 4427 clr r20 |
||
204 | 205 0254 37FD sbrc r19,7 |
||
205 | 206 0256 4095 com r20 |
||
206 | 207 0258 542F mov r21,r20 |
||
207 | 208 025a C801 movw r24,r16 |
||
208 | 209 025c B701 movw r22,r14 |
||
209 | 210 025e 0E94 0000 call __divmodsi4 |
||
210 | 211 0262 E901 movw r28,r18 |
||
211 | 212 0264 3093 0000 sts (GPS_Nick)+1,r19 |
||
212 | 213 0268 2093 0000 sts GPS_Nick,r18 |
||
213 | 214 026c 2091 0000 lds r18,skal |
||
214 | 215 0270 3091 0000 lds r19,(skal)+1 |
||
215 | 216 0274 A618 sub r10,r6 |
||
216 | 217 0276 B708 sbc r11,r7 |
||
217 | 218 0278 C808 sbc r12,r8 |
||
218 | 219 027a D908 sbc r13,r9 |
||
219 | 220 027c 4427 clr r20 |
||
220 | 221 027e 37FD sbrc r19,7 |
||
221 | 222 0280 4095 com r20 |
||
222 | 223 0282 542F mov r21,r20 |
||
223 | 224 0284 C601 movw r24,r12 |
||
224 | 225 0286 B501 movw r22,r10 |
||
225 | 226 0288 0E94 0000 call __divmodsi4 |
||
226 | 227 028c B901 movw r22,r18 |
||
227 | 228 028e 3093 0000 sts (GPS_Roll)+1,r19 |
||
228 | 229 0292 2093 0000 sts GPS_Roll,r18 |
||
229 | 230 0296 8091 0000 lds r24,gpsmax |
||
230 | 231 029a 9091 0000 lds r25,(gpsmax)+1 |
||
231 | 232 029e 8C17 cp r24,r28 |
||
232 | 233 02a0 9D07 cpc r25,r29 |
||
233 | 234 02a2 04F4 brge .L11 |
||
234 | 235 02a4 8091 0000 lds r24,gpsmax |
||
235 | 236 02a8 9091 0000 lds r25,(gpsmax)+1 |
||
236 | 237 02ac 00C0 rjmp .L21 |
||
237 | 238 .L11: |
||
238 | 239 02ae 8091 0000 lds r24,gpsmax |
||
239 | 240 02b2 9091 0000 lds r25,(gpsmax)+1 |
||
240 | 241 02b6 9095 com r25 |
||
241 | 242 02b8 8195 neg r24 |
||
242 | 243 02ba 9F4F sbci r25,lo8(-1) |
||
243 | 244 02bc C817 cp r28,r24 |
||
244 | 245 02be D907 cpc r29,r25 |
||
245 | 246 02c0 04F4 brge .L13 |
||
246 | 247 02c2 8091 0000 lds r24,gpsmax |
||
247 | 248 02c6 9091 0000 lds r25,(gpsmax)+1 |
||
248 | 249 02ca 9095 com r25 |
||
249 | 250 02cc 8195 neg r24 |
||
250 | 251 02ce 9F4F sbci r25,lo8(-1) |
||
251 | 252 .L21: |
||
252 | 253 02d0 9093 0000 sts (GPS_Nick)+1,r25 |
||
253 | 254 02d4 8093 0000 sts GPS_Nick,r24 |
||
254 | 255 .L13: |
||
255 | 256 02d8 8091 0000 lds r24,gpsmax |
||
256 | 257 02dc 9091 0000 lds r25,(gpsmax)+1 |
||
257 | 258 02e0 8617 cp r24,r22 |
||
258 | 259 02e2 9707 cpc r25,r23 |
||
259 | 260 02e4 04F4 brge .L15 |
||
260 | 261 02e6 8091 0000 lds r24,gpsmax |
||
261 | 262 02ea 9091 0000 lds r25,(gpsmax)+1 |
||
262 | 263 02ee 00C0 rjmp .L22 |
||
263 | 264 .L15: |
||
264 | 265 02f0 8091 0000 lds r24,gpsmax |
||
265 | 266 02f4 9091 0000 lds r25,(gpsmax)+1 |
||
266 | 267 02f8 9095 com r25 |
||
267 | 268 02fa 8195 neg r24 |
||
268 | 269 02fc 9F4F sbci r25,lo8(-1) |
||
269 | 270 02fe 6817 cp r22,r24 |
||
270 | 271 0300 7907 cpc r23,r25 |
||
271 | 272 0302 04F4 brge .L17 |
||
272 | 273 0304 8091 0000 lds r24,gpsmax |
||
273 | 274 0308 9091 0000 lds r25,(gpsmax)+1 |
||
274 | 275 030c 9095 com r25 |
||
275 | 276 030e 8195 neg r24 |
||
276 | 277 0310 9F4F sbci r25,lo8(-1) |
||
277 | 278 .L22: |
||
278 | 279 0312 9093 0000 sts (GPS_Roll)+1,r25 |
||
279 | 280 0316 8093 0000 sts GPS_Roll,r24 |
||
280 | 281 .L17: |
||
281 | 282 031a 1092 0000 sts (alpha)+1,__zero_reg__ |
||
282 | 283 031e 1092 0000 sts alpha,__zero_reg__ |
||
283 | 284 0322 E090 0000 lds r14,alpha |
||
284 | 285 0326 F090 0000 lds r15,(alpha)+1 |
||
285 | 286 032a 6091 0000 lds r22,GPS_Roll |
||
286 | 287 032e 7091 0000 lds r23,(GPS_Roll)+1 |
||
287 | 288 0332 8827 clr r24 |
||
288 | 289 0334 77FD sbrc r23,7 |
||
289 | 290 0336 8095 com r24 |
||
290 | 291 0338 982F mov r25,r24 |
||
291 | 292 033a 0E94 0000 call __floatsisf |
||
292 | 293 033e 1B01 movw r2,r22 |
||
293 | 294 0340 2C01 movw r4,r24 |
||
294 | 295 0342 A090 0000 lds r10,alpha |
||
295 | 296 0346 B090 0000 lds r11,(alpha)+1 |
||
296 | 297 034a 0027 clr r16 |
||
297 | 298 034c F7FC sbrc r15,7 |
||
298 | 299 034e 0095 com r16 |
||
299 | 300 0350 102F mov r17,r16 |
||
300 | 301 0352 C801 movw r24,r16 |
||
301 | 302 0354 B701 movw r22,r14 |
||
302 | 303 0356 0E94 0000 call __floatsisf |
||
303 | 304 035a 0E94 0000 call sin |
||
304 | 305 035e A201 movw r20,r4 |
||
305 | 306 0360 9101 movw r18,r2 |
||
306 | 307 0362 0E94 0000 call __mulsf3 |
||
307 | 308 0366 3B01 movw r6,r22 |
||
308 | 309 0368 4C01 movw r8,r24 |
||
309 | 310 036a CC24 clr r12 |
||
310 | 311 036c B7FC sbrc r11,7 |
||
311 | 312 036e C094 com r12 |
||
312 | 313 0370 DC2C mov r13,r12 |
||
313 | 314 0372 C601 movw r24,r12 |
||
314 | 315 0374 B501 movw r22,r10 |
||
315 | 316 0376 0E94 0000 call __floatsisf |
||
316 | 317 037a 0E94 0000 call cos |
||
317 | 318 037e 7B01 movw r14,r22 |
||
318 | 319 0380 8C01 movw r16,r24 |
||
319 | 320 0382 6091 0000 lds r22,GPS_Nick |
||
320 | 321 0386 7091 0000 lds r23,(GPS_Nick)+1 |
||
321 | 322 038a 8827 clr r24 |
||
322 | 323 038c 77FD sbrc r23,7 |
||
323 | 324 038e 8095 com r24 |
||
324 | 325 0390 982F mov r25,r24 |
||
325 | 326 0392 0E94 0000 call __floatsisf |
||
326 | 327 0396 9B01 movw r18,r22 |
||
327 | 328 0398 AC01 movw r20,r24 |
||
328 | 329 039a C801 movw r24,r16 |
||
329 | 330 039c B701 movw r22,r14 |
||
330 | 331 039e 0E94 0000 call __mulsf3 |
||
331 | 332 03a2 9B01 movw r18,r22 |
||
332 | 333 03a4 AC01 movw r20,r24 |
||
333 | 334 03a6 C401 movw r24,r8 |
||
334 | 335 03a8 B301 movw r22,r6 |
||
335 | 336 03aa 0E94 0000 call __addsf3 |
||
336 | 337 03ae 0E94 0000 call __fixsfsi |
||
337 | 338 03b2 7B01 movw r14,r22 |
||
338 | 339 03b4 7093 0000 sts (GPS_Nick)+1,r23 |
||
339 | 340 03b8 6093 0000 sts GPS_Nick,r22 |
||
340 | 341 03bc 6091 0000 lds r22,alpha |
||
341 | 342 03c0 7091 0000 lds r23,(alpha)+1 |
||
342 | 343 03c4 A090 0000 lds r10,alpha |
||
343 | 344 03c8 B090 0000 lds r11,(alpha)+1 |
||
344 | 345 03cc 8827 clr r24 |
||
345 | 346 03ce 77FD sbrc r23,7 |
||
346 | 347 03d0 8095 com r24 |
||
347 | 348 03d2 982F mov r25,r24 |
||
348 | 349 03d4 0E94 0000 call __floatsisf |
||
349 | 350 03d8 0E94 0000 call cos |
||
350 | 351 03dc 3B01 movw r6,r22 |
||
351 | 352 03de 4C01 movw r8,r24 |
||
352 | 353 03e0 0027 clr r16 |
||
353 | 354 03e2 F7FC sbrc r15,7 |
||
354 | 355 03e4 0095 com r16 |
||
355 | 356 03e6 102F mov r17,r16 |
||
356 | 357 03e8 C801 movw r24,r16 |
||
357 | 358 03ea B701 movw r22,r14 |
||
358 | 359 03ec 0E94 0000 call __floatsisf |
||
359 | 360 03f0 9B01 movw r18,r22 |
||
360 | 361 03f2 AC01 movw r20,r24 |
||
361 | 362 03f4 C401 movw r24,r8 |
||
362 | 363 03f6 B301 movw r22,r6 |
||
363 | 364 03f8 0E94 0000 call __mulsf3 |
||
364 | 365 03fc 7B01 movw r14,r22 |
||
365 | 366 03fe 8C01 movw r16,r24 |
||
366 | 367 0400 CC24 clr r12 |
||
367 | 368 0402 B7FC sbrc r11,7 |
||
368 | 369 0404 C094 com r12 |
||
369 | 370 0406 DC2C mov r13,r12 |
||
370 | 371 0408 C601 movw r24,r12 |
||
371 | 372 040a B501 movw r22,r10 |
||
372 | 373 040c 0E94 0000 call __floatsisf |
||
373 | 374 0410 0E94 0000 call sin |
||
374 | 375 0414 A201 movw r20,r4 |
||
375 | 376 0416 9101 movw r18,r2 |
||
376 | 377 0418 0E94 0000 call __mulsf3 |
||
377 | 378 041c 9B01 movw r18,r22 |
||
378 | 379 041e AC01 movw r20,r24 |
||
379 | 380 0420 C801 movw r24,r16 |
||
380 | 381 0422 B701 movw r22,r14 |
||
381 | 382 0424 0E94 0000 call __subsf3 |
||
382 | 383 0428 0E94 0000 call __fixsfsi |
||
383 | 384 042c 7093 0000 sts (GPS_Roll)+1,r23 |
||
384 | 385 0430 6093 0000 sts GPS_Roll,r22 |
||
385 | 386 0434 00C0 rjmp .L20 |
||
386 | 387 .L6: |
||
387 | 388 0436 85E0 ldi r24,lo8(5) |
||
388 | 389 0438 90E0 ldi r25,hi8(5) |
||
389 | 390 043a 9093 0000 sts (gps_getpos)+1,r25 |
||
390 | 391 043e 8093 0000 sts gps_getpos,r24 |
||
391 | 392 0442 1092 0000 sts (GPS_Nick)+1,__zero_reg__ |
||
392 | 393 0446 1092 0000 sts GPS_Nick,__zero_reg__ |
||
393 | 394 044a 1092 0000 sts (GPS_Roll)+1,__zero_reg__ |
||
394 | 395 044e 1092 0000 sts GPS_Roll,__zero_reg__ |
||
395 | 396 0452 1092 0000 sts zwn1,__zero_reg__ |
||
396 | 397 0456 1092 0000 sts (zwn1)+1,__zero_reg__ |
||
397 | 398 045a 1092 0000 sts (zwn1)+2,__zero_reg__ |
||
398 | 399 045e 1092 0000 sts (zwn1)+3,__zero_reg__ |
||
399 | 400 0462 1092 0000 sts zwe1,__zero_reg__ |
||
400 | 401 0466 1092 0000 sts (zwe1)+1,__zero_reg__ |
||
401 | 402 046a 1092 0000 sts (zwe1)+2,__zero_reg__ |
||
402 | 403 046e 1092 0000 sts (zwe1)+3,__zero_reg__ |
||
403 | 404 .L20: |
||
404 | 405 /* epilogue: frame size=0 */ |
||
405 | 406 0472 DF91 pop r29 |
||
406 | 407 0474 CF91 pop r28 |
||
407 | 408 0476 1F91 pop r17 |
||
408 | 409 0478 0F91 pop r16 |
||
409 | 410 047a FF90 pop r15 |
||
410 | 411 047c EF90 pop r14 |
||
411 | 412 047e DF90 pop r13 |
||
412 | 413 0480 CF90 pop r12 |
||
413 | 414 0482 BF90 pop r11 |
||
414 | 415 0484 AF90 pop r10 |
||
415 | 416 0486 9F90 pop r9 |
||
416 | 417 0488 8F90 pop r8 |
||
417 | 418 048a 7F90 pop r7 |
||
418 | 419 048c 6F90 pop r6 |
||
419 | 420 048e 5F90 pop r5 |
||
420 | 421 0490 4F90 pop r4 |
||
421 | 422 0492 3F90 pop r3 |
||
422 | 423 0494 2F90 pop r2 |
||
423 | 424 0496 0895 ret |
||
424 | 425 /* epilogue end (size=19) */ |
||
425 | 426 /* function gps_main size 588 (551) */ |
||
426 | 428 .global loop |
||
427 | 429 .global loop |
||
428 | 430 .section .bss |
||
429 | 433 loop: |
||
430 | 434 0000 0000 .skip 2,0 |
||
431 | 435 .global gps_northing |
||
432 | 436 .global gps_northing |
||
433 | 439 gps_northing: |
||
434 | 440 0002 0000 0000 .skip 4,0 |
||
435 | 441 .global gps_easting |
||
436 | 442 .global gps_easting |
||
437 | 445 gps_easting: |
||
438 | 446 0006 0000 0000 .skip 4,0 |
||
439 | 447 .global alpha |
||
440 | 448 .global alpha |
||
441 | 451 alpha: |
||
442 | 452 000a 0000 .skip 2,0 |
||
443 | 453 .global zwn |
||
444 | 454 .global zwn |
||
445 | 457 zwn: |
||
446 | 458 000c 0000 0000 .skip 4,0 |
||
447 | 459 .global zwe |
||
448 | 460 .global zwe |
||
449 | 463 zwe: |
||
450 | 464 0010 0000 0000 .skip 4,0 |
||
451 | 465 .global zwn1 |
||
452 | 466 .global zwn1 |
||
453 | 469 zwn1: |
||
454 | 470 0014 0000 0000 .skip 4,0 |
||
455 | 471 .global zwe1 |
||
456 | 472 .global zwe1 |
||
457 | 475 zwe1: |
||
458 | 476 0018 0000 0000 .skip 4,0 |
||
459 | 477 .global zwn2 |
||
460 | 478 .global zwn2 |
||
461 | 481 zwn2: |
||
462 | 482 001c 0000 0000 .skip 4,0 |
||
463 | 483 .global zwe2 |
||
464 | 484 .global zwe2 |
||
465 | 487 zwe2: |
||
466 | 488 0020 0000 0000 .skip 4,0 |
||
467 | 489 .global gps_getpos |
||
468 | 490 .data |
||
469 | 493 gps_getpos: |
||
470 | 494 0000 0500 .word 5 |
||
471 | 495 .global gps_gethome |
||
472 | 496 .global gps_gethome |
||
473 | 497 .section .bss |
||
474 | 500 gps_gethome: |
||
475 | 501 0024 0000 .skip 2,0 |
||
476 | 502 .global gps_home_n |
||
477 | 503 .global gps_home_n |
||
478 | 506 gps_home_n: |
||
479 | 507 0026 0000 0000 .skip 4,0 |
||
480 | 508 .global gps_home_e |
||
481 | 509 .global gps_home_e |
||
482 | 512 gps_home_e: |
||
483 | 513 002a 0000 0000 .skip 4,0 |
||
484 | 514 .global komp_dreh |
||
485 | 515 .global komp_dreh |
||
486 | 518 komp_dreh: |
||
487 | 519 002e 0000 .skip 2,0 |
||
488 | 520 .global gpsmax |
||
489 | 521 .data |
||
490 | 524 gpsmax: |
||
491 | 525 0002 1E00 .word 30 |
||
492 | 526 .global GPS_Nick |
||
493 | 527 .global GPS_Nick |
||
494 | 528 .section .bss |
||
495 | 531 GPS_Nick: |
||
496 | 532 0030 0000 .skip 2,0 |
||
497 | 533 .global GPS_Roll |
||
498 | 534 .global GPS_Roll |
||
499 | 537 GPS_Roll: |
||
500 | 538 0032 0000 .skip 2,0 |
||
501 | 539 .comm DiffNick,2,1 |
||
502 | 540 .comm DiffRoll,2,1 |
||
503 | 541 .comm SenderOkay,1,1 |
||
504 | 542 .comm CosinusNickWinkel,1,1 |
||
505 | 543 .comm CosinusRollWinkel,1,1 |
||
506 | 544 .comm durchschnitt_northing,4,1 |
||
507 | 545 .comm durchschnitt_easting,4,1 |
||
508 | 546 .comm gps_p,2,1 |
||
509 | 547 .comm gps_d,2,1 |
||
510 | 548 .comm skal,2,1 |
||
511 | 549 .comm RemoteTasten,1,1 |
||
512 | 550 .comm Timeout,1,1 |
||
513 | 551 .comm IntegralNick,4,1 |
||
514 | 552 .comm IntegralNick2,4,1 |
||
515 | 553 .comm IntegralRoll,4,1 |
||
516 | 554 .comm IntegralRoll2,4,1 |
||
517 | 555 .comm Mess_IntegralNick,4,1 |
||
518 | 556 .comm Mess_IntegralNick2,4,1 |
||
519 | 557 .comm Mess_IntegralRoll,4,1 |
||
520 | 558 .comm Mess_IntegralRoll2,4,1 |
||
521 | 559 .comm Integral_Gier,4,1 |
||
522 | 560 .comm Mess_Integral_Gier,4,1 |
||
523 | 561 .comm h,1,1 |
||
524 | 562 .comm m,1,1 |
||
525 | 563 .comm s,1,1 |
||
526 | 564 .comm Motor_Vorne,1,1 |
||
527 | 565 .comm Motor_Hinten,1,1 |
||
528 | 566 .comm Motor_Rechts,1,1 |
||
529 | 567 .comm Motor_Links,1,1 |
||
530 | 568 .comm Count,1,1 |
||
531 | 569 .comm MotorWert,5,1 |
||
532 | 570 .comm StickNick,2,1 |
||
533 | 571 .comm StickRoll,2,1 |
||
534 | 572 .comm StickGier,2,1 |
||
535 | 573 .comm MotorenEin,1,1 |
||
536 | 574 /* File "GPS.c": code 588 = 0x024c ( 551), prologues 18, epilogues 19 */ |
||
537 | DEFINED SYMBOLS |
||
538 | *ABS*:00000000 GPS.c |
||
539 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:3 *ABS*:0000003f __SREG__ |
||
540 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:4 *ABS*:0000003e __SP_H__ |
||
541 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:5 *ABS*:0000003d __SP_L__ |
||
542 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:6 *ABS*:00000000 __tmp_reg__ |
||
543 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:7 *ABS*:00000001 __zero_reg__ |
||
544 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:13 .text:00000000 gps_main |
||
545 | *COM*:00000001 MotorenEin |
||
546 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:500 .bss:00000024 gps_gethome |
||
547 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:506 .bss:00000026 gps_home_n |
||
548 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:512 .bss:0000002a gps_home_e |
||
549 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:493 .data:00000000 gps_getpos |
||
550 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:439 .bss:00000002 gps_northing |
||
551 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:445 .bss:00000006 gps_easting |
||
552 | *COM*:00000002 gps_p |
||
553 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:457 .bss:0000000c zwn |
||
554 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:463 .bss:00000010 zwe |
||
555 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:469 .bss:00000014 zwn1 |
||
556 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:475 .bss:00000018 zwe1 |
||
557 | *COM*:00000002 gps_d |
||
558 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:481 .bss:0000001c zwn2 |
||
559 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:487 .bss:00000020 zwe2 |
||
560 | *COM*:00000002 skal |
||
561 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:531 .bss:00000030 GPS_Nick |
||
562 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:537 .bss:00000032 GPS_Roll |
||
563 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:524 .data:00000002 gpsmax |
||
564 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:451 .bss:0000000a alpha |
||
565 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:433 .bss:00000000 loop |
||
566 | C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:518 .bss:0000002e komp_dreh |
||
567 | *COM*:00000002 DiffNick |
||
568 | *COM*:00000002 DiffRoll |
||
569 | *COM*:00000001 SenderOkay |
||
570 | *COM*:00000001 CosinusNickWinkel |
||
571 | *COM*:00000001 CosinusRollWinkel |
||
572 | *COM*:00000004 durchschnitt_northing |
||
573 | *COM*:00000004 durchschnitt_easting |
||
574 | *COM*:00000001 RemoteTasten |
||
575 | *COM*:00000001 Timeout |
||
576 | *COM*:00000004 IntegralNick |
||
577 | *COM*:00000004 IntegralNick2 |
||
578 | *COM*:00000004 IntegralRoll |
||
579 | *COM*:00000004 IntegralRoll2 |
||
580 | *COM*:00000004 Mess_IntegralNick |
||
581 | *COM*:00000004 Mess_IntegralNick2 |
||
582 | *COM*:00000004 Mess_IntegralRoll |
||
583 | *COM*:00000004 Mess_IntegralRoll2 |
||
584 | *COM*:00000004 Integral_Gier |
||
585 | *COM*:00000004 Mess_Integral_Gier |
||
586 | *COM*:00000001 h |
||
587 | *COM*:00000001 m |
||
588 | *COM*:00000001 s |
||
589 | *COM*:00000001 Motor_Vorne |
||
590 | *COM*:00000001 Motor_Hinten |
||
591 | *COM*:00000001 Motor_Rechts |
||
592 | *COM*:00000001 Motor_Links |
||
593 | *COM*:00000001 Count |
||
594 | *COM*:00000005 MotorWert |
||
595 | *COM*:00000002 StickNick |
||
596 | *COM*:00000002 StickRoll |
||
597 | *COM*:00000002 StickGier |
||
598 | |||
599 | UNDEFINED SYMBOLS |
||
600 | __do_copy_data |
||
601 | __do_clear_bss |
||
602 | actualPos |
||
603 | beeptime |
||
604 | Poti1 |
||
605 | __mulsi3 |
||
606 | __divmodsi4 |
||
607 | __floatsisf |
||
608 | sin |
||
609 | __mulsf3 |
||
610 | cos |
||
611 | __addsf3 |
||
612 | __fixsfsi |
||
613 | __subsf3 |