Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2248 | - | 1 | 1 .file "mymath.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 .global pgm_atanlookup |
||
11 | 11 .section .progmem.data,"a",@progbits |
||
12 | 14 pgm_atanlookup: |
||
13 | 15 0000 00 .byte 0 |
||
14 | 16 0001 01 .byte 1 |
||
15 | 17 0002 02 .byte 2 |
||
16 | 18 0003 03 .byte 3 |
||
17 | 19 0004 04 .byte 4 |
||
18 | 20 0005 04 .byte 4 |
||
19 | 21 0006 05 .byte 5 |
||
20 | 22 0007 06 .byte 6 |
||
21 | 23 0008 07 .byte 7 |
||
22 | 24 0009 08 .byte 8 |
||
23 | 25 000a 09 .byte 9 |
||
24 | 26 000b 0A .byte 10 |
||
25 | 27 000c 0B .byte 11 |
||
26 | 28 000d 0B .byte 11 |
||
27 | 29 000e 0C .byte 12 |
||
28 | 30 000f 0D .byte 13 |
||
29 | 31 0010 0E .byte 14 |
||
30 | 32 0011 0F .byte 15 |
||
31 | 33 0012 10 .byte 16 |
||
32 | 34 0013 11 .byte 17 |
||
33 | 35 0014 11 .byte 17 |
||
34 | 36 0015 12 .byte 18 |
||
35 | 37 0016 13 .byte 19 |
||
36 | 38 0017 14 .byte 20 |
||
37 | 39 0018 15 .byte 21 |
||
38 | 40 0019 15 .byte 21 |
||
39 | 41 001a 16 .byte 22 |
||
40 | 42 001b 17 .byte 23 |
||
41 | 43 001c 18 .byte 24 |
||
42 | 44 001d 18 .byte 24 |
||
43 | 45 001e 19 .byte 25 |
||
44 | 46 001f 1A .byte 26 |
||
45 | 47 0020 1B .byte 27 |
||
46 | 48 0021 1B .byte 27 |
||
47 | 49 0022 1C .byte 28 |
||
48 | 50 0023 1D .byte 29 |
||
49 | 51 0024 1D .byte 29 |
||
50 | 52 0025 1E .byte 30 |
||
51 | 53 0026 1F .byte 31 |
||
52 | 54 0027 1F .byte 31 |
||
53 | 55 0028 20 .byte 32 |
||
54 | 56 0029 21 .byte 33 |
||
55 | 57 002a 21 .byte 33 |
||
56 | 58 002b 22 .byte 34 |
||
57 | 59 002c 23 .byte 35 |
||
58 | 60 002d 23 .byte 35 |
||
59 | 61 002e 24 .byte 36 |
||
60 | 62 002f 24 .byte 36 |
||
61 | 63 0030 25 .byte 37 |
||
62 | 64 0031 25 .byte 37 |
||
63 | 65 0032 26 .byte 38 |
||
64 | 66 0033 27 .byte 39 |
||
65 | 67 0034 27 .byte 39 |
||
66 | 68 0035 28 .byte 40 |
||
67 | 69 0036 28 .byte 40 |
||
68 | 70 0037 29 .byte 41 |
||
69 | 71 0038 29 .byte 41 |
||
70 | 72 0039 2A .byte 42 |
||
71 | 73 003a 2A .byte 42 |
||
72 | 74 003b 2B .byte 43 |
||
73 | 75 003c 2B .byte 43 |
||
74 | 76 003d 2C .byte 44 |
||
75 | 77 003e 2C .byte 44 |
||
76 | 78 003f 2D .byte 45 |
||
77 | 79 0040 2D .byte 45 |
||
78 | 80 0041 2D .byte 45 |
||
79 | 81 0042 2E .byte 46 |
||
80 | 82 0043 2E .byte 46 |
||
81 | 83 0044 2F .byte 47 |
||
82 | 84 0045 2F .byte 47 |
||
83 | 85 0046 30 .byte 48 |
||
84 | 86 0047 30 .byte 48 |
||
85 | 87 0048 30 .byte 48 |
||
86 | 88 0049 31 .byte 49 |
||
87 | 89 004a 31 .byte 49 |
||
88 | 90 004b 32 .byte 50 |
||
89 | 91 004c 32 .byte 50 |
||
90 | 92 004d 32 .byte 50 |
||
91 | 93 004e 33 .byte 51 |
||
92 | 94 004f 33 .byte 51 |
||
93 | 95 0050 33 .byte 51 |
||
94 | 96 0051 34 .byte 52 |
||
95 | 97 0052 34 .byte 52 |
||
96 | 98 0053 34 .byte 52 |
||
97 | 99 0054 35 .byte 53 |
||
98 | 100 0055 35 .byte 53 |
||
99 | 101 0056 35 .byte 53 |
||
100 | 102 0057 36 .byte 54 |
||
101 | 103 0058 36 .byte 54 |
||
102 | 104 0059 36 .byte 54 |
||
103 | 105 005a 37 .byte 55 |
||
104 | 106 005b 37 .byte 55 |
||
105 | 107 005c 37 .byte 55 |
||
106 | 108 005d 37 .byte 55 |
||
107 | 109 005e 38 .byte 56 |
||
108 | 110 005f 38 .byte 56 |
||
109 | 111 0060 38 .byte 56 |
||
110 | 112 0061 39 .byte 57 |
||
111 | 113 0062 39 .byte 57 |
||
112 | 114 0063 39 .byte 57 |
||
113 | 115 0064 39 .byte 57 |
||
114 | 116 0065 3A .byte 58 |
||
115 | 117 0066 3A .byte 58 |
||
116 | 118 0067 3A .byte 58 |
||
117 | 119 0068 3A .byte 58 |
||
118 | 120 0069 3B .byte 59 |
||
119 | 121 006a 3B .byte 59 |
||
120 | 122 006b 3B .byte 59 |
||
121 | 123 006c 3B .byte 59 |
||
122 | 124 006d 3C .byte 60 |
||
123 | 125 006e 3C .byte 60 |
||
124 | 126 006f 3C .byte 60 |
||
125 | 127 0070 3C .byte 60 |
||
126 | 128 0071 3C .byte 60 |
||
127 | 129 0072 3D .byte 61 |
||
128 | 130 0073 3D .byte 61 |
||
129 | 131 0074 3D .byte 61 |
||
130 | 132 0075 3D .byte 61 |
||
131 | 133 0076 3E .byte 62 |
||
132 | 134 0077 3E .byte 62 |
||
133 | 135 0078 3E .byte 62 |
||
134 | 136 0079 3E .byte 62 |
||
135 | 137 007a 3E .byte 62 |
||
136 | 138 007b 3F .byte 63 |
||
137 | 139 007c 3F .byte 63 |
||
138 | 140 007d 3F .byte 63 |
||
139 | 141 007e 3F .byte 63 |
||
140 | 142 007f 3F .byte 63 |
||
141 | 143 0080 3F .byte 63 |
||
142 | 144 0081 40 .byte 64 |
||
143 | 145 0082 40 .byte 64 |
||
144 | 146 0083 40 .byte 64 |
||
145 | 147 0084 40 .byte 64 |
||
146 | 148 0085 40 .byte 64 |
||
147 | 149 0086 40 .byte 64 |
||
148 | 150 0087 41 .byte 65 |
||
149 | 151 0088 41 .byte 65 |
||
150 | 152 0089 41 .byte 65 |
||
151 | 153 008a 41 .byte 65 |
||
152 | 154 008b 41 .byte 65 |
||
153 | 155 008c 41 .byte 65 |
||
154 | 156 008d 42 .byte 66 |
||
155 | 157 008e 42 .byte 66 |
||
156 | 158 008f 42 .byte 66 |
||
157 | 159 0090 42 .byte 66 |
||
158 | 160 0091 42 .byte 66 |
||
159 | 161 0092 42 .byte 66 |
||
160 | 162 0093 42 .byte 66 |
||
161 | 163 0094 43 .byte 67 |
||
162 | 164 0095 43 .byte 67 |
||
163 | 165 0096 43 .byte 67 |
||
164 | 166 0097 43 .byte 67 |
||
165 | 167 0098 43 .byte 67 |
||
166 | 168 0099 43 .byte 67 |
||
167 | 169 009a 43 .byte 67 |
||
168 | 170 009b 44 .byte 68 |
||
169 | 171 009c 44 .byte 68 |
||
170 | 172 009d 44 .byte 68 |
||
171 | 173 009e 44 .byte 68 |
||
172 | 174 009f 44 .byte 68 |
||
173 | 175 00a0 44 .byte 68 |
||
174 | 176 00a1 44 .byte 68 |
||
175 | 177 00a2 44 .byte 68 |
||
176 | 178 00a3 45 .byte 69 |
||
177 | 179 00a4 45 .byte 69 |
||
178 | 180 00a5 45 .byte 69 |
||
179 | 181 00a6 45 .byte 69 |
||
180 | 182 00a7 45 .byte 69 |
||
181 | 183 00a8 45 .byte 69 |
||
182 | 184 00a9 45 .byte 69 |
||
183 | 185 00aa 45 .byte 69 |
||
184 | 186 00ab 45 .byte 69 |
||
185 | 187 00ac 46 .byte 70 |
||
186 | 188 00ad 46 .byte 70 |
||
187 | 189 00ae 46 .byte 70 |
||
188 | 190 00af 46 .byte 70 |
||
189 | 191 00b0 46 .byte 70 |
||
190 | 192 00b1 46 .byte 70 |
||
191 | 193 00b2 46 .byte 70 |
||
192 | 194 00b3 46 .byte 70 |
||
193 | 195 00b4 46 .byte 70 |
||
194 | 196 00b5 47 .byte 71 |
||
195 | 197 00b6 47 .byte 71 |
||
196 | 198 00b7 47 .byte 71 |
||
197 | 199 00b8 47 .byte 71 |
||
198 | 200 00b9 47 .byte 71 |
||
199 | 201 00ba 47 .byte 71 |
||
200 | 202 00bb 47 .byte 71 |
||
201 | 203 00bc 47 .byte 71 |
||
202 | 204 00bd 47 .byte 71 |
||
203 | 205 00be 47 .byte 71 |
||
204 | 206 00bf 47 .byte 71 |
||
205 | 207 00c0 48 .byte 72 |
||
206 | 208 00c1 48 .byte 72 |
||
207 | 209 00c2 48 .byte 72 |
||
208 | 210 00c3 48 .byte 72 |
||
209 | 211 00c4 48 .byte 72 |
||
210 | 212 00c5 48 .byte 72 |
||
211 | 213 00c6 48 .byte 72 |
||
212 | 214 00c7 48 .byte 72 |
||
213 | 215 00c8 48 .byte 72 |
||
214 | 216 00c9 48 .byte 72 |
||
215 | 217 00ca 48 .byte 72 |
||
216 | 218 00cb 49 .byte 73 |
||
217 | 219 00cc 49 .byte 73 |
||
218 | 220 00cd 49 .byte 73 |
||
219 | 221 00ce 49 .byte 73 |
||
220 | 222 00cf 49 .byte 73 |
||
221 | 223 00d0 49 .byte 73 |
||
222 | 224 00d1 49 .byte 73 |
||
223 | 225 00d2 49 .byte 73 |
||
224 | 226 00d3 49 .byte 73 |
||
225 | 227 00d4 49 .byte 73 |
||
226 | 228 00d5 49 .byte 73 |
||
227 | 229 00d6 49 .byte 73 |
||
228 | 230 00d7 49 .byte 73 |
||
229 | 231 00d8 49 .byte 73 |
||
230 | 232 00d9 4A .byte 74 |
||
231 | 233 00da 4A .byte 74 |
||
232 | 234 00db 4A .byte 74 |
||
233 | 235 00dc 4A .byte 74 |
||
234 | 236 00dd 4A .byte 74 |
||
235 | 237 00de 4A .byte 74 |
||
236 | 238 00df 4A .byte 74 |
||
237 | 239 00e0 4A .byte 74 |
||
238 | 240 00e1 4A .byte 74 |
||
239 | 241 00e2 4A .byte 74 |
||
240 | 242 00e3 4A .byte 74 |
||
241 | 243 00e4 4A .byte 74 |
||
242 | 244 00e5 4A .byte 74 |
||
243 | 245 00e6 4A .byte 74 |
||
244 | 246 00e7 4B .byte 75 |
||
245 | 247 00e8 4B .byte 75 |
||
246 | 248 00e9 4B .byte 75 |
||
247 | 249 00ea 4B .byte 75 |
||
248 | 250 00eb 4B .byte 75 |
||
249 | 251 00ec 4B .byte 75 |
||
250 | 252 00ed 4B .byte 75 |
||
251 | 253 00ee 4B .byte 75 |
||
252 | 254 00ef 4B .byte 75 |
||
253 | 255 00f0 4B .byte 75 |
||
254 | 256 00f1 4B .byte 75 |
||
255 | 257 00f2 4B .byte 75 |
||
256 | 258 00f3 4B .byte 75 |
||
257 | 259 00f4 4B .byte 75 |
||
258 | 260 00f5 4B .byte 75 |
||
259 | 261 00f6 4B .byte 75 |
||
260 | 262 00f7 4B .byte 75 |
||
261 | 263 00f8 4C .byte 76 |
||
262 | 264 00f9 4C .byte 76 |
||
263 | 265 00fa 4C .byte 76 |
||
264 | 266 00fb 4C .byte 76 |
||
265 | 267 00fc 4C .byte 76 |
||
266 | 268 00fd 4C .byte 76 |
||
267 | 269 00fe 4C .byte 76 |
||
268 | 270 00ff 4C .byte 76 |
||
269 | 271 0100 4C .byte 76 |
||
270 | 272 0101 4C .byte 76 |
||
271 | 273 0102 4C .byte 76 |
||
272 | 274 0103 4C .byte 76 |
||
273 | 275 0104 4C .byte 76 |
||
274 | 276 0105 4C .byte 76 |
||
275 | 277 0106 4C .byte 76 |
||
276 | 278 0107 4C .byte 76 |
||
277 | 279 0108 4C .byte 76 |
||
278 | 280 0109 4C .byte 76 |
||
279 | 281 010a 4C .byte 76 |
||
280 | 282 010b 4D .byte 77 |
||
281 | 283 010c 4D .byte 77 |
||
282 | 284 010d 4D .byte 77 |
||
283 | 285 010e 4D .byte 77 |
||
284 | 286 010f 4D .byte 77 |
||
285 | 287 0110 4D .byte 77 |
||
286 | 288 0111 4D .byte 77 |
||
287 | 289 0112 4D .byte 77 |
||
288 | 290 0113 4D .byte 77 |
||
289 | 291 0114 4D .byte 77 |
||
290 | 292 0115 4D .byte 77 |
||
291 | 293 0116 4D .byte 77 |
||
292 | 294 0117 4D .byte 77 |
||
293 | 295 0118 4D .byte 77 |
||
294 | 296 0119 4D .byte 77 |
||
295 | 297 011a 4D .byte 77 |
||
296 | 298 011b 4D .byte 77 |
||
297 | 299 011c 4D .byte 77 |
||
298 | 300 011d 4D .byte 77 |
||
299 | 301 011e 4D .byte 77 |
||
300 | 302 011f 4D .byte 77 |
||
301 | 303 0120 4D .byte 77 |
||
302 | 304 0121 4E .byte 78 |
||
303 | 305 0122 4E .byte 78 |
||
304 | 306 0123 4E .byte 78 |
||
305 | 307 0124 4E .byte 78 |
||
306 | 308 0125 4E .byte 78 |
||
307 | 309 0126 4E .byte 78 |
||
308 | 310 0127 4E .byte 78 |
||
309 | 311 0128 4E .byte 78 |
||
310 | 312 0129 4E .byte 78 |
||
311 | 313 012a 4E .byte 78 |
||
312 | 314 012b 4E .byte 78 |
||
313 | 315 012c 4E .byte 78 |
||
314 | 316 012d 4E .byte 78 |
||
315 | 317 012e 4E .byte 78 |
||
316 | 318 012f 4E .byte 78 |
||
317 | 319 0130 4E .byte 78 |
||
318 | 320 0131 4E .byte 78 |
||
319 | 321 0132 4E .byte 78 |
||
320 | 322 0133 4E .byte 78 |
||
321 | 323 0134 4E .byte 78 |
||
322 | 324 0135 4E .byte 78 |
||
323 | 325 0136 4E .byte 78 |
||
324 | 326 0137 4E .byte 78 |
||
325 | 327 0138 4E .byte 78 |
||
326 | 328 0139 4E .byte 78 |
||
327 | 329 013a 4E .byte 78 |
||
328 | 330 013b 4F .byte 79 |
||
329 | 331 013c 4F .byte 79 |
||
330 | 332 013d 4F .byte 79 |
||
331 | 333 013e 4F .byte 79 |
||
332 | 334 013f 4F .byte 79 |
||
333 | 335 0140 4F .byte 79 |
||
334 | 336 0141 4F .byte 79 |
||
335 | 337 0142 4F .byte 79 |
||
336 | 338 0143 4F .byte 79 |
||
337 | 339 0144 4F .byte 79 |
||
338 | 340 0145 4F .byte 79 |
||
339 | 341 0146 4F .byte 79 |
||
340 | 342 0147 4F .byte 79 |
||
341 | 343 0148 4F .byte 79 |
||
342 | 344 0149 4F .byte 79 |
||
343 | 345 014a 4F .byte 79 |
||
344 | 346 014b 4F .byte 79 |
||
345 | 347 014c 4F .byte 79 |
||
346 | 348 014d 4F .byte 79 |
||
347 | 349 014e 4F .byte 79 |
||
348 | 350 014f 4F .byte 79 |
||
349 | 351 0150 4F .byte 79 |
||
350 | 352 0151 4F .byte 79 |
||
351 | 353 0152 4F .byte 79 |
||
352 | 354 0153 4F .byte 79 |
||
353 | 355 0154 4F .byte 79 |
||
354 | 356 0155 4F .byte 79 |
||
355 | 357 0156 4F .byte 79 |
||
356 | 358 0157 4F .byte 79 |
||
357 | 359 0158 4F .byte 79 |
||
358 | 360 0159 4F .byte 79 |
||
359 | 361 .global pgm_sinlookup |
||
360 | 364 pgm_sinlookup: |
||
361 | 365 015a 0000 .word 0 |
||
362 | 366 015c 8F00 .word 143 |
||
363 | 367 015e 1E01 .word 286 |
||
364 | 368 0160 AD01 .word 429 |
||
365 | 369 0162 3B02 .word 571 |
||
366 | 370 0164 CA02 .word 714 |
||
367 | 371 0166 5803 .word 856 |
||
368 | 372 0168 E603 .word 998 |
||
369 | 373 016a 7404 .word 1140 |
||
370 | 374 016c 0205 .word 1282 |
||
371 | 375 016e 8F05 .word 1423 |
||
372 | 376 0170 1B06 .word 1563 |
||
373 | 377 0172 A706 .word 1703 |
||
374 | 378 0174 3307 .word 1843 |
||
375 | 379 0176 BE07 .word 1982 |
||
376 | 380 0178 4808 .word 2120 |
||
377 | 381 017a D208 .word 2258 |
||
378 | 382 017c 5B09 .word 2395 |
||
379 | 383 017e E309 .word 2531 |
||
380 | 384 0180 6B0A .word 2667 |
||
381 | 385 0182 F20A .word 2802 |
||
382 | 386 0184 780B .word 2936 |
||
383 | 387 0186 FD0B .word 3069 |
||
384 | 388 0188 810C .word 3201 |
||
385 | 389 018a 040D .word 3332 |
||
386 | 390 018c 860D .word 3462 |
||
387 | 391 018e 070E .word 3591 |
||
388 | 392 0190 870E .word 3719 |
||
389 | 393 0192 060F .word 3846 |
||
390 | 394 0194 840F .word 3972 |
||
391 | 395 0196 0010 .word 4096 |
||
392 | 396 0198 7B10 .word 4219 |
||
393 | 397 019a F510 .word 4341 |
||
394 | 398 019c 6E11 .word 4462 |
||
395 | 399 019e E511 .word 4581 |
||
396 | 400 01a0 5B12 .word 4699 |
||
397 | 401 01a2 CF12 .word 4815 |
||
398 | 402 01a4 4213 .word 4930 |
||
399 | 403 01a6 B313 .word 5043 |
||
400 | 404 01a8 2314 .word 5155 |
||
401 | 405 01aa 9214 .word 5266 |
||
402 | 406 01ac FE14 .word 5374 |
||
403 | 407 01ae 6A15 .word 5482 |
||
404 | 408 01b0 D315 .word 5587 |
||
405 | 409 01b2 3B16 .word 5691 |
||
406 | 410 01b4 A116 .word 5793 |
||
407 | 411 01b6 0517 .word 5893 |
||
408 | 412 01b8 6717 .word 5991 |
||
409 | 413 01ba C817 .word 6088 |
||
410 | 414 01bc 2718 .word 6183 |
||
411 | 415 01be 8318 .word 6275 |
||
412 | 416 01c0 DE18 .word 6366 |
||
413 | 417 01c2 3719 .word 6455 |
||
414 | 418 01c4 8E19 .word 6542 |
||
415 | 419 01c6 E319 .word 6627 |
||
416 | 420 01c8 361A .word 6710 |
||
417 | 421 01ca 871A .word 6791 |
||
418 | 422 01cc D61A .word 6870 |
||
419 | 423 01ce 231B .word 6947 |
||
420 | 424 01d0 6E1B .word 7022 |
||
421 | 425 01d2 B61B .word 7094 |
||
422 | 426 01d4 FD1B .word 7165 |
||
423 | 427 01d6 411C .word 7233 |
||
424 | 428 01d8 831C .word 7299 |
||
425 | 429 01da C31C .word 7363 |
||
426 | 430 01dc 001D .word 7424 |
||
427 | 431 01de 3C1D .word 7484 |
||
428 | 432 01e0 751D .word 7541 |
||
429 | 433 01e2 AB1D .word 7595 |
||
430 | 434 01e4 E01D .word 7648 |
||
431 | 435 01e6 121E .word 7698 |
||
432 | 436 01e8 421E .word 7746 |
||
433 | 437 01ea 6F1E .word 7791 |
||
434 | 438 01ec 9A1E .word 7834 |
||
435 | 439 01ee C31E .word 7875 |
||
436 | 440 01f0 E91E .word 7913 |
||
437 | 441 01f2 0D1F .word 7949 |
||
438 | 442 01f4 2E1F .word 7982 |
||
439 | 443 01f6 4D1F .word 8013 |
||
440 | 444 01f8 691F .word 8041 |
||
441 | 445 01fa 841F .word 8068 |
||
442 | 446 01fc 9B1F .word 8091 |
||
443 | 447 01fe B01F .word 8112 |
||
444 | 448 0200 C31F .word 8131 |
||
445 | 449 0202 D31F .word 8147 |
||
446 | 450 0204 E11F .word 8161 |
||
447 | 451 0206 EC1F .word 8172 |
||
448 | 452 0208 F51F .word 8181 |
||
449 | 453 020a FB1F .word 8187 |
||
450 | 454 020c FF1F .word 8191 |
||
451 | 455 020e 0020 .word 8192 |
||
452 | 456 .text |
||
453 | 457 .global c_sin_8192 |
||
454 | 459 c_sin_8192: |
||
455 | 460 /* prologue: frame size=0 */ |
||
456 | 461 0000 CF93 push r28 |
||
457 | 462 /* prologue end (size=1) */ |
||
458 | 463 0002 FC01 movw r30,r24 |
||
459 | 464 0004 97FD sbrc r25,7 |
||
460 | 465 0006 00C0 rjmp .L14 |
||
461 | 466 0008 C1E0 ldi r28,lo8(1) |
||
462 | 467 .L4: |
||
463 | 468 000a 28E6 ldi r18,lo8(360) |
||
464 | 469 000c 31E0 ldi r19,hi8(360) |
||
465 | 470 000e CF01 movw r24,r30 |
||
466 | 471 0010 B901 movw r22,r18 |
||
467 | 472 0012 0E94 0000 call __divmodhi4 |
||
468 | 473 0016 FC01 movw r30,r24 |
||
469 | 474 0018 8B35 cpi r24,91 |
||
470 | 475 001a 9105 cpc r25,__zero_reg__ |
||
471 | 476 001c 04F0 brlt .L12 |
||
472 | 477 001e 8B55 subi r24,lo8(-(-91)) |
||
473 | 478 0020 9040 sbci r25,hi8(-(-91)) |
||
474 | 479 0022 8A35 cpi r24,90 |
||
475 | 480 0024 9105 cpc r25,__zero_reg__ |
||
476 | 481 0026 00F4 brsh .L7 |
||
477 | 482 0028 84EB ldi r24,lo8(180) |
||
478 | 483 002a 90E0 ldi r25,hi8(180) |
||
479 | 484 002c 8E1B sub r24,r30 |
||
480 | 485 002e 9F0B sbc r25,r31 |
||
481 | 486 0030 FC01 movw r30,r24 |
||
482 | 487 .L12: |
||
483 | 488 0032 41E0 ldi r20,lo8(1) |
||
484 | 489 0034 00C0 rjmp .L6 |
||
485 | 490 .L7: |
||
486 | 491 0036 CF01 movw r24,r30 |
||
487 | 492 0038 855B subi r24,lo8(-(-181)) |
||
488 | 493 003a 9040 sbci r25,hi8(-(-181)) |
||
489 | 494 003c 8A35 cpi r24,90 |
||
490 | 495 003e 9105 cpc r25,__zero_reg__ |
||
491 | 496 0040 00F4 brsh .L9 |
||
492 | 497 0042 E45B subi r30,lo8(-(-180)) |
||
493 | 498 0044 F040 sbci r31,hi8(-(-180)) |
||
494 | 499 0046 4FEF ldi r20,lo8(-1) |
||
495 | 500 0048 00C0 rjmp .L6 |
||
496 | 501 .L14: |
||
497 | 502 004a CFEF ldi r28,lo8(-1) |
||
498 | 503 004c F095 com r31 |
||
499 | 504 004e E195 neg r30 |
||
500 | 505 0050 FF4F sbci r31,lo8(-1) |
||
501 | 506 0052 00C0 rjmp .L4 |
||
502 | 507 .L9: |
||
503 | 508 0054 2E1B sub r18,r30 |
||
504 | 509 0056 3F0B sbc r19,r31 |
||
505 | 510 0058 F901 movw r30,r18 |
||
506 | 511 005a 4FEF ldi r20,lo8(-1) |
||
507 | 512 .L6: |
||
508 | 513 005c EE0F add r30,r30 |
||
509 | 514 005e FF1F adc r31,r31 |
||
510 | 515 0060 E050 subi r30,lo8(-(pgm_sinlookup)) |
||
511 | 516 0062 F040 sbci r31,hi8(-(pgm_sinlookup)) |
||
512 | 517 /* #APP */ |
||
513 | 518 0064 2591 lpm r18, Z+ |
||
514 | 519 0066 3491 lpm r19, Z |
||
515 | 520 |
||
516 | 521 /* #NOAPP */ |
||
517 | 522 0068 8C2F mov r24,r28 |
||
518 | 523 006a 9927 clr r25 |
||
519 | 524 006c 87FD sbrc r24,7 |
||
520 | 525 006e 9095 com r25 |
||
521 | 526 0070 829F mul r24,r18 |
||
522 | 527 0072 B001 movw r22,r0 |
||
523 | 528 0074 839F mul r24,r19 |
||
524 | 529 0076 700D add r23,r0 |
||
525 | 530 0078 929F mul r25,r18 |
||
526 | 531 007a 700D add r23,r0 |
||
527 | 532 007c 1124 clr r1 |
||
528 | 533 007e 842F mov r24,r20 |
||
529 | 534 0080 9927 clr r25 |
||
530 | 535 0082 87FD sbrc r24,7 |
||
531 | 536 0084 9095 com r25 |
||
532 | 537 0086 689F mul r22,r24 |
||
533 | 538 0088 A001 movw r20,r0 |
||
534 | 539 008a 699F mul r22,r25 |
||
535 | 540 008c 500D add r21,r0 |
||
536 | 541 008e 789F mul r23,r24 |
||
537 | 542 0090 500D add r21,r0 |
||
538 | 543 0092 1124 clr r1 |
||
539 | 544 0094 CA01 movw r24,r20 |
||
540 | 545 /* epilogue: frame size=0 */ |
||
541 | 546 0096 CF91 pop r28 |
||
542 | 547 0098 0895 ret |
||
543 | 548 /* epilogue end (size=2) */ |
||
544 | 549 /* function c_sin_8192 size 81 (78) */ |
||
545 | 551 .global c_cos_8192 |
||
546 | 553 c_cos_8192: |
||
547 | 554 /* prologue: frame size=0 */ |
||
548 | 555 /* prologue end (size=0) */ |
||
549 | 556 009a 2AE5 ldi r18,lo8(90) |
||
550 | 557 009c 30E0 ldi r19,hi8(90) |
||
551 | 558 009e 281B sub r18,r24 |
||
552 | 559 00a0 390B sbc r19,r25 |
||
553 | 560 00a2 C901 movw r24,r18 |
||
554 | 561 00a4 0E94 0000 call c_sin_8192 |
||
555 | 562 /* epilogue: frame size=0 */ |
||
556 | 563 00a8 0895 ret |
||
557 | 564 /* epilogue end (size=1) */ |
||
558 | 565 /* function c_cos_8192 size 8 (7) */ |
||
559 | 567 .global c_atan2 |
||
560 | 569 c_atan2: |
||
561 | 570 /* prologue: frame size=0 */ |
||
562 | 571 00aa 1F93 push r17 |
||
563 | 572 00ac CF93 push r28 |
||
564 | 573 00ae DF93 push r29 |
||
565 | 574 /* prologue end (size=3) */ |
||
566 | 575 00b0 EB01 movw r28,r22 |
||
567 | 576 00b2 6115 cp r22,__zero_reg__ |
||
568 | 577 00b4 7105 cpc r23,__zero_reg__ |
||
569 | 578 00b6 01F4 brne .L17 |
||
570 | 579 00b8 0097 sbiw r24,0 |
||
571 | 580 00ba 01F4 brne .+2 |
||
572 | 581 00bc 00C0 rjmp .L16 |
||
573 | 582 .L17: |
||
574 | 583 00be 97FD sbrc r25,7 |
||
575 | 584 00c0 00C0 rjmp .L48 |
||
576 | 585 00c2 11E0 ldi r17,lo8(1) |
||
577 | 586 .L19: |
||
578 | 587 00c4 2097 sbiw r28,0 |
||
579 | 588 00c6 01F4 brne .L20 |
||
580 | 589 00c8 8AE5 ldi r24,lo8(90) |
||
581 | 590 00ca 1802 muls r17,r24 |
||
582 | 591 00cc B001 movw r22,r0 |
||
583 | 592 00ce 1124 clr r1 |
||
584 | 593 00d0 00C0 rjmp .L16 |
||
585 | 594 .L20: |
||
586 | 595 00d2 AA27 clr r26 |
||
587 | 596 00d4 97FD sbrc r25,7 |
||
588 | 597 00d6 A095 com r26 |
||
589 | 598 00d8 BA2F mov r27,r26 |
||
590 | 599 00da 26E0 ldi r18,6 |
||
591 | 600 00dc 880F 1: lsl r24 |
||
592 | 601 00de 991F rol r25 |
||
593 | 602 00e0 AA1F rol r26 |
||
594 | 603 00e2 BB1F rol r27 |
||
595 | 604 00e4 2A95 dec r18 |
||
596 | 605 00e6 01F4 brne 1b |
||
597 | 606 00e8 9E01 movw r18,r28 |
||
598 | 607 00ea 4427 clr r20 |
||
599 | 608 00ec 37FD sbrc r19,7 |
||
600 | 609 00ee 4095 com r20 |
||
601 | 610 00f0 542F mov r21,r20 |
||
602 | 611 00f2 BC01 movw r22,r24 |
||
603 | 612 00f4 CD01 movw r24,r26 |
||
604 | 613 00f6 0E94 0000 call __divmodsi4 |
||
605 | 614 00fa F901 movw r30,r18 |
||
606 | 615 00fc 37FD sbrc r19,7 |
||
607 | 616 00fe 00C0 rjmp .L49 |
||
608 | 617 .L21: |
||
609 | 618 0100 81E0 ldi r24,hi8(346) |
||
610 | 619 0102 EA35 cpi r30,lo8(346) |
||
611 | 620 0104 F807 cpc r31,r24 |
||
612 | 621 0106 04F0 brlt .L50 |
||
613 | 622 0108 8CE1 ldi r24,hi8(7335) |
||
614 | 623 010a E73A cpi r30,lo8(7335) |
||
615 | 624 010c F807 cpc r31,r24 |
||
616 | 625 010e 04F0 brlt .L24 |
||
617 | 626 0110 2AE5 ldi r18,lo8(90) |
||
618 | 627 0112 30E0 ldi r19,hi8(90) |
||
619 | 628 .L23: |
||
620 | 629 0114 1C16 cp __zero_reg__,r28 |
||
621 | 630 0116 1D06 cpc __zero_reg__,r29 |
||
622 | 631 0118 04F4 brge .L44 |
||
623 | 632 011a 812F mov r24,r17 |
||
624 | 633 011c 9927 clr r25 |
||
625 | 634 011e 87FD sbrc r24,7 |
||
626 | 635 0120 9095 com r25 |
||
627 | 636 0122 829F mul r24,r18 |
||
628 | 637 0124 B001 movw r22,r0 |
||
629 | 638 0126 839F mul r24,r19 |
||
630 | 639 0128 700D add r23,r0 |
||
631 | 640 012a 929F mul r25,r18 |
||
632 | 641 012c 700D add r23,r0 |
||
633 | 642 012e 1124 clr r1 |
||
634 | 643 0130 00C0 rjmp .L16 |
||
635 | 644 .L50: |
||
636 | 645 0132 E050 subi r30,lo8(-(pgm_atanlookup)) |
||
637 | 646 0134 F040 sbci r31,hi8(-(pgm_atanlookup)) |
||
638 | 647 /* #APP */ |
||
639 | 648 0136 8491 lpm r24, Z |
||
640 | 649 |
||
641 | 650 /* #NOAPP */ |
||
642 | 651 0138 282F mov r18,r24 |
||
643 | 652 013a 3327 clr r19 |
||
644 | 653 013c 00C0 rjmp .L23 |
||
645 | 654 .L48: |
||
646 | 655 013e 1FEF ldi r17,lo8(-1) |
||
647 | 656 0140 00C0 rjmp .L19 |
||
648 | 657 .L24: |
||
649 | 658 0142 89E0 ldi r24,hi8(2445) |
||
650 | 659 0144 ED38 cpi r30,lo8(2445) |
||
651 | 660 0146 F807 cpc r31,r24 |
||
652 | 661 0148 04F4 brge .L51 |
||
653 | 662 014a 85E0 ldi r24,hi8(1466) |
||
654 | 663 014c EA3B cpi r30,lo8(1466) |
||
655 | 664 014e F807 cpc r31,r24 |
||
656 | 665 0150 04F0 brlt .L28 |
||
657 | 666 0152 28E5 ldi r18,lo8(88) |
||
658 | 667 0154 30E0 ldi r19,hi8(88) |
||
659 | 668 0156 00C0 rjmp .L23 |
||
660 | 669 .L49: |
||
661 | 670 0158 F095 com r31 |
||
662 | 671 015a E195 neg r30 |
||
663 | 672 015c FF4F sbci r31,lo8(-1) |
||
664 | 673 015e 00C0 rjmp .L21 |
||
665 | 674 .L44: |
||
666 | 675 0160 D7FD sbrc r29,7 |
||
667 | 676 0162 00C0 rjmp .L52 |
||
668 | 677 .L46: |
||
669 | 678 0164 B901 movw r22,r18 |
||
670 | 679 0166 645B subi r22,lo8(-(-180)) |
||
671 | 680 0168 7040 sbci r23,hi8(-(-180)) |
||
672 | 681 016a 00C0 rjmp .L16 |
||
673 | 682 .L51: |
||
674 | 683 016c 29E5 ldi r18,lo8(89) |
||
675 | 684 016e 30E0 ldi r19,hi8(89) |
||
676 | 685 0170 00C0 rjmp .L23 |
||
677 | 686 .L28: |
||
678 | 687 0172 84E0 ldi r24,hi8(1047) |
||
679 | 688 0174 E731 cpi r30,lo8(1047) |
||
680 | 689 0176 F807 cpc r31,r24 |
||
681 | 690 0178 04F0 brlt .L30 |
||
682 | 691 017a 27E5 ldi r18,lo8(87) |
||
683 | 692 017c 30E0 ldi r19,hi8(87) |
||
684 | 693 017e 00C0 rjmp .L23 |
||
685 | 694 .L52: |
||
686 | 695 0180 1116 cp __zero_reg__,r17 |
||
687 | 696 0182 04F4 brge .L46 |
||
688 | 697 0184 64EB ldi r22,lo8(180) |
||
689 | 698 0186 70E0 ldi r23,hi8(180) |
||
690 | 699 0188 621B sub r22,r18 |
||
691 | 700 018a 730B sbc r23,r19 |
||
692 | 701 018c 00C0 rjmp .L16 |
||
693 | 702 .L30: |
||
694 | 703 018e 83E0 ldi r24,hi8(814) |
||
695 | 704 0190 EE32 cpi r30,lo8(814) |
||
696 | 705 0192 F807 cpc r31,r24 |
||
697 | 706 0194 04F0 brlt .L32 |
||
698 | 707 0196 26E5 ldi r18,lo8(86) |
||
699 | 708 0198 30E0 ldi r19,hi8(86) |
||
700 | 709 019a 00C0 rjmp .L23 |
||
701 | 710 .L32: |
||
702 | 711 019c 82E0 ldi r24,hi8(665) |
||
703 | 712 019e E939 cpi r30,lo8(665) |
||
704 | 713 01a0 F807 cpc r31,r24 |
||
705 | 714 01a2 04F0 brlt .L34 |
||
706 | 715 01a4 25E5 ldi r18,lo8(85) |
||
707 | 716 01a6 30E0 ldi r19,hi8(85) |
||
708 | 717 01a8 00C0 rjmp .L23 |
||
709 | 718 .L34: |
||
710 | 719 01aa 82E0 ldi r24,hi8(562) |
||
711 | 720 01ac E233 cpi r30,lo8(562) |
||
712 | 721 01ae F807 cpc r31,r24 |
||
713 | 722 01b0 04F0 brlt .L36 |
||
714 | 723 01b2 24E5 ldi r18,lo8(84) |
||
715 | 724 01b4 30E0 ldi r19,hi8(84) |
||
716 | 725 01b6 00C0 rjmp .L23 |
||
717 | 726 .L36: |
||
718 | 727 01b8 81E0 ldi r24,hi8(487) |
||
719 | 728 01ba E73E cpi r30,lo8(487) |
||
720 | 729 01bc F807 cpc r31,r24 |
||
721 | 730 01be 04F0 brlt .L38 |
||
722 | 731 01c0 23E5 ldi r18,lo8(83) |
||
723 | 732 01c2 30E0 ldi r19,hi8(83) |
||
724 | 733 01c4 00C0 rjmp .L23 |
||
725 | 734 .L38: |
||
726 | 735 01c6 81E0 ldi r24,hi8(429) |
||
727 | 736 01c8 ED3A cpi r30,lo8(429) |
||
728 | 737 01ca F807 cpc r31,r24 |
||
729 | 738 01cc 04F0 brlt .L40 |
||
730 | 739 01ce 22E5 ldi r18,lo8(82) |
||
731 | 740 01d0 30E0 ldi r19,hi8(82) |
||
732 | 741 01d2 00C0 rjmp .L23 |
||
733 | 742 .L40: |
||
734 | 743 01d4 EF57 subi r30,lo8(383) |
||
735 | 744 01d6 F140 sbci r31,hi8(383) |
||
736 | 745 01d8 04F0 brlt .L42 |
||
737 | 746 01da 21E5 ldi r18,lo8(81) |
||
738 | 747 01dc 30E0 ldi r19,hi8(81) |
||
739 | 748 01de 00C0 rjmp .L23 |
||
740 | 749 .L42: |
||
741 | 750 01e0 20E5 ldi r18,lo8(80) |
||
742 | 751 01e2 30E0 ldi r19,hi8(80) |
||
743 | 752 01e4 00C0 rjmp .L23 |
||
744 | 753 .L16: |
||
745 | 754 01e6 CB01 movw r24,r22 |
||
746 | 755 /* epilogue: frame size=0 */ |
||
747 | 756 01e8 DF91 pop r29 |
||
748 | 757 01ea CF91 pop r28 |
||
749 | 758 01ec 1F91 pop r17 |
||
750 | 759 01ee 0895 ret |
||
751 | 760 /* epilogue end (size=4) */ |
||
752 | 761 /* function c_atan2 size 167 (160) */ |
||
753 | 763 .global c_sqrt |
||
754 | 765 c_sqrt: |
||
755 | 766 /* prologue: frame size=0 */ |
||
756 | 767 01f0 EF92 push r14 |
||
757 | 768 01f2 FF92 push r15 |
||
758 | 769 01f4 0F93 push r16 |
||
759 | 770 01f6 1F93 push r17 |
||
760 | 771 01f8 CF93 push r28 |
||
761 | 772 01fa DF93 push r29 |
||
762 | 773 /* prologue end (size=6) */ |
||
763 | 774 01fc 7B01 movw r14,r22 |
||
764 | 775 01fe 8C01 movw r16,r24 |
||
765 | 776 0200 20E0 ldi r18,lo8(0) |
||
766 | 777 0202 30E0 ldi r19,hi8(0) |
||
767 | 778 0204 40E0 ldi r20,hlo8(0) |
||
768 | 779 0206 50E0 ldi r21,hhi8(0) |
||
769 | 780 0208 FA01 movw r30,r20 |
||
770 | 781 020a E901 movw r28,r18 |
||
771 | 782 020c 6FE0 ldi r22,lo8(15) |
||
772 | 783 020e 00C0 rjmp .L59 |
||
773 | 784 .L63: |
||
774 | 785 0210 C21B sub r28,r18 |
||
775 | 786 0212 D30B sbc r29,r19 |
||
776 | 787 0214 E40B sbc r30,r20 |
||
777 | 788 0216 F50B sbc r31,r21 |
||
778 | 789 0218 2F5F subi r18,lo8(-(1)) |
||
779 | 790 021a 3F4F sbci r19,hi8(-(1)) |
||
780 | 791 021c 4F4F sbci r20,hlo8(-(1)) |
||
781 | 792 021e 5F4F sbci r21,hhi8(-(1)) |
||
782 | 793 0220 6150 subi r22,lo8(-(-1)) |
||
783 | 794 0222 67FD sbrc r22,7 |
||
784 | 795 0224 00C0 rjmp .L62 |
||
785 | 796 .L59: |
||
786 | 797 0226 220F lsl r18 |
||
787 | 798 0228 331F rol r19 |
||
788 | 799 022a 441F rol r20 |
||
789 | 800 022c 551F rol r21 |
||
790 | 801 022e CC0F lsl r28 |
||
791 | 802 0230 DD1F rol r29 |
||
792 | 803 0232 EE1F rol r30 |
||
793 | 804 0234 FF1F rol r31 |
||
794 | 805 0236 CC0F lsl r28 |
||
795 | 806 0238 DD1F rol r29 |
||
796 | 807 023a EE1F rol r30 |
||
797 | 808 023c FF1F rol r31 |
||
798 | 809 023e D801 movw r26,r16 |
||
799 | 810 0240 C701 movw r24,r14 |
||
800 | 811 0242 7EE1 ldi r23,30 |
||
801 | 812 0244 B695 1: lsr r27 |
||
802 | 813 0246 A795 ror r26 |
||
803 | 814 0248 9795 ror r25 |
||
804 | 815 024a 8795 ror r24 |
||
805 | 816 024c 7A95 dec r23 |
||
806 | 817 024e 01F4 brne 1b |
||
807 | 818 0250 C80F add r28,r24 |
||
808 | 819 0252 D91F adc r29,r25 |
||
809 | 820 0254 EA1F adc r30,r26 |
||
810 | 821 0256 FB1F adc r31,r27 |
||
811 | 822 0258 EE0C lsl r14 |
||
812 | 823 025a FF1C rol r15 |
||
813 | 824 025c 001F rol r16 |
||
814 | 825 025e 111F rol r17 |
||
815 | 826 0260 EE0C lsl r14 |
||
816 | 827 0262 FF1C rol r15 |
||
817 | 828 0264 001F rol r16 |
||
818 | 829 0266 111F rol r17 |
||
819 | 830 0268 2F5F subi r18,lo8(-(1)) |
||
820 | 831 026a 3F4F sbci r19,hi8(-(1)) |
||
821 | 832 026c 4F4F sbci r20,hlo8(-(1)) |
||
822 | 833 026e 5F4F sbci r21,hhi8(-(1)) |
||
823 | 834 0270 C217 cp r28,r18 |
||
824 | 835 0272 D307 cpc r29,r19 |
||
825 | 836 0274 E407 cpc r30,r20 |
||
826 | 837 0276 F507 cpc r31,r21 |
||
827 | 838 0278 00F4 brsh .L63 |
||
828 | 839 027a 2150 subi r18,lo8(-(-1)) |
||
829 | 840 027c 3040 sbci r19,hi8(-(-1)) |
||
830 | 841 027e 4040 sbci r20,hlo8(-(-1)) |
||
831 | 842 0280 5040 sbci r21,hhi8(-(-1)) |
||
832 | 843 0282 6150 subi r22,lo8(-(-1)) |
||
833 | 844 0284 67FF sbrs r22,7 |
||
834 | 845 0286 00C0 rjmp .L59 |
||
835 | 846 .L62: |
||
836 | 847 0288 5695 lsr r21 |
||
837 | 848 028a 4795 ror r20 |
||
838 | 849 028c 3795 ror r19 |
||
839 | 850 028e 2795 ror r18 |
||
840 | 851 0290 CA01 movw r24,r20 |
||
841 | 852 0292 B901 movw r22,r18 |
||
842 | 853 /* epilogue: frame size=0 */ |
||
843 | 854 0294 E6E0 ldi r30,6 |
||
844 | 855 0296 CDB7 in r28,__SP_L__ |
||
845 | 856 0298 DEB7 in r29,__SP_H__ |
||
846 | 857 029a 0C94 0000 jmp __epilogue_restores__+24 |
||
847 | 858 /* epilogue end (size=5) */ |
||
848 | 859 /* function c_sqrt size 87 (76) */ |
||
849 | 861 /* File "mymath.c": code 343 = 0x0157 ( 321), prologues 10, epilogues 12 */ |
||
850 | DEFINED SYMBOLS |
||
851 | *ABS*:00000000 mymath.c |
||
852 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:3 *ABS*:0000003f __SREG__ |
||
853 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:4 *ABS*:0000003e __SP_H__ |
||
854 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:5 *ABS*:0000003d __SP_L__ |
||
855 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:6 *ABS*:00000000 __tmp_reg__ |
||
856 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:7 *ABS*:00000001 __zero_reg__ |
||
857 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:14 .progmem.data:00000000 pgm_atanlookup |
||
858 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:364 .progmem.data:0000015a pgm_sinlookup |
||
859 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:459 .text:00000000 c_sin_8192 |
||
860 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:553 .text:0000009a c_cos_8192 |
||
861 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:569 .text:000000aa c_atan2 |
||
862 | C:\Users\Bernd\AppData\Local\Temp/ccZ3fpJf.s:765 .text:000001f0 c_sqrt |
||
863 | |||
864 | UNDEFINED SYMBOLS |
||
865 | __do_copy_data |
||
866 | __do_clear_bss |
||
867 | __divmodhi4 |
||
868 | __divmodsi4 |
||
869 | __epilogue_restores__ |