root / demos / john / projects / libdragonfly / bom.lst @ 1693
History | View | Annotate | Download (72.4 KB)
1 |
1 .file "bom.c" |
---|---|
2 |
2 .arch atmega128 |
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 |
17 .Ltext0: |
11 |
19 bom_select: |
12 |
20 .LFB15: |
13 |
21 .LM1: |
14 |
22 /* prologue: frame size=0 */ |
15 |
23 0000 CF93 push r28 |
16 |
24 0002 DF93 push r29 |
17 |
25 /* prologue end (size=2) */ |
18 |
26 .LVL0: |
19 |
27 0004 E82F mov r30,r24 |
20 |
28 .LM2: |
21 |
29 0006 8091 0000 lds r24,bom_type |
22 |
30 .LVL1: |
23 |
31 000a 8823 tst r24 |
24 |
32 000c 01F4 brne .L2 |
25 |
33 .LM3: |
26 |
34 000e FF27 clr r31 |
27 |
35 0010 E050 subi r30,lo8(-(lookup)) |
28 |
36 0012 F040 sbci r31,hi8(-(lookup)) |
29 |
37 0014 E081 ld r30,Z |
30 |
38 .L2: |
31 |
39 .LM4: |
32 |
40 0016 CE2F mov r28,r30 |
33 |
41 0018 DD27 clr r29 |
34 |
42 001a 8091 0000 lds r24,select_pins+6 |
35 |
43 001e 9091 0000 lds r25,(select_pins+6)+1 |
36 |
44 0022 C3FF sbrs r28,3 |
37 |
45 0024 00C0 rjmp .L4 |
38 |
46 .LM5: |
39 |
47 0026 61E0 ldi r22,lo8(1) |
40 |
48 0028 70E0 ldi r23,hi8(1) |
41 |
49 002a 00C0 rjmp .L17 |
42 |
50 .L4: |
43 |
51 .LM6: |
44 |
52 002c 60E0 ldi r22,lo8(0) |
45 |
53 002e 70E0 ldi r23,hi8(0) |
46 |
54 .L17: |
47 |
55 0030 0E94 0000 call digital_output |
48 |
56 .LVL2: |
49 |
57 0034 8091 0000 lds r24,select_pins+4 |
50 |
58 0038 9091 0000 lds r25,(select_pins+4)+1 |
51 |
59 .LM7: |
52 |
60 003c C2FF sbrs r28,2 |
53 |
61 003e 00C0 rjmp .L7 |
54 |
62 .LM8: |
55 |
63 0040 61E0 ldi r22,lo8(1) |
56 |
64 0042 70E0 ldi r23,hi8(1) |
57 |
65 0044 00C0 rjmp .L18 |
58 |
66 .L7: |
59 |
67 .LM9: |
60 |
68 0046 60E0 ldi r22,lo8(0) |
61 |
69 0048 70E0 ldi r23,hi8(0) |
62 |
70 .L18: |
63 |
71 004a 0E94 0000 call digital_output |
64 |
72 004e 8091 0000 lds r24,select_pins+2 |
65 |
73 0052 9091 0000 lds r25,(select_pins+2)+1 |
66 |
74 .LM10: |
67 |
75 0056 C1FF sbrs r28,1 |
68 |
76 0058 00C0 rjmp .L10 |
69 |
77 .LM11: |
70 |
78 005a 61E0 ldi r22,lo8(1) |
71 |
79 005c 70E0 ldi r23,hi8(1) |
72 |
80 005e 00C0 rjmp .L19 |
73 |
81 .L10: |
74 |
82 .LM12: |
75 |
83 0060 60E0 ldi r22,lo8(0) |
76 |
84 0062 70E0 ldi r23,hi8(0) |
77 |
85 .L19: |
78 |
86 0064 0E94 0000 call digital_output |
79 |
87 0068 8091 0000 lds r24,select_pins |
80 |
88 006c 9091 0000 lds r25,(select_pins)+1 |
81 |
89 .LM13: |
82 |
90 0070 C0FF sbrs r28,0 |
83 |
91 0072 00C0 rjmp .L13 |
84 |
92 .LM14: |
85 |
93 0074 61E0 ldi r22,lo8(1) |
86 |
94 0076 70E0 ldi r23,hi8(1) |
87 |
95 0078 00C0 rjmp .L20 |
88 |
96 .L13: |
89 |
97 .LM15: |
90 |
98 007a 60E0 ldi r22,lo8(0) |
91 |
99 007c 70E0 ldi r23,hi8(0) |
92 |
100 .L20: |
93 |
101 007e 0E94 0000 call digital_output |
94 |
102 /* epilogue: frame size=0 */ |
95 |
103 0082 DF91 pop r29 |
96 |
104 0084 CF91 pop r28 |
97 |
105 0086 0895 ret |
98 |
106 /* epilogue end (size=3) */ |
99 |
107 /* function bom_select size 68 (63) */ |
100 |
108 .LFE15: |
101 |
110 .global bom_off |
102 |
112 bom_off: |
103 |
113 .LFB14: |
104 |
114 .LM16: |
105 |
115 /* prologue: frame size=0 */ |
106 |
116 /* prologue end (size=0) */ |
107 |
117 .LM17: |
108 |
118 0088 8091 0000 lds r24,bom_type |
109 |
119 008c 8823 tst r24 |
110 |
120 008e 01F0 breq .L23 |
111 |
121 .LM18: |
112 |
122 0090 8130 cpi r24,lo8(1) |
113 |
123 0092 01F4 brne .L25 |
114 |
124 0094 00C0 rjmp .L24 |
115 |
125 .L23: |
116 |
126 .LM19: |
117 |
127 0096 60E0 ldi r22,lo8(0) |
118 |
128 0098 70E0 ldi r23,hi8(0) |
119 |
129 009a 8AE2 ldi r24,lo8(42) |
120 |
130 009c 90E0 ldi r25,hi8(42) |
121 |
131 009e 0E94 0000 call digital_output |
122 |
132 00a2 0895 ret |
123 |
133 .L24: |
124 |
134 .LM20: |
125 |
135 00a4 60E0 ldi r22,lo8(0) |
126 |
136 00a6 70E0 ldi r23,hi8(0) |
127 |
137 00a8 8BE2 ldi r24,lo8(43) |
128 |
138 00aa 90E0 ldi r25,hi8(43) |
129 |
139 00ac 0E94 0000 call digital_output |
130 |
140 .L25: |
131 |
141 00b0 0895 ret |
132 |
142 /* epilogue: frame size=0 */ |
133 |
143 /* epilogue: noreturn */ |
134 |
144 /* epilogue end (size=0) */ |
135 |
145 /* function bom_off size 21 (21) */ |
136 |
146 .LFE14: |
137 |
148 .global bom_on |
138 |
150 bom_on: |
139 |
151 .LFB13: |
140 |
152 .LM21: |
141 |
153 /* prologue: frame size=0 */ |
142 |
154 /* prologue end (size=0) */ |
143 |
155 .LM22: |
144 |
156 00b2 8091 0000 lds r24,bom_type |
145 |
157 00b6 8823 tst r24 |
146 |
158 00b8 01F0 breq .L28 |
147 |
159 .LM23: |
148 |
160 00ba 8130 cpi r24,lo8(1) |
149 |
161 00bc 01F4 brne .L30 |
150 |
162 00be 00C0 rjmp .L29 |
151 |
163 .L28: |
152 |
164 .LM24: |
153 |
165 00c0 61E0 ldi r22,lo8(1) |
154 |
166 00c2 70E0 ldi r23,hi8(1) |
155 |
167 00c4 8AE2 ldi r24,lo8(42) |
156 |
168 00c6 90E0 ldi r25,hi8(42) |
157 |
169 00c8 0E94 0000 call digital_output |
158 |
170 00cc 0895 ret |
159 |
171 .L29: |
160 |
172 .LM25: |
161 |
173 00ce 61E0 ldi r22,lo8(1) |
162 |
174 00d0 70E0 ldi r23,hi8(1) |
163 |
175 00d2 8BE2 ldi r24,lo8(43) |
164 |
176 00d4 90E0 ldi r25,hi8(43) |
165 |
177 00d6 0E94 0000 call digital_output |
166 |
178 .L30: |
167 |
179 00da 0895 ret |
168 |
180 /* epilogue: frame size=0 */ |
169 |
181 /* epilogue: noreturn */ |
170 |
182 /* epilogue end (size=0) */ |
171 |
183 /* function bom_on size 21 (21) */ |
172 |
184 .LFE13: |
173 |
186 .global bom_set_leds |
174 |
188 bom_set_leds: |
175 |
189 .LFB11: |
176 |
190 .LM26: |
177 |
191 /* prologue: frame size=0 */ |
178 |
192 00dc EF92 push r14 |
179 |
193 00de FF92 push r15 |
180 |
194 00e0 0F93 push r16 |
181 |
195 00e2 1F93 push r17 |
182 |
196 00e4 CF93 push r28 |
183 |
197 00e6 DF93 push r29 |
184 |
198 /* prologue end (size=6) */ |
185 |
199 .LVL3: |
186 |
200 00e8 7C01 movw r14,r24 |
187 |
201 .LM27: |
188 |
202 00ea 8091 0000 lds r24,bom_type |
189 |
203 .LVL4: |
190 |
204 00ee 8130 cpi r24,lo8(1) |
191 |
205 00f0 01F4 brne .L35 |
192 |
206 .LM28: |
193 |
207 00f2 00E1 ldi r16,lo8(16) |
194 |
208 00f4 10E0 ldi r17,hi8(16) |
195 |
209 .LVL5: |
196 |
210 00f6 C0E0 ldi r28,lo8(-32768) |
197 |
211 00f8 D0E8 ldi r29,hi8(-32768) |
198 |
212 .LVL6: |
199 |
213 .L34: |
200 |
214 .LM29: |
201 |
215 00fa B701 movw r22,r14 |
202 |
216 00fc 6C23 and r22,r28 |
203 |
217 00fe 7D23 and r23,r29 |
204 |
218 0100 88E0 ldi r24,lo8(8) |
205 |
219 0102 90E0 ldi r25,hi8(8) |
206 |
220 0104 0E94 0000 call digital_output |
207 |
221 .LM30: |
208 |
222 0108 61E0 ldi r22,lo8(1) |
209 |
223 010a 70E0 ldi r23,hi8(1) |
210 |
224 010c 89E0 ldi r24,lo8(9) |
211 |
225 010e 90E0 ldi r25,hi8(9) |
212 |
226 0110 0E94 0000 call digital_output |
213 |
227 .LM31: |
214 |
228 0114 60E0 ldi r22,lo8(0) |
215 |
229 0116 70E0 ldi r23,hi8(0) |
216 |
230 0118 89E0 ldi r24,lo8(9) |
217 |
231 011a 90E0 ldi r25,hi8(9) |
218 |
232 011c 0E94 0000 call digital_output |
219 |
233 .LM32: |
220 |
234 0120 D695 lsr r29 |
221 |
235 0122 C795 ror r28 |
222 |
236 .LM33: |
223 |
237 0124 0150 subi r16,lo8(-(-1)) |
224 |
238 0126 1040 sbci r17,hi8(-(-1)) |
225 |
239 0128 01F4 brne .L34 |
226 |
240 .L35: |
227 |
241 /* epilogue: frame size=0 */ |
228 |
242 012a DF91 pop r29 |
229 |
243 012c CF91 pop r28 |
230 |
244 012e 1F91 pop r17 |
231 |
245 0130 0F91 pop r16 |
232 |
246 0132 FF90 pop r15 |
233 |
247 0134 EF90 pop r14 |
234 |
248 0136 0895 ret |
235 |
249 /* epilogue end (size=7) */ |
236 |
250 /* function bom_set_leds size 48 (35) */ |
237 |
251 .LFE11: |
238 |
253 .global bom_init |
239 |
255 bom_init: |
240 |
256 .LFB3: |
241 |
257 .LM34: |
242 |
258 /* prologue: frame size=0 */ |
243 |
259 /* prologue end (size=0) */ |
244 |
260 .LVL7: |
245 |
261 .LM35: |
246 |
262 0138 8093 0000 sts bom_type,r24 |
247 |
263 .LM36: |
248 |
264 013c 8091 0000 lds r24,bom_type |
249 |
265 .LVL8: |
250 |
266 0140 8823 tst r24 |
251 |
267 0142 01F0 breq .L39 |
252 |
268 .LM37: |
253 |
269 0144 8130 cpi r24,lo8(1) |
254 |
270 0146 01F0 breq .+2 |
255 |
271 0148 00C0 rjmp .L41 |
256 |
272 014a 00C0 rjmp .L40 |
257 |
273 .L39: |
258 |
274 .LM38: |
259 |
275 014c 8CE2 ldi r24,lo8(44) |
260 |
276 014e 90E0 ldi r25,hi8(44) |
261 |
277 0150 9093 0000 sts (select_pins)+1,r25 |
262 |
278 0154 8093 0000 sts select_pins,r24 |
263 |
279 .LM39: |
264 |
280 0158 8BE2 ldi r24,lo8(43) |
265 |
281 015a 90E0 ldi r25,hi8(43) |
266 |
282 015c 9093 0000 sts (select_pins+2)+1,r25 |
267 |
283 0160 8093 0000 sts select_pins+2,r24 |
268 |
284 .LM40: |
269 |
285 0164 8FE2 ldi r24,lo8(47) |
270 |
286 0166 90E0 ldi r25,hi8(47) |
271 |
287 0168 9093 0000 sts (select_pins+4)+1,r25 |
272 |
288 016c 8093 0000 sts select_pins+4,r24 |
273 |
289 .LM41: |
274 |
290 0170 8EE2 ldi r24,lo8(46) |
275 |
291 0172 90E0 ldi r25,hi8(46) |
276 |
292 0174 9093 0000 sts (select_pins+6)+1,r25 |
277 |
293 0178 8093 0000 sts select_pins+6,r24 |
278 |
294 .LM42: |
279 |
295 017c 1092 0000 sts (analog_pin)+1,__zero_reg__ |
280 |
296 0180 1092 0000 sts analog_pin,__zero_reg__ |
281 |
297 0184 0895 ret |
282 |
298 .L40: |
283 |
299 .LM43: |
284 |
300 0186 60E0 ldi r22,lo8(0) |
285 |
301 0188 70E0 ldi r23,hi8(0) |
286 |
302 018a 8AE2 ldi r24,lo8(42) |
287 |
303 018c 90E0 ldi r25,hi8(42) |
288 |
304 018e 0E94 0000 call digital_output |
289 |
305 .LM44: |
290 |
306 0192 8DE2 ldi r24,lo8(45) |
291 |
307 0194 90E0 ldi r25,hi8(45) |
292 |
308 0196 9093 0000 sts (select_pins)+1,r25 |
293 |
309 019a 8093 0000 sts select_pins,r24 |
294 |
310 .LM45: |
295 |
311 019e 8CE2 ldi r24,lo8(44) |
296 |
312 01a0 90E0 ldi r25,hi8(44) |
297 |
313 01a2 9093 0000 sts (select_pins+2)+1,r25 |
298 |
314 01a6 8093 0000 sts select_pins+2,r24 |
299 |
315 .LM46: |
300 |
316 01aa 8FE2 ldi r24,lo8(47) |
301 |
317 01ac 90E0 ldi r25,hi8(47) |
302 |
318 01ae 9093 0000 sts (select_pins+4)+1,r25 |
303 |
319 01b2 8093 0000 sts select_pins+4,r24 |
304 |
320 .LM47: |
305 |
321 01b6 8EE2 ldi r24,lo8(46) |
306 |
322 01b8 90E0 ldi r25,hi8(46) |
307 |
323 01ba 9093 0000 sts (select_pins+6)+1,r25 |
308 |
324 01be 8093 0000 sts select_pins+6,r24 |
309 |
325 .LM48: |
310 |
326 01c2 8FEF ldi r24,lo8(-1) |
311 |
327 01c4 9FEF ldi r25,hi8(-1) |
312 |
328 01c6 0E94 0000 call bom_set_leds |
313 |
329 .LM49: |
314 |
330 01ca 1092 0000 sts (analog_pin)+1,__zero_reg__ |
315 |
331 01ce 1092 0000 sts analog_pin,__zero_reg__ |
316 |
332 .L41: |
317 |
333 01d2 0895 ret |
318 |
334 /* epilogue: frame size=0 */ |
319 |
335 /* epilogue: noreturn */ |
320 |
336 /* epilogue end (size=0) */ |
321 |
337 /* function bom_init size 78 (78) */ |
322 |
338 .LFE3: |
323 |
340 .global bom_get |
324 |
342 bom_get: |
325 |
343 .LFB5: |
326 |
344 .LM50: |
327 |
345 /* prologue: frame size=0 */ |
328 |
346 /* prologue end (size=0) */ |
329 |
347 .LVL9: |
330 |
348 .LM51: |
331 |
349 01d4 0E94 0000 call bom_select |
332 |
350 .LVL10: |
333 |
351 .LM52: |
334 |
352 01d8 8091 0000 lds r24,analog_pin |
335 |
353 01dc 9091 0000 lds r25,(analog_pin)+1 |
336 |
354 01e0 0E94 0000 call analog_get8 |
337 |
355 /* epilogue: frame size=0 */ |
338 |
356 01e4 0895 ret |
339 |
357 /* epilogue end (size=1) */ |
340 |
358 /* function bom_get size 9 (8) */ |
341 |
359 .LFE5: |
342 |
361 .global bom_get_max |
343 |
363 bom_get_max: |
344 |
364 .LFB6: |
345 |
365 .LM53: |
346 |
366 /* prologue: frame size=0 */ |
347 |
367 01e6 EF92 push r14 |
348 |
368 01e8 FF92 push r15 |
349 |
369 01ea 0F93 push r16 |
350 |
370 01ec 1F93 push r17 |
351 |
371 01ee CF93 push r28 |
352 |
372 01f0 DF93 push r29 |
353 |
373 /* prologue end (size=6) */ |
354 |
374 01f2 C0E0 ldi r28,lo8(0) |
355 |
375 01f4 D0E0 ldi r29,hi8(0) |
356 |
376 .LVL11: |
357 |
377 01f6 0FEF ldi r16,lo8(255) |
358 |
378 01f8 10E0 ldi r17,hi8(255) |
359 |
379 .LVL12: |
360 |
380 01fa 2FEF ldi r18,lo8(-1) |
361 |
381 01fc E22E mov r14,r18 |
362 |
382 01fe F22E mov r15,r18 |
363 |
383 .LVL13: |
364 |
384 .LVL14: |
365 |
385 .L45: |
366 |
386 .LM54: |
367 |
387 0200 CE01 movw r24,r28 |
368 |
388 .LVL15: |
369 |
389 0202 0E94 0000 call bom_get |
370 |
390 .LVL16: |
371 |
391 .LM55: |
372 |
392 0206 8017 cp r24,r16 |
373 |
393 0208 9107 cpc r25,r17 |
374 |
394 020a 04F4 brge .L46 |
375 |
395 020c 8C01 movw r16,r24 |
376 |
396 020e 7E01 movw r14,r28 |
377 |
397 .L46: |
378 |
398 .LM56: |
379 |
399 0210 2196 adiw r28,1 |
380 |
400 0212 C031 cpi r28,16 |
381 |
401 0214 D105 cpc r29,__zero_reg__ |
382 |
402 0216 01F4 brne .L45 |
383 |
403 .LM57: |
384 |
404 0218 0639 cpi r16,150 |
385 |
405 021a 1105 cpc r17,__zero_reg__ |
386 |
406 021c 04F0 brlt .L49 |
387 |
407 021e 9FEF ldi r25,lo8(-1) |
388 |
408 0220 E92E mov r14,r25 |
389 |
409 0222 F92E mov r15,r25 |
390 |
410 .L49: |
391 |
411 .LM58: |
392 |
412 0224 C701 movw r24,r14 |
393 |
413 .LVL17: |
394 |
414 /* epilogue: frame size=0 */ |
395 |
415 0226 DF91 pop r29 |
396 |
416 0228 CF91 pop r28 |
397 |
417 022a 1F91 pop r17 |
398 |
418 022c 0F91 pop r16 |
399 |
419 022e FF90 pop r15 |
400 |
420 0230 EF90 pop r14 |
401 |
421 0232 0895 ret |
402 |
422 /* epilogue end (size=7) */ |
403 |
423 /* function bom_get_max size 39 (26) */ |
404 |
424 .LFE6: |
405 |
426 .global bom_get_max10 |
406 |
428 bom_get_max10: |
407 |
429 .LFB10: |
408 |
430 .LM59: |
409 |
431 /* prologue: frame size=36 */ |
410 |
432 0234 2F92 push r2 |
411 |
433 0236 3F92 push r3 |
412 |
434 0238 4F92 push r4 |
413 |
435 023a 5F92 push r5 |
414 |
436 023c 6F92 push r6 |
415 |
437 023e 7F92 push r7 |
416 |
438 0240 8F92 push r8 |
417 |
439 0242 9F92 push r9 |
418 |
440 0244 AF92 push r10 |
419 |
441 0246 BF92 push r11 |
420 |
442 0248 CF92 push r12 |
421 |
443 024a DF92 push r13 |
422 |
444 024c EF92 push r14 |
423 |
445 024e FF92 push r15 |
424 |
446 0250 0F93 push r16 |
425 |
447 0252 1F93 push r17 |
426 |
448 0254 CF93 push r28 |
427 |
449 0256 DF93 push r29 |
428 |
450 0258 CDB7 in r28,__SP_L__ |
429 |
451 025a DEB7 in r29,__SP_H__ |
430 |
452 025c A497 sbiw r28,36 |
431 |
453 025e 0FB6 in __tmp_reg__,__SREG__ |
432 |
454 0260 F894 cli |
433 |
455 0262 DEBF out __SP_H__,r29 |
434 |
456 0264 0FBE out __SREG__,__tmp_reg__ |
435 |
457 0266 CDBF out __SP_L__,r28 |
436 |
458 /* prologue end (size=26) */ |
437 |
459 .LVL18: |
438 |
460 0268 3C01 movw r6,r24 |
439 |
461 .LM60: |
440 |
462 026a 0E94 0000 call bom_get_max |
441 |
463 .LVL19: |
442 |
464 026e 2C01 movw r4,r24 |
443 |
465 .LVL20: |
444 |
466 .LM61: |
445 |
467 0270 97FF sbrs r25,7 |
446 |
468 0272 00C0 rjmp .L55 |
447 |
469 .LVL21: |
448 |
470 .LM62: |
449 |
471 0274 6114 cp r6,__zero_reg__ |
450 |
472 0276 7104 cpc r7,__zero_reg__ |
451 |
473 0278 01F4 brne .L57 |
452 |
474 027a 8FEF ldi r24,lo8(-1) |
453 |
475 027c 9FEF ldi r25,hi8(-1) |
454 |
476 .LVL22: |
455 |
477 027e 00C0 rjmp .L59 |
456 |
478 .LVL23: |
457 |
479 .L57: |
458 |
480 .LM63: |
459 |
481 0280 8FEF ldi r24,lo8(-1) |
460 |
482 0282 9FEF ldi r25,hi8(-1) |
461 |
483 .LVL24: |
462 |
484 0284 F301 movw r30,r6 |
463 |
485 0286 9183 std Z+1,r25 |
464 |
486 0288 8083 st Z,r24 |
465 |
487 028a 00C0 rjmp .L59 |
466 |
488 .LVL25: |
467 |
489 .L55: |
468 |
490 028c E8E1 ldi r30,lo8(24) |
469 |
491 028e 2E2E mov r2,r30 |
470 |
492 0290 312C mov r3,__zero_reg__ |
471 |
493 0292 281A sub r2,r24 |
472 |
494 0294 390A sbc r3,r25 |
473 |
495 0296 1A8A std Y+18,__zero_reg__ |
474 |
496 0298 198A std Y+17,__zero_reg__ |
475 |
497 .LVL26: |
476 |
498 029a 1982 std Y+1,__zero_reg__ |
477 |
499 .LVL27: |
478 |
500 029c 1A82 std Y+2,__zero_reg__ |
479 |
501 .LVL28: |
480 |
502 029e 1B82 std Y+3,__zero_reg__ |
481 |
503 .LVL29: |
482 |
504 02a0 1C82 std Y+4,__zero_reg__ |
483 |
505 .LVL30: |
484 |
506 02a2 1D82 std Y+5,__zero_reg__ |
485 |
507 .LVL31: |
486 |
508 02a4 1E82 std Y+6,__zero_reg__ |
487 |
509 .LVL32: |
488 |
510 02a6 1F82 std Y+7,__zero_reg__ |
489 |
511 .LVL33: |
490 |
512 02a8 1886 std Y+8,__zero_reg__ |
491 |
513 .LVL34: |
492 |
514 02aa 1986 std Y+9,__zero_reg__ |
493 |
515 .LVL35: |
494 |
516 02ac 1A86 std Y+10,__zero_reg__ |
495 |
517 .LVL36: |
496 |
518 02ae 1B86 std Y+11,__zero_reg__ |
497 |
519 .LVL37: |
498 |
520 02b0 1C86 std Y+12,__zero_reg__ |
499 |
521 .LVL38: |
500 |
522 02b2 1D86 std Y+13,__zero_reg__ |
501 |
523 .LVL39: |
502 |
524 02b4 1E86 std Y+14,__zero_reg__ |
503 |
525 .LVL40: |
504 |
526 02b6 1F86 std Y+15,__zero_reg__ |
505 |
527 .LVL41: |
506 |
528 02b8 188A std Y+16,__zero_reg__ |
507 |
529 .LVL42: |
508 |
530 .LVL43: |
509 |
531 .L60: |
510 |
532 .LBB2: |
511 |
533 .LM64: |
512 |
534 02ba 8989 ldd r24,Y+17 |
513 |
535 02bc 9A89 ldd r25,Y+18 |
514 |
536 02be 0E94 0000 call bom_get |
515 |
537 02c2 2FEF ldi r18,lo8(255) |
516 |
538 02c4 30E0 ldi r19,hi8(255) |
517 |
539 02c6 281B sub r18,r24 |
518 |
540 02c8 390B sbc r19,r25 |
519 |
541 02ca 3CA3 std Y+36,r19 |
520 |
542 02cc 2BA3 std Y+35,r18 |
521 |
543 .LM65: |
522 |
544 02ce C101 movw r24,r2 |
523 |
545 02d0 60E1 ldi r22,lo8(16) |
524 |
546 02d2 70E0 ldi r23,hi8(16) |
525 |
547 02d4 0E94 0000 call __divmodhi4 |
526 |
548 02d8 840D add r24,r4 |
527 |
549 02da 951D adc r25,r5 |
528 |
550 02dc 0897 sbiw r24,8 |
529 |
551 02de A901 movw r20,r18 |
530 |
552 02e0 849F mul r24,r20 |
531 |
553 02e2 9001 movw r18,r0 |
532 |
554 02e4 859F mul r24,r21 |
533 |
555 02e6 300D add r19,r0 |
534 |
556 02e8 949F mul r25,r20 |
535 |
557 02ea 300D add r19,r0 |
536 |
558 02ec 1124 clr r1 |
537 |
559 02ee C901 movw r24,r18 |
538 |
560 02f0 990F lsl r25 |
539 |
561 02f2 880B sbc r24,r24 |
540 |
562 02f4 982F mov r25,r24 |
541 |
563 02f6 4901 movw r8,r18 |
542 |
564 .LVL44: |
543 |
565 02f8 A82E mov r10,r24 |
544 |
566 .LVL45: |
545 |
567 02fa B82E mov r11,r24 |
546 |
568 .LVL46: |
547 |
569 02fc C82E mov r12,r24 |
548 |
570 .LVL47: |
549 |
571 02fe D82E mov r13,r24 |
550 |
572 .LVL48: |
551 |
573 0300 E82E mov r14,r24 |
552 |
574 .LVL49: |
553 |
575 0302 F82E mov r15,r24 |
554 |
576 .LVL50: |
555 |
577 0304 0981 ldd r16,Y+1 |
556 |
578 0306 020F add r16,r18 |
557 |
579 0308 81E0 ldi r24,lo8(1) |
558 |
580 030a 9981 ldd r25,Y+1 |
559 |
581 030c 0917 cp r16,r25 |
560 |
582 030e 00F0 brlo .L61 |
561 |
583 0310 80E0 ldi r24,lo8(0) |
562 |
584 .L61: |
563 |
585 0312 1A81 ldd r17,Y+2 |
564 |
586 .LVL51: |
565 |
587 0314 190D add r17,r9 |
566 |
588 0316 A1E0 ldi r26,lo8(1) |
567 |
589 0318 EA81 ldd r30,Y+2 |
568 |
590 031a 1E17 cp r17,r30 |
569 |
591 031c 00F0 brlo .L62 |
570 |
592 031e A0E0 ldi r26,lo8(0) |
571 |
593 .L62: |
572 |
594 0320 810F add r24,r17 |
573 |
595 0322 91E0 ldi r25,lo8(1) |
574 |
596 0324 8117 cp r24,r17 |
575 |
597 0326 00F0 brlo .L63 |
576 |
598 0328 90E0 ldi r25,lo8(0) |
577 |
599 .L63: |
578 |
600 032a A92B or r26,r25 |
579 |
601 032c 182F mov r17,r24 |
580 |
602 032e 2B81 ldd r18,Y+3 |
581 |
603 0330 2A0D add r18,r10 |
582 |
604 0332 B1E0 ldi r27,lo8(1) |
583 |
605 0334 FB81 ldd r31,Y+3 |
584 |
606 0336 2F17 cp r18,r31 |
585 |
607 0338 00F0 brlo .L64 |
586 |
608 033a B0E0 ldi r27,lo8(0) |
587 |
609 .L64: |
588 |
610 033c 8A2F mov r24,r26 |
589 |
611 033e 820F add r24,r18 |
590 |
612 0340 91E0 ldi r25,lo8(1) |
591 |
613 0342 8217 cp r24,r18 |
592 |
614 0344 00F0 brlo .L65 |
593 |
615 0346 90E0 ldi r25,lo8(0) |
594 |
616 .L65: |
595 |
617 0348 B92B or r27,r25 |
596 |
618 034a 282F mov r18,r24 |
597 |
619 034c 3C81 ldd r19,Y+4 |
598 |
620 034e 3B0D add r19,r11 |
599 |
621 0350 A1E0 ldi r26,lo8(1) |
600 |
622 0352 8C81 ldd r24,Y+4 |
601 |
623 0354 3817 cp r19,r24 |
602 |
624 0356 00F0 brlo .L66 |
603 |
625 0358 A0E0 ldi r26,lo8(0) |
604 |
626 .L66: |
605 |
627 035a 8B2F mov r24,r27 |
606 |
628 035c 830F add r24,r19 |
607 |
629 035e 91E0 ldi r25,lo8(1) |
608 |
630 0360 8317 cp r24,r19 |
609 |
631 0362 00F0 brlo .L67 |
610 |
632 0364 90E0 ldi r25,lo8(0) |
611 |
633 .L67: |
612 |
634 0366 A92B or r26,r25 |
613 |
635 0368 382F mov r19,r24 |
614 |
636 036a 4D81 ldd r20,Y+5 |
615 |
637 036c 4C0D add r20,r12 |
616 |
638 036e B1E0 ldi r27,lo8(1) |
617 |
639 0370 9D81 ldd r25,Y+5 |
618 |
640 0372 4917 cp r20,r25 |
619 |
641 0374 00F0 brlo .L68 |
620 |
642 0376 B0E0 ldi r27,lo8(0) |
621 |
643 .L68: |
622 |
644 0378 8A2F mov r24,r26 |
623 |
645 037a 840F add r24,r20 |
624 |
646 037c 91E0 ldi r25,lo8(1) |
625 |
647 037e 8417 cp r24,r20 |
626 |
648 0380 00F0 brlo .L69 |
627 |
649 0382 90E0 ldi r25,lo8(0) |
628 |
650 .L69: |
629 |
651 0384 B92B or r27,r25 |
630 |
652 0386 482F mov r20,r24 |
631 |
653 0388 5E81 ldd r21,Y+6 |
632 |
654 038a 5D0D add r21,r13 |
633 |
655 038c A1E0 ldi r26,lo8(1) |
634 |
656 038e EE81 ldd r30,Y+6 |
635 |
657 0390 5E17 cp r21,r30 |
636 |
658 0392 00F0 brlo .L70 |
637 |
659 0394 A0E0 ldi r26,lo8(0) |
638 |
660 .L70: |
639 |
661 0396 8B2F mov r24,r27 |
640 |
662 0398 850F add r24,r21 |
641 |
663 039a 91E0 ldi r25,lo8(1) |
642 |
664 039c 8517 cp r24,r21 |
643 |
665 039e 00F0 brlo .L71 |
644 |
666 03a0 90E0 ldi r25,lo8(0) |
645 |
667 .L71: |
646 |
668 03a2 A92B or r26,r25 |
647 |
669 03a4 582F mov r21,r24 |
648 |
670 03a6 6F81 ldd r22,Y+7 |
649 |
671 03a8 6E0D add r22,r14 |
650 |
672 03aa B1E0 ldi r27,lo8(1) |
651 |
673 03ac FF81 ldd r31,Y+7 |
652 |
674 03ae 6F17 cp r22,r31 |
653 |
675 03b0 00F0 brlo .L72 |
654 |
676 03b2 B0E0 ldi r27,lo8(0) |
655 |
677 .L72: |
656 |
678 03b4 9A2F mov r25,r26 |
657 |
679 03b6 960F add r25,r22 |
658 |
680 03b8 81E0 ldi r24,lo8(1) |
659 |
681 03ba 9617 cp r25,r22 |
660 |
682 03bc 00F0 brlo .L73 |
661 |
683 03be 80E0 ldi r24,lo8(0) |
662 |
684 .L73: |
663 |
685 03c0 8B2B or r24,r27 |
664 |
686 03c2 7885 ldd r23,Y+8 |
665 |
687 03c4 7F0D add r23,r15 |
666 |
688 03c6 870F add r24,r23 |
667 |
689 03c8 0983 std Y+1,r16 |
668 |
690 03ca 1A83 std Y+2,r17 |
669 |
691 03cc 2B83 std Y+3,r18 |
670 |
692 03ce 3C83 std Y+4,r19 |
671 |
693 03d0 4D83 std Y+5,r20 |
672 |
694 03d2 5E83 std Y+6,r21 |
673 |
695 03d4 9F83 std Y+7,r25 |
674 |
696 03d6 8887 std Y+8,r24 |
675 |
697 .LM66: |
676 |
698 03d8 8BA1 ldd r24,Y+35 |
677 |
699 03da 9CA1 ldd r25,Y+36 |
678 |
700 03dc 990F lsl r25 |
679 |
701 03de 880B sbc r24,r24 |
680 |
702 03e0 982F mov r25,r24 |
681 |
703 03e2 8BA0 ldd r8,Y+35 |
682 |
704 03e4 9CA0 ldd r9,Y+36 |
683 |
705 03e6 A82E mov r10,r24 |
684 |
706 .LVL52: |
685 |
707 03e8 B82E mov r11,r24 |
686 |
708 .LVL53: |
687 |
709 03ea C82E mov r12,r24 |
688 |
710 .LVL54: |
689 |
711 03ec D82E mov r13,r24 |
690 |
712 .LVL55: |
691 |
713 03ee E82E mov r14,r24 |
692 |
714 .LVL56: |
693 |
715 03f0 F82E mov r15,r24 |
694 |
716 .LVL57: |
695 |
717 03f2 0985 ldd r16,Y+9 |
696 |
718 03f4 080D add r16,r8 |
697 |
719 03f6 81E0 ldi r24,lo8(1) |
698 |
720 03f8 9985 ldd r25,Y+9 |
699 |
721 03fa 0917 cp r16,r25 |
700 |
722 03fc 00F0 brlo .L74 |
701 |
723 .LVL58: |
702 |
724 03fe 80E0 ldi r24,lo8(0) |
703 |
725 .L74: |
704 |
726 0400 1A85 ldd r17,Y+10 |
705 |
727 .LVL59: |
706 |
728 0402 190D add r17,r9 |
707 |
729 0404 A1E0 ldi r26,lo8(1) |
708 |
730 0406 EA85 ldd r30,Y+10 |
709 |
731 0408 1E17 cp r17,r30 |
710 |
732 040a 00F0 brlo .L75 |
711 |
733 040c A0E0 ldi r26,lo8(0) |
712 |
734 .L75: |
713 |
735 040e 810F add r24,r17 |
714 |
736 0410 91E0 ldi r25,lo8(1) |
715 |
737 0412 8117 cp r24,r17 |
716 |
738 0414 00F0 brlo .L76 |
717 |
739 0416 90E0 ldi r25,lo8(0) |
718 |
740 .L76: |
719 |
741 0418 A92B or r26,r25 |
720 |
742 041a 182F mov r17,r24 |
721 |
743 041c 2B85 ldd r18,Y+11 |
722 |
744 041e 2A0D add r18,r10 |
723 |
745 0420 B1E0 ldi r27,lo8(1) |
724 |
746 0422 FB85 ldd r31,Y+11 |
725 |
747 0424 2F17 cp r18,r31 |
726 |
748 0426 00F0 brlo .L77 |
727 |
749 0428 B0E0 ldi r27,lo8(0) |
728 |
750 .L77: |
729 |
751 042a 8A2F mov r24,r26 |
730 |
752 042c 820F add r24,r18 |
731 |
753 042e 91E0 ldi r25,lo8(1) |
732 |
754 0430 8217 cp r24,r18 |
733 |
755 0432 00F0 brlo .L78 |
734 |
756 0434 90E0 ldi r25,lo8(0) |
735 |
757 .L78: |
736 |
758 0436 B92B or r27,r25 |
737 |
759 0438 282F mov r18,r24 |
738 |
760 043a 3C85 ldd r19,Y+12 |
739 |
761 043c 3B0D add r19,r11 |
740 |
762 043e A1E0 ldi r26,lo8(1) |
741 |
763 0440 8C85 ldd r24,Y+12 |
742 |
764 0442 3817 cp r19,r24 |
743 |
765 0444 00F0 brlo .L79 |
744 |
766 0446 A0E0 ldi r26,lo8(0) |
745 |
767 .L79: |
746 |
768 0448 8B2F mov r24,r27 |
747 |
769 044a 830F add r24,r19 |
748 |
770 044c 91E0 ldi r25,lo8(1) |
749 |
771 044e 8317 cp r24,r19 |
750 |
772 0450 00F0 brlo .L80 |
751 |
773 0452 90E0 ldi r25,lo8(0) |
752 |
774 .L80: |
753 |
775 0454 A92B or r26,r25 |
754 |
776 0456 382F mov r19,r24 |
755 |
777 0458 4D85 ldd r20,Y+13 |
756 |
778 045a 4C0D add r20,r12 |
757 |
779 045c B1E0 ldi r27,lo8(1) |
758 |
780 045e 9D85 ldd r25,Y+13 |
759 |
781 0460 4917 cp r20,r25 |
760 |
782 0462 00F0 brlo .L81 |
761 |
783 0464 B0E0 ldi r27,lo8(0) |
762 |
784 .L81: |
763 |
785 0466 8A2F mov r24,r26 |
764 |
786 0468 840F add r24,r20 |
765 |
787 046a 91E0 ldi r25,lo8(1) |
766 |
788 046c 8417 cp r24,r20 |
767 |
789 046e 00F0 brlo .L82 |
768 |
790 0470 90E0 ldi r25,lo8(0) |
769 |
791 .L82: |
770 |
792 0472 B92B or r27,r25 |
771 |
793 0474 482F mov r20,r24 |
772 |
794 0476 5E85 ldd r21,Y+14 |
773 |
795 0478 5D0D add r21,r13 |
774 |
796 047a A1E0 ldi r26,lo8(1) |
775 |
797 047c EE85 ldd r30,Y+14 |
776 |
798 047e 5E17 cp r21,r30 |
777 |
799 0480 00F0 brlo .L83 |
778 |
800 0482 A0E0 ldi r26,lo8(0) |
779 |
801 .L83: |
780 |
802 0484 8B2F mov r24,r27 |
781 |
803 0486 850F add r24,r21 |
782 |
804 0488 91E0 ldi r25,lo8(1) |
783 |
805 048a 8517 cp r24,r21 |
784 |
806 048c 00F0 brlo .L84 |
785 |
807 048e 90E0 ldi r25,lo8(0) |
786 |
808 .L84: |
787 |
809 0490 A92B or r26,r25 |
788 |
810 0492 582F mov r21,r24 |
789 |
811 0494 6F85 ldd r22,Y+15 |
790 |
812 0496 6E0D add r22,r14 |
791 |
813 0498 B1E0 ldi r27,lo8(1) |
792 |
814 049a FF85 ldd r31,Y+15 |
793 |
815 049c 6F17 cp r22,r31 |
794 |
816 049e 00F0 brlo .L85 |
795 |
817 04a0 B0E0 ldi r27,lo8(0) |
796 |
818 .L85: |
797 |
819 04a2 8A2F mov r24,r26 |
798 |
820 04a4 860F add r24,r22 |
799 |
821 04a6 91E0 ldi r25,lo8(1) |
800 |
822 04a8 8617 cp r24,r22 |
801 |
823 04aa 00F0 brlo .L86 |
802 |
824 04ac 90E0 ldi r25,lo8(0) |
803 |
825 .L86: |
804 |
826 04ae 9B2B or r25,r27 |
805 |
827 04b0 7889 ldd r23,Y+16 |
806 |
828 04b2 7F0D add r23,r15 |
807 |
829 04b4 970F add r25,r23 |
808 |
830 04b6 0987 std Y+9,r16 |
809 |
831 04b8 1A87 std Y+10,r17 |
810 |
832 04ba 2B87 std Y+11,r18 |
811 |
833 04bc 3C87 std Y+12,r19 |
812 |
834 04be 4D87 std Y+13,r20 |
813 |
835 04c0 5E87 std Y+14,r21 |
814 |
836 04c2 8F87 std Y+15,r24 |
815 |
837 04c4 988B std Y+16,r25 |
816 |
838 .LBE2: |
817 |
839 .LM67: |
818 |
840 04c6 2989 ldd r18,Y+17 |
819 |
841 04c8 3A89 ldd r19,Y+18 |
820 |
842 04ca 2F5F subi r18,lo8(-(1)) |
821 |
843 04cc 3F4F sbci r19,hi8(-(1)) |
822 |
844 04ce 3A8B std Y+18,r19 |
823 |
845 04d0 298B std Y+17,r18 |
824 |
846 04d2 0894 sec |
825 |
847 04d4 211C adc r2,__zero_reg__ |
826 |
848 04d6 311C adc r3,__zero_reg__ |
827 |
849 04d8 2031 cpi r18,16 |
828 |
850 04da 3105 cpc r19,__zero_reg__ |
829 |
851 04dc 01F0 breq .+2 |
830 |
852 04de 00C0 rjmp .L60 |
831 |
853 .LM68: |
832 |
854 04e0 6114 cp r6,__zero_reg__ |
833 |
855 04e2 7104 cpc r7,__zero_reg__ |
834 |
856 04e4 01F0 breq .L88 |
835 |
857 .LM69: |
836 |
858 04e6 50E3 ldi r21,lo8(48) |
837 |
859 04e8 A52E mov r10,r21 |
838 |
860 .LVL60: |
839 |
861 04ea BB24 clr r11 |
840 |
862 .LVL61: |
841 |
863 04ec CC24 clr r12 |
842 |
864 .LVL62: |
843 |
865 04ee DD24 clr r13 |
844 |
866 .LVL63: |
845 |
867 04f0 EE24 clr r14 |
846 |
868 .LVL64: |
847 |
869 04f2 FF24 clr r15 |
848 |
870 .LVL65: |
849 |
871 04f4 00E0 ldi r16,lo8(0) |
850 |
872 04f6 10E0 ldi r17,lo8(0) |
851 |
873 04f8 2985 ldd r18,Y+9 |
852 |
874 04fa 3A85 ldd r19,Y+10 |
853 |
875 04fc 4B85 ldd r20,Y+11 |
854 |
876 04fe 5C85 ldd r21,Y+12 |
855 |
877 0500 6D85 ldd r22,Y+13 |
856 |
878 0502 7E85 ldd r23,Y+14 |
857 |
879 0504 0E94 0000 call __divdi3 |
858 |
880 0508 A22E mov r10,r18 |
859 |
881 050a B32E mov r11,r19 |
860 |
882 050c 82E3 ldi r24,lo8(50) |
861 |
883 050e 90E0 ldi r25,hi8(50) |
862 |
884 0510 8A19 sub r24,r10 |
863 |
885 0512 9B09 sbc r25,r11 |
864 |
886 0514 F301 movw r30,r6 |
865 |
887 0516 9183 std Z+1,r25 |
866 |
888 0518 8083 st Z,r24 |
867 |
889 .LVL66: |
868 |
890 .L88: |
869 |
891 .LM70: |
870 |
892 051a 8980 ldd r8,Y+1 |
871 |
893 .LVL67: |
872 |
894 051c 9A80 ldd r9,Y+2 |
873 |
895 .LVL68: |
874 |
896 051e AB80 ldd r10,Y+3 |
875 |
897 .LVL69: |
876 |
898 0520 BC80 ldd r11,Y+4 |
877 |
899 .LVL70: |
878 |
900 0522 CD80 ldd r12,Y+5 |
879 |
901 .LVL71: |
880 |
902 0524 DE80 ldd r13,Y+6 |
881 |
903 .LVL72: |
882 |
904 0526 EF80 ldd r14,Y+7 |
883 |
905 .LVL73: |
884 |
906 0528 F884 ldd r15,Y+8 |
885 |
907 .LVL74: |
886 |
908 052a 01E0 ldi r16,lo8(1) |
887 |
909 052c 282D mov r18,r8 |
888 |
910 052e 392D mov r19,r9 |
889 |
911 0530 4A2D mov r20,r10 |
890 |
912 0532 5B2D mov r21,r11 |
891 |
913 0534 6C2D mov r22,r12 |
892 |
914 0536 7D2D mov r23,r13 |
893 |
915 0538 8E2D mov r24,r14 |
894 |
916 053a 9F2D mov r25,r15 |
895 |
917 053c 0E94 0000 call __ashldi3 |
896 |
918 0540 2B8B std Y+19,r18 |
897 |
919 0542 3C8B std Y+20,r19 |
898 |
920 0544 4D8B std Y+21,r20 |
899 |
921 0546 5E8B std Y+22,r21 |
900 |
922 0548 6F8B std Y+23,r22 |
901 |
923 054a 788F std Y+24,r23 |
902 |
924 054c 898F std Y+25,r24 |
903 |
925 054e 9A8F std Y+26,r25 |
904 |
926 0550 02E0 ldi r16,lo8(2) |
905 |
927 0552 0E94 0000 call __ashldi3 |
906 |
928 0556 B32E mov r11,r19 |
907 |
929 0558 C42E mov r12,r20 |
908 |
930 055a D52E mov r13,r21 |
909 |
931 055c E62E mov r14,r22 |
910 |
932 055e F72E mov r15,r23 |
911 |
933 0560 082F mov r16,r24 |
912 |
934 0562 192F mov r17,r25 |
913 |
935 0564 2B88 ldd r2,Y+19 |
914 |
936 0566 220E add r2,r18 |
915 |
937 0568 81E0 ldi r24,lo8(1) |
916 |
938 056a FB89 ldd r31,Y+19 |
917 |
939 056c 2F16 cp r2,r31 |
918 |
940 056e 00F0 brlo .L90 |
919 |
941 .LVL75: |
920 |
942 0570 80E0 ldi r24,lo8(0) |
921 |
943 .L90: |
922 |
944 0572 3C88 ldd r3,Y+20 |
923 |
945 0574 3B0C add r3,r11 |
924 |
946 0576 21E0 ldi r18,lo8(1) |
925 |
947 0578 3C89 ldd r19,Y+20 |
926 |
948 057a 3316 cp r3,r19 |
927 |
949 057c 00F0 brlo .L91 |
928 |
950 057e 20E0 ldi r18,lo8(0) |
929 |
951 .L91: |
930 |
952 0580 830D add r24,r3 |
931 |
953 0582 91E0 ldi r25,lo8(1) |
932 |
954 0584 8315 cp r24,r3 |
933 |
955 0586 00F0 brlo .L92 |
934 |
956 0588 90E0 ldi r25,lo8(0) |
935 |
957 .L92: |
936 |
958 058a 292B or r18,r25 |
937 |
959 058c 382E mov r3,r24 |
938 |
960 058e 4D88 ldd r4,Y+21 |
939 |
961 .LVL76: |
940 |
962 0590 4C0C add r4,r12 |
941 |
963 0592 31E0 ldi r19,lo8(1) |
942 |
964 0594 4D89 ldd r20,Y+21 |
943 |
965 0596 4416 cp r4,r20 |
944 |
966 0598 00F0 brlo .L93 |
945 |
967 059a 30E0 ldi r19,lo8(0) |
946 |
968 .L93: |
947 |
969 059c 822F mov r24,r18 |
948 |
970 059e 840D add r24,r4 |
949 |
971 05a0 91E0 ldi r25,lo8(1) |
950 |
972 05a2 8415 cp r24,r4 |
951 |
973 05a4 00F0 brlo .L94 |
952 |
974 05a6 90E0 ldi r25,lo8(0) |
953 |
975 .L94: |
954 |
976 05a8 392B or r19,r25 |
955 |
977 05aa 482E mov r4,r24 |
956 |
978 05ac 5E88 ldd r5,Y+22 |
957 |
979 05ae 5D0C add r5,r13 |
958 |
980 05b0 21E0 ldi r18,lo8(1) |
959 |
981 05b2 5E89 ldd r21,Y+22 |
960 |
982 05b4 5516 cp r5,r21 |
961 |
983 05b6 00F0 brlo .L95 |
962 |
984 05b8 20E0 ldi r18,lo8(0) |
963 |
985 .L95: |
964 |
986 05ba 832F mov r24,r19 |
965 |
987 05bc 850D add r24,r5 |
966 |
988 05be 91E0 ldi r25,lo8(1) |
967 |
989 05c0 8515 cp r24,r5 |
968 |
990 05c2 00F0 brlo .L96 |
969 |
991 05c4 90E0 ldi r25,lo8(0) |
970 |
992 .L96: |
971 |
993 05c6 292B or r18,r25 |
972 |
994 05c8 582E mov r5,r24 |
973 |
995 05ca 6F88 ldd r6,Y+23 |
974 |
996 .LVL77: |
975 |
997 05cc 6E0C add r6,r14 |
976 |
998 05ce 31E0 ldi r19,lo8(1) |
977 |
999 05d0 8F89 ldd r24,Y+23 |
978 |
1000 05d2 6816 cp r6,r24 |
979 |
1001 05d4 00F0 brlo .L97 |
980 |
1002 05d6 30E0 ldi r19,lo8(0) |
981 |
1003 .L97: |
982 |
1004 05d8 822F mov r24,r18 |
983 |
1005 05da 860D add r24,r6 |
984 |
1006 05dc 91E0 ldi r25,lo8(1) |
985 |
1007 05de 8615 cp r24,r6 |
986 |
1008 05e0 00F0 brlo .L98 |
987 |
1009 05e2 90E0 ldi r25,lo8(0) |
988 |
1010 .L98: |
989 |
1011 05e4 392B or r19,r25 |
990 |
1012 05e6 682E mov r6,r24 |
991 |
1013 05e8 788C ldd r7,Y+24 |
992 |
1014 05ea 7F0C add r7,r15 |
993 |
1015 05ec 21E0 ldi r18,lo8(1) |
994 |
1016 05ee 988D ldd r25,Y+24 |
995 |
1017 05f0 7916 cp r7,r25 |
996 |
1018 05f2 00F0 brlo .L99 |
997 |
1019 05f4 20E0 ldi r18,lo8(0) |
998 |
1020 .L99: |
999 |
1021 05f6 832F mov r24,r19 |
1000 |
1022 05f8 870D add r24,r7 |
1001 |
1023 05fa 91E0 ldi r25,lo8(1) |
1002 |
1024 05fc 8715 cp r24,r7 |
1003 |
1025 05fe 00F0 brlo .L100 |
1004 |
1026 0600 90E0 ldi r25,lo8(0) |
1005 |
1027 .L100: |
1006 |
1028 0602 292B or r18,r25 |
1007 |
1029 0604 782E mov r7,r24 |
1008 |
1030 0606 898C ldd r8,Y+25 |
1009 |
1031 .LVL78: |
1010 |
1032 0608 800E add r8,r16 |
1011 |
1033 060a 31E0 ldi r19,lo8(1) |
1012 |
1034 060c E98D ldd r30,Y+25 |
1013 |
1035 060e 8E16 cp r8,r30 |
1014 |
1036 0610 00F0 brlo .L101 |
1015 |
1037 0612 30E0 ldi r19,lo8(0) |
1016 |
1038 .L101: |
1017 |
1039 0614 822F mov r24,r18 |
1018 |
1040 0616 880D add r24,r8 |
1019 |
1041 0618 91E0 ldi r25,lo8(1) |
1020 |
1042 061a 8815 cp r24,r8 |
1021 |
1043 061c 00F0 brlo .L102 |
1022 |
1044 061e 90E0 ldi r25,lo8(0) |
1023 |
1045 .L102: |
1024 |
1046 0620 932B or r25,r19 |
1025 |
1047 0622 9A8C ldd r9,Y+26 |
1026 |
1048 .LVL79: |
1027 |
1049 0624 910E add r9,r17 |
1028 |
1050 0626 990D add r25,r9 |
1029 |
1051 0628 A984 ldd r10,Y+9 |
1030 |
1052 .LVL80: |
1031 |
1053 062a BA84 ldd r11,Y+10 |
1032 |
1054 062c CB84 ldd r12,Y+11 |
1033 |
1055 062e DC84 ldd r13,Y+12 |
1034 |
1056 0630 ED84 ldd r14,Y+13 |
1035 |
1057 0632 FE84 ldd r15,Y+14 |
1036 |
1058 0634 0F85 ldd r16,Y+15 |
1037 |
1059 0636 1889 ldd r17,Y+16 |
1038 |
1060 0638 222D mov r18,r2 |
1039 |
1061 063a 332D mov r19,r3 |
1040 |
1062 063c 442D mov r20,r4 |
1041 |
1063 063e 552D mov r21,r5 |
1042 |
1064 0640 662D mov r22,r6 |
1043 |
1065 0642 772D mov r23,r7 |
1044 |
1066 0644 0E94 0000 call __divdi3 |
1045 |
1067 0648 A22E mov r10,r18 |
1046 |
1068 064a B32E mov r11,r19 |
1047 |
1069 064c C42E mov r12,r20 |
1048 |
1070 064e D52E mov r13,r21 |
1049 |
1071 0650 E62E mov r14,r22 |
1050 |
1072 0652 F72E mov r15,r23 |
1051 |
1073 0654 082F mov r16,r24 |
1052 |
1074 0656 192F mov r17,r25 |
1053 |
1075 0658 F0EA ldi r31,lo8(-96) |
1054 |
1076 065a FB8F std Y+27,r31 |
1055 |
1077 065c 1C8E std Y+28,__zero_reg__ |
1056 |
1078 065e 1D8E std Y+29,__zero_reg__ |
1057 |
1079 0660 1E8E std Y+30,__zero_reg__ |
1058 |
1080 0662 1F8E std Y+31,__zero_reg__ |
1059 |
1081 0664 18A2 std Y+32,__zero_reg__ |
1060 |
1082 0666 19A2 std Y+33,__zero_reg__ |
1061 |
1083 0668 1AA2 std Y+34,__zero_reg__ |
1062 |
1084 066a 40EA ldi r20,lo8(-96) |
1063 |
1085 066c 242E mov r2,r20 |
1064 |
1086 066e 2A0C add r2,r10 |
1065 |
1087 0670 81E0 ldi r24,lo8(1) |
1066 |
1088 0672 2A14 cp r2,r10 |
1067 |
1089 0674 00F0 brlo .L103 |
1068 |
1090 0676 80E0 ldi r24,lo8(0) |
1069 |
1091 .L103: |
1070 |
1092 0678 3C8C ldd r3,Y+28 |
1071 |
1093 067a 3B0C add r3,r11 |
1072 |
1094 067c 21E0 ldi r18,lo8(1) |
1073 |
1095 067e 3B14 cp r3,r11 |
1074 |
1096 0680 00F0 brlo .L104 |
1075 |
1097 0682 20E0 ldi r18,lo8(0) |
1076 |
1098 .L104: |
1077 |
1099 0684 830D add r24,r3 |
1078 |
1100 0686 91E0 ldi r25,lo8(1) |
1079 |
1101 0688 8315 cp r24,r3 |
1080 |
1102 068a 00F0 brlo .L105 |
1081 |
1103 068c 90E0 ldi r25,lo8(0) |
1082 |
1104 .L105: |
1083 |
1105 068e 292B or r18,r25 |
1084 |
1106 0690 382E mov r3,r24 |
1085 |
1107 0692 4D8C ldd r4,Y+29 |
1086 |
1108 0694 4C0C add r4,r12 |
1087 |
1109 0696 31E0 ldi r19,lo8(1) |
1088 |
1110 0698 4C14 cp r4,r12 |
1089 |
1111 069a 00F0 brlo .L106 |
1090 |
1112 069c 30E0 ldi r19,lo8(0) |
1091 |
1113 .L106: |
1092 |
1114 069e 822F mov r24,r18 |
1093 |
1115 06a0 840D add r24,r4 |
1094 |
1116 06a2 91E0 ldi r25,lo8(1) |
1095 |
1117 06a4 8415 cp r24,r4 |
1096 |
1118 06a6 00F0 brlo .L107 |
1097 |
1119 06a8 90E0 ldi r25,lo8(0) |
1098 |
1120 .L107: |
1099 |
1121 06aa 392B or r19,r25 |
1100 |
1122 06ac 482E mov r4,r24 |
1101 |
1123 06ae 5E8C ldd r5,Y+30 |
1102 |
1124 06b0 5D0C add r5,r13 |
1103 |
1125 06b2 21E0 ldi r18,lo8(1) |
1104 |
1126 06b4 5D14 cp r5,r13 |
1105 |
1127 06b6 00F0 brlo .L108 |
1106 |
1128 06b8 20E0 ldi r18,lo8(0) |
1107 |
1129 .L108: |
1108 |
1130 06ba 832F mov r24,r19 |
1109 |
1131 06bc 850D add r24,r5 |
1110 |
1132 06be 91E0 ldi r25,lo8(1) |
1111 |
1133 06c0 8515 cp r24,r5 |
1112 |
1134 06c2 00F0 brlo .L109 |
1113 |
1135 06c4 90E0 ldi r25,lo8(0) |
1114 |
1136 .L109: |
1115 |
1137 06c6 292B or r18,r25 |
1116 |
1138 06c8 582E mov r5,r24 |
1117 |
1139 06ca 6F8C ldd r6,Y+31 |
1118 |
1140 06cc 6E0C add r6,r14 |
1119 |
1141 06ce 31E0 ldi r19,lo8(1) |
1120 |
1142 06d0 6E14 cp r6,r14 |
1121 |
1143 06d2 00F0 brlo .L110 |
1122 |
1144 06d4 30E0 ldi r19,lo8(0) |
1123 |
1145 .L110: |
1124 |
1146 06d6 822F mov r24,r18 |
1125 |
1147 06d8 860D add r24,r6 |
1126 |
1148 06da 91E0 ldi r25,lo8(1) |
1127 |
1149 06dc 8615 cp r24,r6 |
1128 |
1150 06de 00F0 brlo .L111 |
1129 |
1151 06e0 90E0 ldi r25,lo8(0) |
1130 |
1152 .L111: |
1131 |
1153 06e2 392B or r19,r25 |
1132 |
1154 06e4 682E mov r6,r24 |
1133 |
1155 06e6 78A0 ldd r7,Y+32 |
1134 |
1156 06e8 7F0C add r7,r15 |
1135 |
1157 06ea 21E0 ldi r18,lo8(1) |
1136 |
1158 06ec 7F14 cp r7,r15 |
1137 |
1159 06ee 00F0 brlo .L112 |
1138 |
1160 06f0 20E0 ldi r18,lo8(0) |
1139 |
1161 .L112: |
1140 |
1162 06f2 832F mov r24,r19 |
1141 |
1163 06f4 870D add r24,r7 |
1142 |
1164 06f6 91E0 ldi r25,lo8(1) |
1143 |
1165 06f8 8715 cp r24,r7 |
1144 |
1166 06fa 00F0 brlo .L113 |
1145 |
1167 06fc 90E0 ldi r25,lo8(0) |
1146 |
1168 .L113: |
1147 |
1169 06fe 292B or r18,r25 |
1148 |
1170 0700 782E mov r7,r24 |
1149 |
1171 0702 89A0 ldd r8,Y+33 |
1150 |
1172 0704 800E add r8,r16 |
1151 |
1173 0706 31E0 ldi r19,lo8(1) |
1152 |
1174 0708 8016 cp r8,r16 |
1153 |
1175 070a 00F0 brlo .L114 |
1154 |
1176 070c 30E0 ldi r19,lo8(0) |
1155 |
1177 .L114: |
1156 |
1178 070e 822F mov r24,r18 |
1157 |
1179 0710 880D add r24,r8 |
1158 |
1180 0712 91E0 ldi r25,lo8(1) |
1159 |
1181 0714 8815 cp r24,r8 |
1160 |
1182 0716 00F0 brlo .L115 |
1161 |
1183 0718 90E0 ldi r25,lo8(0) |
1162 |
1184 .L115: |
1163 |
1185 071a 932B or r25,r19 |
1164 |
1186 071c 9AA0 ldd r9,Y+34 |
1165 |
1187 071e 910E add r9,r17 |
1166 |
1188 0720 990D add r25,r9 |
1167 |
1189 0722 30EA ldi r19,lo8(-96) |
1168 |
1190 0724 A32E mov r10,r19 |
1169 |
1191 0726 BB24 clr r11 |
1170 |
1192 0728 CC24 clr r12 |
1171 |
1193 072a DD24 clr r13 |
1172 |
1194 072c EE24 clr r14 |
1173 |
1195 072e FF24 clr r15 |
1174 |
1196 0730 00E0 ldi r16,lo8(0) |
1175 |
1197 0732 10E0 ldi r17,lo8(0) |
1176 |
1198 0734 222D mov r18,r2 |
1177 |
1199 0736 332D mov r19,r3 |
1178 |
1200 0738 442D mov r20,r4 |
1179 |
1201 073a 552D mov r21,r5 |
1180 |
1202 073c 662D mov r22,r6 |
1181 |
1203 073e 772D mov r23,r7 |
1182 |
1204 0740 0E94 0000 call __moddi3 |
1183 |
1205 0744 A22E mov r10,r18 |
1184 |
1206 0746 B32E mov r11,r19 |
1185 |
1207 0748 C501 movw r24,r10 |
1186 |
1208 .LVL81: |
1187 |
1209 .L59: |
1188 |
1210 /* epilogue: frame size=36 */ |
1189 |
1211 074a A496 adiw r28,36 |
1190 |
1212 074c 0FB6 in __tmp_reg__,__SREG__ |
1191 |
1213 074e F894 cli |
1192 |
1214 0750 DEBF out __SP_H__,r29 |
1193 |
1215 0752 0FBE out __SREG__,__tmp_reg__ |
1194 |
1216 0754 CDBF out __SP_L__,r28 |
1195 |
1217 0756 DF91 pop r29 |
1196 |
1218 0758 CF91 pop r28 |
1197 |
1219 075a 1F91 pop r17 |
1198 |
1220 075c 0F91 pop r16 |
1199 |
1221 075e FF90 pop r15 |
1200 |
1222 0760 EF90 pop r14 |
1201 |
1223 0762 DF90 pop r13 |
1202 |
1224 0764 CF90 pop r12 |
1203 |
1225 0766 BF90 pop r11 |
1204 |
1226 0768 AF90 pop r10 |
1205 |
1227 076a 9F90 pop r9 |
1206 |
1228 076c 8F90 pop r8 |
1207 |
1229 076e 7F90 pop r7 |
1208 |
1230 0770 6F90 pop r6 |
1209 |
1231 0772 5F90 pop r5 |
1210 |
1232 0774 4F90 pop r4 |
1211 |
1233 0776 3F90 pop r3 |
1212 |
1234 0778 2F90 pop r2 |
1213 |
1235 077a 0895 ret |
1214 |
1236 /* epilogue end (size=25) */ |
1215 |
1237 /* function bom_get_max10 size 676 (625) */ |
1216 |
1238 .LFE10: |
1217 |
1240 .global bom_refresh |
1218 |
1242 bom_refresh: |
1219 |
1243 .LFB4: |
1220 |
1244 .LM71: |
1221 |
1245 /* prologue: frame size=0 */ |
1222 |
1246 077c CF92 push r12 |
1223 |
1247 077e DF92 push r13 |
1224 |
1248 0780 EF92 push r14 |
1225 |
1249 0782 FF92 push r15 |
1226 |
1250 0784 0F93 push r16 |
1227 |
1251 0786 1F93 push r17 |
1228 |
1252 0788 CF93 push r28 |
1229 |
1253 078a DF93 push r29 |
1230 |
1254 /* prologue end (size=8) */ |
1231 |
1255 .LVL82: |
1232 |
1256 078c EC01 movw r28,r24 |
1233 |
1257 .LM72: |
1234 |
1258 078e 0E94 0000 call analog_loop_status |
1235 |
1259 .LVL83: |
1236 |
1260 0792 0197 sbiw r24,1 |
1237 |
1261 0794 01F0 breq .L120 |
1238 |
1262 .LM73: |
1239 |
1263 0796 CC24 clr r12 |
1240 |
1264 0798 DD24 clr r13 |
1241 |
1265 .LVL84: |
1242 |
1266 079a 00C0 rjmp .L122 |
1243 |
1267 .LVL85: |
1244 |
1268 .L120: |
1245 |
1269 .LM74: |
1246 |
1270 079c 0E94 0000 call analog_stop_loop |
1247 |
1271 07a0 B1E0 ldi r27,lo8(1) |
1248 |
1272 07a2 CB2E mov r12,r27 |
1249 |
1273 07a4 D12C mov r13,__zero_reg__ |
1250 |
1274 .LVL86: |
1251 |
1275 .L122: |
1252 |
1276 07a6 00E0 ldi r16,lo8(0) |
1253 |
1277 07a8 10E0 ldi r17,hi8(0) |
1254 |
1278 .LVL87: |
1255 |
1279 07aa A0E0 ldi r26,lo8(bom_val) |
1256 |
1280 07ac EA2E mov r14,r26 |
1257 |
1281 07ae A0E0 ldi r26,hi8(bom_val) |
1258 |
1282 07b0 FA2E mov r15,r26 |
1259 |
1283 .L123: |
1260 |
1284 .LM75: |
1261 |
1285 07b2 C0FF sbrs r28,0 |
1262 |
1286 07b4 00C0 rjmp .L124 |
1263 |
1287 .LM76: |
1264 |
1288 07b6 802F mov r24,r16 |
1265 |
1289 07b8 0E94 0000 call bom_select |
1266 |
1290 .LM77: |
1267 |
1291 07bc 8091 0000 lds r24,analog_pin |
1268 |
1292 07c0 9091 0000 lds r25,(analog_pin)+1 |
1269 |
1293 07c4 0E94 0000 call analog_get8 |
1270 |
1294 07c8 F701 movw r30,r14 |
1271 |
1295 07ca 9183 std Z+1,r25 |
1272 |
1296 07cc 8083 st Z,r24 |
1273 |
1297 .L124: |
1274 |
1298 .LM78: |
1275 |
1299 07ce 0F5F subi r16,lo8(-(1)) |
1276 |
1300 07d0 1F4F sbci r17,hi8(-(1)) |
1277 |
1301 07d2 82E0 ldi r24,lo8(2) |
1278 |
1302 07d4 90E0 ldi r25,hi8(2) |
1279 |
1303 07d6 E80E add r14,r24 |
1280 |
1304 07d8 F91E adc r15,r25 |
1281 |
1305 07da 0031 cpi r16,16 |
1282 |
1306 07dc 1105 cpc r17,__zero_reg__ |
1283 |
1307 07de 01F0 breq .L126 |
1284 |
1308 .LM79: |
1285 |
1309 07e0 D595 asr r29 |
1286 |
1310 07e2 C795 ror r28 |
1287 |
1311 07e4 00C0 rjmp .L123 |
1288 |
1312 .L126: |
1289 |
1313 .LM80: |
1290 |
1314 07e6 CD28 or r12,r13 |
1291 |
1315 07e8 01F0 breq .L130 |
1292 |
1316 .LM81: |
1293 |
1317 07ea 0E94 0000 call analog_start_loop |
1294 |
1318 .L130: |
1295 |
1319 /* epilogue: frame size=0 */ |
1296 |
1320 07ee DF91 pop r29 |
1297 |
1321 07f0 CF91 pop r28 |
1298 |
1322 07f2 1F91 pop r17 |
1299 |
1323 07f4 0F91 pop r16 |
1300 |
1324 07f6 FF90 pop r15 |
1301 |
1325 07f8 EF90 pop r14 |
1302 |
1326 07fa DF90 pop r13 |
1303 |
1327 07fc CF90 pop r12 |
1304 |
1328 07fe 0895 ret |
1305 |
1329 /* epilogue end (size=9) */ |
1306 |
1330 /* function bom_refresh size 67 (50) */ |
1307 |
1331 .LFE4: |
1308 |
1333 .global get_max_bom |
1309 |
1335 get_max_bom: |
1310 |
1336 .LFB12: |
1311 |
1337 .LM82: |
1312 |
1338 /* prologue: frame size=0 */ |
1313 |
1339 /* prologue end (size=0) */ |
1314 |
1340 .LM83: |
1315 |
1341 0800 8FEF ldi r24,lo8(-1) |
1316 |
1342 0802 9FEF ldi r25,hi8(-1) |
1317 |
1343 0804 0E94 0000 call bom_refresh |
1318 |
1344 .LM84: |
1319 |
1345 0808 0E94 0000 call bom_get_max |
1320 |
1346 /* epilogue: frame size=0 */ |
1321 |
1347 080c 0895 ret |
1322 |
1348 /* epilogue end (size=1) */ |
1323 |
1349 /* function get_max_bom size 7 (6) */ |
1324 |
1350 .LFE12: |
1325 |
1352 .data |
1326 |
1353 .LC0: |
1327 |
1354 0000 3A20 00 .string ": " |
1328 |
1355 .LC1: |
1329 |
1356 0003 0D0A 00 .string "\r\n" |
1330 |
1357 .text |
1331 |
1358 .global bom_print_usb |
1332 |
1360 bom_print_usb: |
1333 |
1361 .LFB9: |
1334 |
1362 .LM85: |
1335 |
1363 /* prologue: frame size=32 */ |
1336 |
1364 080e AF92 push r10 |
1337 |
1365 0810 BF92 push r11 |
1338 |
1366 0812 CF92 push r12 |
1339 |
1367 0814 DF92 push r13 |
1340 |
1368 0816 EF92 push r14 |
1341 |
1369 0818 FF92 push r15 |
1342 |
1370 081a 0F93 push r16 |
1343 |
1371 081c 1F93 push r17 |
1344 |
1372 081e CF93 push r28 |
1345 |
1373 0820 DF93 push r29 |
1346 |
1374 0822 CDB7 in r28,__SP_L__ |
1347 |
1375 0824 DEB7 in r29,__SP_H__ |
1348 |
1376 0826 A097 sbiw r28,32 |
1349 |
1377 0828 0FB6 in __tmp_reg__,__SREG__ |
1350 |
1378 082a F894 cli |
1351 |
1379 082c DEBF out __SP_H__,r29 |
1352 |
1380 082e 0FBE out __SREG__,__tmp_reg__ |
1353 |
1381 0830 CDBF out __SP_L__,r28 |
1354 |
1382 /* prologue end (size=18) */ |
1355 |
1383 .LVL88: |
1356 |
1384 .LM86: |
1357 |
1385 0832 0097 sbiw r24,0 |
1358 |
1386 0834 01F0 breq .L134 |
1359 |
1387 .LM87: |
1360 |
1388 0836 2FEF ldi r18,lo8(-1) |
1361 |
1389 0838 A22E mov r10,r18 |
1362 |
1390 083a B22E mov r11,r18 |
1363 |
1391 .LVL89: |
1364 |
1392 083c FC01 movw r30,r24 |
1365 |
1393 083e AC01 movw r20,r24 |
1366 |
1394 0840 405E subi r20,lo8(-(32)) |
1367 |
1395 0842 5F4F sbci r21,hi8(-(32)) |
1368 |
1396 .L136: |
1369 |
1397 0844 2191 ld r18,Z+ |
1370 |
1398 0846 3191 ld r19,Z+ |
1371 |
1399 0848 A216 cp r10,r18 |
1372 |
1400 084a B306 cpc r11,r19 |
1373 |
1401 084c 04F4 brge .L137 |
1374 |
1402 .LVL90: |
1375 |
1403 084e 5901 movw r10,r18 |
1376 |
1404 .L137: |
1377 |
1405 .LM88: |
1378 |
1406 0850 E417 cp r30,r20 |
1379 |
1407 0852 F507 cpc r31,r21 |
1380 |
1408 0854 01F4 brne .L136 |
1381 |
1409 0856 00C0 rjmp .L139 |
1382 |
1410 .LVL91: |
1383 |
1411 .L134: |
1384 |
1412 .LM89: |
1385 |
1413 0858 8FEF ldi r24,lo8(-1) |
1386 |
1414 085a 9FEF ldi r25,hi8(-1) |
1387 |
1415 .LVL92: |
1388 |
1416 085c 0E94 0000 call bom_refresh |
1389 |
1417 0860 00E0 ldi r16,lo8(0) |
1390 |
1418 0862 10E0 ldi r17,hi8(0) |
1391 |
1419 .LVL93: |
1392 |
1420 0864 8FEF ldi r24,lo8(-1) |
1393 |
1421 0866 A82E mov r10,r24 |
1394 |
1422 0868 B82E mov r11,r24 |
1395 |
1423 .LVL94: |
1396 |
1424 086a 7E01 movw r14,r28 |
1397 |
1425 086c 0894 sec |
1398 |
1426 086e E11C adc r14,__zero_reg__ |
1399 |
1427 0870 F11C adc r15,__zero_reg__ |
1400 |
1428 .L140: |
1401 |
1429 .LM90: |
1402 |
1430 0872 C801 movw r24,r16 |
1403 |
1431 0874 0E94 0000 call bom_get |
1404 |
1432 0878 F701 movw r30,r14 |
1405 |
1433 087a 9183 std Z+1,r25 |
1406 |
1434 087c 8083 st Z,r24 |
1407 |
1435 087e A816 cp r10,r24 |
1408 |
1436 0880 B906 cpc r11,r25 |
1409 |
1437 0882 04F4 brge .L141 |
1410 |
1438 0884 5C01 movw r10,r24 |
1411 |
1439 .L141: |
1412 |
1440 .LM91: |
1413 |
1441 0886 0F5F subi r16,lo8(-(1)) |
1414 |
1442 0888 1F4F sbci r17,hi8(-(1)) |
1415 |
1443 088a 22E0 ldi r18,lo8(2) |
1416 |
1444 088c 30E0 ldi r19,hi8(2) |
1417 |
1445 088e E20E add r14,r18 |
1418 |
1446 0890 F31E adc r15,r19 |
1419 |
1447 0892 0031 cpi r16,16 |
1420 |
1448 0894 1105 cpc r17,__zero_reg__ |
1421 |
1449 0896 01F4 brne .L140 |
1422 |
1450 0898 CE01 movw r24,r28 |
1423 |
1451 .LVL95: |
1424 |
1452 089a 0196 adiw r24,1 |
1425 |
1453 .LVL96: |
1426 |
1454 .L139: |
1427 |
1455 089c 8C01 movw r16,r24 |
1428 |
1456 .LVL97: |
1429 |
1457 089e CC24 clr r12 |
1430 |
1458 08a0 DD24 clr r13 |
1431 |
1459 .LVL98: |
1432 |
1460 .LVL99: |
1433 |
1461 .L143: |
1434 |
1462 .LM92: |
1435 |
1463 08a2 C601 movw r24,r12 |
1436 |
1464 .LVL100: |
1437 |
1465 08a4 0E94 0000 call usb_puti |
1438 |
1466 .LVL101: |
1439 |
1467 .LM93: |
1440 |
1468 08a8 80E0 ldi r24,lo8(.LC0) |
1441 |
1469 08aa 90E0 ldi r25,hi8(.LC0) |
1442 |
1470 08ac 0E94 0000 call usb_puts |
1443 |
1471 .LM94: |
1444 |
1472 08b0 F801 movw r30,r16 |
1445 |
1473 08b2 8081 ld r24,Z |
1446 |
1474 08b4 9181 ldd r25,Z+1 |
1447 |
1475 08b6 0E94 0000 call usb_puti |
1448 |
1476 .LM95: |
1449 |
1477 08ba 89E0 ldi r24,lo8(9) |
1450 |
1478 08bc 0E94 0000 call usb_putc |
1451 |
1479 08c0 EE24 clr r14 |
1452 |
1480 08c2 FF24 clr r15 |
1453 |
1481 08c4 00C0 rjmp .L144 |
1454 |
1482 .L145: |
1455 |
1483 .LM96: |
1456 |
1484 08c6 83E2 ldi r24,lo8(35) |
1457 |
1485 08c8 0E94 0000 call usb_putc |
1458 |
1486 .LM97: |
1459 |
1487 08cc 0894 sec |
1460 |
1488 08ce E11C adc r14,__zero_reg__ |
1461 |
1489 08d0 F11C adc r15,__zero_reg__ |
1462 |
1490 .L144: |
1463 |
1491 08d2 F801 movw r30,r16 |
1464 |
1492 08d4 8081 ld r24,Z |
1465 |
1493 08d6 9181 ldd r25,Z+1 |
1466 |
1494 08d8 9501 movw r18,r10 |
1467 |
1495 08da 281B sub r18,r24 |
1468 |
1496 08dc 390B sbc r19,r25 |
1469 |
1497 08de C901 movw r24,r18 |
1470 |
1498 08e0 65E0 ldi r22,lo8(5) |
1471 |
1499 08e2 70E0 ldi r23,hi8(5) |
1472 |
1500 08e4 0E94 0000 call __divmodhi4 |
1473 |
1501 08e8 E616 cp r14,r22 |
1474 |
1502 08ea F706 cpc r15,r23 |
1475 |
1503 08ec 04F0 brlt .L145 |
1476 |
1504 .LM98: |
1477 |
1505 08ee 80E0 ldi r24,lo8(.LC1) |
1478 |
1506 08f0 90E0 ldi r25,hi8(.LC1) |
1479 |
1507 08f2 0E94 0000 call usb_puts |
1480 |
1508 .LM99: |
1481 |
1509 08f6 0894 sec |
1482 |
1510 08f8 C11C adc r12,__zero_reg__ |
1483 |
1511 08fa D11C adc r13,__zero_reg__ |
1484 |
1512 08fc 0E5F subi r16,lo8(-(2)) |
1485 |
1513 08fe 1F4F sbci r17,hi8(-(2)) |
1486 |
1514 0900 30E1 ldi r19,lo8(16) |
1487 |
1515 0902 C316 cp r12,r19 |
1488 |
1516 0904 D104 cpc r13,__zero_reg__ |
1489 |
1517 0906 01F4 brne .L143 |
1490 |
1518 .LM100: |
1491 |
1519 0908 80E0 ldi r24,lo8(.LC1) |
1492 |
1520 090a 90E0 ldi r25,hi8(.LC1) |
1493 |
1521 090c 0E94 0000 call usb_puts |
1494 |
1522 .LM101: |
1495 |
1523 0910 80E0 ldi r24,lo8(0) |
1496 |
1524 0912 90E0 ldi r25,hi8(0) |
1497 |
1525 /* epilogue: frame size=32 */ |
1498 |
1526 0914 A096 adiw r28,32 |
1499 |
1527 0916 0FB6 in __tmp_reg__,__SREG__ |
1500 |
1528 0918 F894 cli |
1501 |
1529 091a DEBF out __SP_H__,r29 |
1502 |
1530 091c 0FBE out __SREG__,__tmp_reg__ |
1503 |
1531 091e CDBF out __SP_L__,r28 |
1504 |
1532 0920 DF91 pop r29 |
1505 |
1533 0922 CF91 pop r28 |
1506 |
1534 0924 1F91 pop r17 |
1507 |
1535 0926 0F91 pop r16 |
1508 |
1536 0928 FF90 pop r15 |
1509 |
1537 092a EF90 pop r14 |
1510 |
1538 092c DF90 pop r13 |
1511 |
1539 092e CF90 pop r12 |
1512 |
1540 0930 BF90 pop r11 |
1513 |
1541 0932 AF90 pop r10 |
1514 |
1542 0934 0895 ret |
1515 |
1543 /* epilogue end (size=17) */ |
1516 |
1544 /* function bom_print_usb size 148 (113) */ |
1517 |
1545 .LFE9: |
1518 |
1547 .global bom_get_norm_vector |
1519 |
1549 bom_get_norm_vector: |
1520 |
1550 .LFB8: |
1521 |
1551 .LM102: |
1522 |
1552 /* prologue: frame size=32 */ |
1523 |
1553 0936 4F92 push r4 |
1524 |
1554 0938 5F92 push r5 |
1525 |
1555 093a 6F92 push r6 |
1526 |
1556 093c 7F92 push r7 |
1527 |
1557 093e 8F92 push r8 |
1528 |
1558 0940 9F92 push r9 |
1529 |
1559 0942 AF92 push r10 |
1530 |
1560 0944 BF92 push r11 |
1531 |
1561 0946 CF92 push r12 |
1532 |
1562 0948 DF92 push r13 |
1533 |
1563 094a EF92 push r14 |
1534 |
1564 094c FF92 push r15 |
1535 |
1565 094e 0F93 push r16 |
1536 |
1566 0950 1F93 push r17 |
1537 |
1567 0952 CF93 push r28 |
1538 |
1568 0954 DF93 push r29 |
1539 |
1569 0956 CDB7 in r28,__SP_L__ |
1540 |
1570 0958 DEB7 in r29,__SP_H__ |
1541 |
1571 095a A097 sbiw r28,32 |
1542 |
1572 095c 0FB6 in __tmp_reg__,__SREG__ |
1543 |
1573 095e F894 cli |
1544 |
1574 0960 DEBF out __SP_H__,r29 |
1545 |
1575 0962 0FBE out __SREG__,__tmp_reg__ |
1546 |
1576 0964 CDBF out __SP_L__,r28 |
1547 |
1577 /* prologue end (size=24) */ |
1548 |
1578 .LVL102: |
1549 |
1579 0966 2C01 movw r4,r24 |
1550 |
1580 .LM103: |
1551 |
1581 0968 7E01 movw r14,r28 |
1552 |
1582 096a 0894 sec |
1553 |
1583 096c E11C adc r14,__zero_reg__ |
1554 |
1584 096e F11C adc r15,__zero_reg__ |
1555 |
1585 0970 80E2 ldi r24,lo8(32) |
1556 |
1586 .LVL103: |
1557 |
1587 0972 D701 movw r26,r14 |
1558 |
1588 0974 1D92 st X+,__zero_reg__ |
1559 |
1589 0976 8A95 dec r24 |
1560 |
1590 0978 01F4 brne .-6 |
1561 |
1591 .LM104: |
1562 |
1592 097a 6115 cp r22,__zero_reg__ |
1563 |
1593 097c 7105 cpc r23,__zero_reg__ |
1564 |
1594 097e 01F0 breq .L156 |
1565 |
1595 0980 4FEF ldi r20,lo8(255) |
1566 |
1596 0982 50E0 ldi r21,hi8(255) |
1567 |
1597 0984 D701 movw r26,r14 |
1568 |
1598 0986 FB01 movw r30,r22 |
1569 |
1599 0988 9B01 movw r18,r22 |
1570 |
1600 098a 205E subi r18,lo8(-(32)) |
1571 |
1601 098c 3F4F sbci r19,hi8(-(32)) |
1572 |
1602 .LVL104: |
1573 |
1603 .L158: |
1574 |
1604 .LM105: |
1575 |
1605 098e 8191 ld r24,Z+ |
1576 |
1606 0990 9191 ld r25,Z+ |
1577 |
1607 0992 BA01 movw r22,r20 |
1578 |
1608 0994 681B sub r22,r24 |
1579 |
1609 0996 790B sbc r23,r25 |
1580 |
1610 0998 6D93 st X+,r22 |
1581 |
1611 099a 7D93 st X+,r23 |
1582 |
1612 .LM106: |
1583 |
1613 099c E217 cp r30,r18 |
1584 |
1614 099e F307 cpc r31,r19 |
1585 |
1615 09a0 01F0 breq .L159 |
1586 |
1616 09a2 00C0 rjmp .L158 |
1587 |
1617 .LVL105: |
1588 |
1618 .L156: |
1589 |
1619 .LM107: |
1590 |
1620 09a4 8FEF ldi r24,lo8(-1) |
1591 |
1621 09a6 9FEF ldi r25,hi8(-1) |
1592 |
1622 09a8 0E94 0000 call bom_refresh |
1593 |
1623 .LVL106: |
1594 |
1624 09ac 00E0 ldi r16,lo8(0) |
1595 |
1625 09ae 10E0 ldi r17,hi8(0) |
1596 |
1626 .LVL107: |
1597 |
1627 .L160: |
1598 |
1628 .LM108: |
1599 |
1629 09b0 C801 movw r24,r16 |
1600 |
1630 09b2 0E94 0000 call bom_get |
1601 |
1631 09b6 2FEF ldi r18,lo8(255) |
1602 |
1632 09b8 30E0 ldi r19,hi8(255) |
1603 |
1633 09ba 281B sub r18,r24 |
1604 |
1634 09bc 390B sbc r19,r25 |
1605 |
1635 09be D701 movw r26,r14 |
1606 |
1636 09c0 2D93 st X+,r18 |
1607 |
1637 09c2 3D93 st X+,r19 |
1608 |
1638 09c4 7D01 movw r14,r26 |
1609 |
1639 .LM109: |
1610 |
1640 09c6 0F5F subi r16,lo8(-(1)) |
1611 |
1641 09c8 1F4F sbci r17,hi8(-(1)) |
1612 |
1642 09ca 0031 cpi r16,16 |
1613 |
1643 09cc 1105 cpc r17,__zero_reg__ |
1614 |
1644 09ce 01F4 brne .L160 |
1615 |
1645 .LVL108: |
1616 |
1646 .L159: |
1617 |
1647 09d0 40E0 ldi r20,lo8(0) |
1618 |
1648 09d2 50E0 ldi r21,hi8(0) |
1619 |
1649 09d4 60E0 ldi r22,hlo8(0) |
1620 |
1650 09d6 70E0 ldi r23,hhi8(0) |
1621 |
1651 .LVL109: |
1622 |
1652 09d8 AA24 clr r10 |
1623 |
1653 09da BB24 clr r11 |
1624 |
1654 09dc 6501 movw r12,r10 |
1625 |
1655 .LVL110: |
1626 |
1656 09de E0E0 ldi r30,lo8(0) |
1627 |
1657 09e0 F0E0 ldi r31,hi8(0) |
1628 |
1658 .LVL111: |
1629 |
1659 09e2 8E01 movw r16,r28 |
1630 |
1660 .LVL112: |
1631 |
1661 09e4 0F5F subi r16,lo8(-(1)) |
1632 |
1662 09e6 1F4F sbci r17,hi8(-(1)) |
1633 |
1663 09e8 B0E0 ldi r27,lo8(x_comp) |
1634 |
1664 09ea 8B2E mov r8,r27 |
1635 |
1665 09ec B0E0 ldi r27,hi8(x_comp) |
1636 |
1666 09ee 9B2E mov r9,r27 |
1637 |
1667 09f0 A0E0 ldi r26,lo8(y_comp) |
1638 |
1668 09f2 EA2E mov r14,r26 |
1639 |
1669 09f4 A0E0 ldi r26,hi8(y_comp) |
1640 |
1670 09f6 FA2E mov r15,r26 |
1641 |
1671 09f8 31E2 ldi r19,lo8(33) |
1642 |
1672 09fa 632E mov r6,r19 |
1643 |
1673 09fc 712C mov r7,__zero_reg__ |
1644 |
1674 09fe 6C0E add r6,r28 |
1645 |
1675 0a00 7D1E adc r7,r29 |
1646 |
1676 .L161: |
1647 |
1677 .LM110: |
1648 |
1678 0a02 D801 movw r26,r16 |
1649 |
1679 0a04 2D91 ld r18,X+ |
1650 |
1680 0a06 3D91 ld r19,X+ |
1651 |
1681 0a08 8D01 movw r16,r26 |
1652 |
1682 .LM111: |
1653 |
1683 0a0a D401 movw r26,r8 |
1654 |
1684 0a0c 8D91 ld r24,X+ |
1655 |
1685 0a0e 9D91 ld r25,X+ |
1656 |
1686 0a10 4D01 movw r8,r26 |
1657 |
1687 0a12 DC01 movw r26,r24 |
1658 |
1688 0a14 2A9F mul r18,r26 |
1659 |
1689 0a16 C001 movw r24,r0 |
1660 |
1690 0a18 2B9F mul r18,r27 |
1661 |
1691 0a1a 900D add r25,r0 |
1662 |
1692 0a1c 3A9F mul r19,r26 |
1663 |
1693 0a1e 900D add r25,r0 |
1664 |
1694 0a20 1124 clr r1 |
1665 |
1695 0a22 AA27 clr r26 |
1666 |
1696 0a24 97FD sbrc r25,7 |
1667 |
1697 0a26 A095 com r26 |
1668 |
1698 0a28 BA2F mov r27,r26 |
1669 |
1699 0a2a 480F add r20,r24 |
1670 |
1700 0a2c 591F adc r21,r25 |
1671 |
1701 0a2e 6A1F adc r22,r26 |
1672 |
1702 0a30 7B1F adc r23,r27 |
1673 |
1703 .LM112: |
1674 |
1704 0a32 D701 movw r26,r14 |
1675 |
1705 0a34 8D91 ld r24,X+ |
1676 |
1706 0a36 9D91 ld r25,X+ |
1677 |
1707 0a38 7D01 movw r14,r26 |
1678 |
1708 0a3a DC01 movw r26,r24 |
1679 |
1709 0a3c 2A9F mul r18,r26 |
1680 |
1710 0a3e C001 movw r24,r0 |
1681 |
1711 0a40 2B9F mul r18,r27 |
1682 |
1712 0a42 900D add r25,r0 |
1683 |
1713 0a44 3A9F mul r19,r26 |
1684 |
1714 0a46 900D add r25,r0 |
1685 |
1715 0a48 1124 clr r1 |
1686 |
1716 0a4a AA27 clr r26 |
1687 |
1717 0a4c 97FD sbrc r25,7 |
1688 |
1718 0a4e A095 com r26 |
1689 |
1719 0a50 BA2F mov r27,r26 |
1690 |
1720 0a52 A80E add r10,r24 |
1691 |
1721 0a54 B91E adc r11,r25 |
1692 |
1722 0a56 CA1E adc r12,r26 |
1693 |
1723 0a58 DB1E adc r13,r27 |
1694 |
1724 .LM113: |
1695 |
1725 0a5a E20F add r30,r18 |
1696 |
1726 0a5c F31F adc r31,r19 |
1697 |
1727 .LM114: |
1698 |
1728 0a5e 0615 cp r16,r6 |
1699 |
1729 0a60 1705 cpc r17,r7 |
1700 |
1730 0a62 01F4 brne .L161 |
1701 |
1731 .LM115: |
1702 |
1732 0a64 1E16 cp __zero_reg__,r30 |
1703 |
1733 0a66 1F06 cpc __zero_reg__,r31 |
1704 |
1734 0a68 04F0 brlt .L163 |
1705 |
1735 0a6a 8824 clr r8 |
1706 |
1736 0a6c 9924 clr r9 |
1707 |
1737 .LVL113: |
1708 |
1738 0a6e 20E0 ldi r18,lo8(0) |
1709 |
1739 0a70 30E0 ldi r19,hi8(0) |
1710 |
1740 .LVL114: |
1711 |
1741 0a72 00C0 rjmp .L165 |
1712 |
1742 .LVL115: |
1713 |
1743 .L163: |
1714 |
1744 .LM116: |
1715 |
1745 0a74 7F01 movw r14,r30 |
1716 |
1746 0a76 0027 clr r16 |
1717 |
1747 0a78 F7FC sbrc r15,7 |
1718 |
1748 0a7a 0095 com r16 |
1719 |
1749 0a7c 102F mov r17,r16 |
1720 |
1750 0a7e CB01 movw r24,r22 |
1721 |
1751 0a80 BA01 movw r22,r20 |
1722 |
1752 0a82 A801 movw r20,r16 |
1723 |
1753 0a84 9701 movw r18,r14 |
1724 |
1754 0a86 0E94 0000 call __divmodsi4 |
1725 |
1755 .LVL116: |
1726 |
1756 0a8a 4901 movw r8,r18 |
1727 |
1757 .LVL117: |
1728 |
1758 .LM117: |
1729 |
1759 0a8c C601 movw r24,r12 |
1730 |
1760 0a8e B501 movw r22,r10 |
1731 |
1761 0a90 A801 movw r20,r16 |
1732 |
1762 0a92 9701 movw r18,r14 |
1733 |
1763 0a94 0E94 0000 call __divmodsi4 |
1734 |
1764 .LVL118: |
1735 |
1765 .L165: |
1736 |
1766 .LM118: |
1737 |
1767 0a98 F201 movw r30,r4 |
1738 |
1768 .LVL119: |
1739 |
1769 0a9a 9182 std Z+1,r9 |
1740 |
1770 0a9c 8082 st Z,r8 |
1741 |
1771 .LM119: |
1742 |
1772 0a9e 3383 std Z+3,r19 |
1743 |
1773 0aa0 2283 std Z+2,r18 |
1744 |
1774 .LM120: |
1745 |
1775 0aa2 80E0 ldi r24,lo8(0) |
1746 |
1776 0aa4 90E0 ldi r25,hi8(0) |
1747 |
1777 /* epilogue: frame size=32 */ |
1748 |
1778 0aa6 A096 adiw r28,32 |
1749 |
1779 0aa8 0FB6 in __tmp_reg__,__SREG__ |
1750 |
1780 0aaa F894 cli |
1751 |
1781 0aac DEBF out __SP_H__,r29 |
1752 |
1782 0aae 0FBE out __SREG__,__tmp_reg__ |
1753 |
1783 0ab0 CDBF out __SP_L__,r28 |
1754 |
1784 0ab2 DF91 pop r29 |
1755 |
1785 0ab4 CF91 pop r28 |
1756 |
1786 0ab6 1F91 pop r17 |
1757 |
1787 0ab8 0F91 pop r16 |
1758 |
1788 0aba FF90 pop r15 |
1759 |
1789 0abc EF90 pop r14 |
1760 |
1790 0abe DF90 pop r13 |
1761 |
1791 0ac0 CF90 pop r12 |
1762 |
1792 0ac2 BF90 pop r11 |
1763 |
1793 0ac4 AF90 pop r10 |
1764 |
1794 0ac6 9F90 pop r9 |
1765 |
1795 0ac8 8F90 pop r8 |
1766 |
1796 0aca 7F90 pop r7 |
1767 |
1797 0acc 6F90 pop r6 |
1768 |
1798 0ace 5F90 pop r5 |
1769 |
1799 0ad0 4F90 pop r4 |
1770 |
1800 0ad2 0895 ret |
1771 |
1801 /* epilogue end (size=23) */ |
1772 |
1802 /* function bom_get_norm_vector size 207 (160) */ |
1773 |
1803 .LFE8: |
1774 |
1805 .global bom_get_vector |
1775 |
1807 bom_get_vector: |
1776 |
1808 .LFB7: |
1777 |
1809 .LM121: |
1778 |
1810 /* prologue: frame size=32 */ |
1779 |
1811 0ad4 6F92 push r6 |
1780 |
1812 0ad6 7F92 push r7 |
1781 |
1813 0ad8 8F92 push r8 |
1782 |
1814 0ada 9F92 push r9 |
1783 |
1815 0adc AF92 push r10 |
1784 |
1816 0ade BF92 push r11 |
1785 |
1817 0ae0 CF92 push r12 |
1786 |
1818 0ae2 DF92 push r13 |
1787 |
1819 0ae4 EF92 push r14 |
1788 |
1820 0ae6 FF92 push r15 |
1789 |
1821 0ae8 0F93 push r16 |
1790 |
1822 0aea 1F93 push r17 |
1791 |
1823 0aec CF93 push r28 |
1792 |
1824 0aee DF93 push r29 |
1793 |
1825 0af0 CDB7 in r28,__SP_L__ |
1794 |
1826 0af2 DEB7 in r29,__SP_H__ |
1795 |
1827 0af4 A097 sbiw r28,32 |
1796 |
1828 0af6 0FB6 in __tmp_reg__,__SREG__ |
1797 |
1829 0af8 F894 cli |
1798 |
1830 0afa DEBF out __SP_H__,r29 |
1799 |
1831 0afc 0FBE out __SREG__,__tmp_reg__ |
1800 |
1832 0afe CDBF out __SP_L__,r28 |
1801 |
1833 /* prologue end (size=22) */ |
1802 |
1834 .LVL120: |
1803 |
1835 0b00 3C01 movw r6,r24 |
1804 |
1836 .LM122: |
1805 |
1837 0b02 7E01 movw r14,r28 |
1806 |
1838 0b04 0894 sec |
1807 |
1839 0b06 E11C adc r14,__zero_reg__ |
1808 |
1840 0b08 F11C adc r15,__zero_reg__ |
1809 |
1841 0b0a 80E2 ldi r24,lo8(32) |
1810 |
1842 .LVL121: |
1811 |
1843 0b0c D701 movw r26,r14 |
1812 |
1844 0b0e 1D92 st X+,__zero_reg__ |
1813 |
1845 0b10 8A95 dec r24 |
1814 |
1846 0b12 01F4 brne .-6 |
1815 |
1847 .LM123: |
1816 |
1848 0b14 6115 cp r22,__zero_reg__ |
1817 |
1849 0b16 7105 cpc r23,__zero_reg__ |
1818 |
1850 0b18 01F0 breq .L172 |
1819 |
1851 0b1a 4FEF ldi r20,lo8(255) |
1820 |
1852 0b1c 50E0 ldi r21,hi8(255) |
1821 |
1853 0b1e D701 movw r26,r14 |
1822 |
1854 0b20 FB01 movw r30,r22 |
1823 |
1855 0b22 9B01 movw r18,r22 |
1824 |
1856 0b24 205E subi r18,lo8(-(32)) |
1825 |
1857 0b26 3F4F sbci r19,hi8(-(32)) |
1826 |
1858 .LVL122: |
1827 |
1859 .L174: |
1828 |
1860 .LM124: |
1829 |
1861 0b28 8191 ld r24,Z+ |
1830 |
1862 0b2a 9191 ld r25,Z+ |
1831 |
1863 0b2c BA01 movw r22,r20 |
1832 |
1864 0b2e 681B sub r22,r24 |
1833 |
1865 0b30 790B sbc r23,r25 |
1834 |
1866 0b32 6D93 st X+,r22 |
1835 |
1867 0b34 7D93 st X+,r23 |
1836 |
1868 .LM125: |
1837 |
1869 0b36 E217 cp r30,r18 |
1838 |
1870 0b38 F307 cpc r31,r19 |
1839 |
1871 0b3a 01F0 breq .L175 |
1840 |
1872 0b3c 00C0 rjmp .L174 |
1841 |
1873 .LVL123: |
1842 |
1874 .L172: |
1843 |
1875 .LM126: |
1844 |
1876 0b3e 8FEF ldi r24,lo8(-1) |
1845 |
1877 0b40 9FEF ldi r25,hi8(-1) |
1846 |
1878 0b42 0E94 0000 call bom_refresh |
1847 |
1879 .LVL124: |
1848 |
1880 0b46 00E0 ldi r16,lo8(0) |
1849 |
1881 0b48 10E0 ldi r17,hi8(0) |
1850 |
1882 .LVL125: |
1851 |
1883 .L176: |
1852 |
1884 .LM127: |
1853 |
1885 0b4a C801 movw r24,r16 |
1854 |
1886 0b4c 0E94 0000 call bom_get |
1855 |
1887 0b50 2FEF ldi r18,lo8(255) |
1856 |
1888 0b52 30E0 ldi r19,hi8(255) |
1857 |
1889 0b54 281B sub r18,r24 |
1858 |
1890 0b56 390B sbc r19,r25 |
1859 |
1891 0b58 D701 movw r26,r14 |
1860 |
1892 0b5a 2D93 st X+,r18 |
1861 |
1893 0b5c 3D93 st X+,r19 |
1862 |
1894 0b5e 7D01 movw r14,r26 |
1863 |
1895 .LM128: |
1864 |
1896 0b60 0F5F subi r16,lo8(-(1)) |
1865 |
1897 0b62 1F4F sbci r17,hi8(-(1)) |
1866 |
1898 0b64 0031 cpi r16,16 |
1867 |
1899 0b66 1105 cpc r17,__zero_reg__ |
1868 |
1900 0b68 01F4 brne .L176 |
1869 |
1901 .LVL126: |
1870 |
1902 .L175: |
1871 |
1903 0b6a EE24 clr r14 |
1872 |
1904 0b6c FF24 clr r15 |
1873 |
1905 0b6e 8701 movw r16,r14 |
1874 |
1906 .LVL127: |
1875 |
1907 0b70 40E0 ldi r20,lo8(0) |
1876 |
1908 0b72 50E0 ldi r21,hi8(0) |
1877 |
1909 0b74 60E0 ldi r22,hlo8(0) |
1878 |
1910 0b76 70E0 ldi r23,hhi8(0) |
1879 |
1911 .LVL128: |
1880 |
1912 0b78 FE01 movw r30,r28 |
1881 |
1913 .LVL129: |
1882 |
1914 0b7a 3196 adiw r30,1 |
1883 |
1915 0b7c 20E0 ldi r18,lo8(x_comp) |
1884 |
1916 0b7e A22E mov r10,r18 |
1885 |
1917 0b80 20E0 ldi r18,hi8(x_comp) |
1886 |
1918 0b82 B22E mov r11,r18 |
1887 |
1919 0b84 90E0 ldi r25,lo8(y_comp) |
1888 |
1920 0b86 C92E mov r12,r25 |
1889 |
1921 0b88 90E0 ldi r25,hi8(y_comp) |
1890 |
1922 0b8a D92E mov r13,r25 |
1891 |
1923 0b8c 81E2 ldi r24,lo8(33) |
1892 |
1924 0b8e 882E mov r8,r24 |
1893 |
1925 0b90 912C mov r9,__zero_reg__ |
1894 |
1926 0b92 8C0E add r8,r28 |
1895 |
1927 0b94 9D1E adc r9,r29 |
1896 |
1928 .L177: |
1897 |
1929 .LM129: |
1898 |
1930 0b96 2191 ld r18,Z+ |
1899 |
1931 0b98 3191 ld r19,Z+ |
1900 |
1932 .LM130: |
1901 |
1933 0b9a D501 movw r26,r10 |
1902 |
1934 0b9c 8D91 ld r24,X+ |
1903 |
1935 0b9e 9D91 ld r25,X+ |
1904 |
1936 0ba0 5D01 movw r10,r26 |
1905 |
1937 0ba2 DC01 movw r26,r24 |
1906 |
1938 0ba4 2A9F mul r18,r26 |
1907 |
1939 0ba6 C001 movw r24,r0 |
1908 |
1940 0ba8 2B9F mul r18,r27 |
1909 |
1941 0baa 900D add r25,r0 |
1910 |
1942 0bac 3A9F mul r19,r26 |
1911 |
1943 0bae 900D add r25,r0 |
1912 |
1944 0bb0 1124 clr r1 |
1913 |
1945 0bb2 AA27 clr r26 |
1914 |
1946 0bb4 97FD sbrc r25,7 |
1915 |
1947 0bb6 A095 com r26 |
1916 |
1948 0bb8 BA2F mov r27,r26 |
1917 |
1949 0bba E80E add r14,r24 |
1918 |
1950 0bbc F91E adc r15,r25 |
1919 |
1951 0bbe 0A1F adc r16,r26 |
1920 |
1952 0bc0 1B1F adc r17,r27 |
1921 |
1953 .LM131: |
1922 |
1954 0bc2 D601 movw r26,r12 |
1923 |
1955 0bc4 8D91 ld r24,X+ |
1924 |
1956 0bc6 9D91 ld r25,X+ |
1925 |
1957 0bc8 6D01 movw r12,r26 |
1926 |
1958 0bca DC01 movw r26,r24 |
1927 |
1959 0bcc 2A9F mul r18,r26 |
1928 |
1960 0bce C001 movw r24,r0 |
1929 |
1961 0bd0 2B9F mul r18,r27 |
1930 |
1962 0bd2 900D add r25,r0 |
1931 |
1963 0bd4 3A9F mul r19,r26 |
1932 |
1964 0bd6 900D add r25,r0 |
1933 |
1965 0bd8 1124 clr r1 |
1934 |
1966 0bda AA27 clr r26 |
1935 |
1967 0bdc 97FD sbrc r25,7 |
1936 |
1968 0bde A095 com r26 |
1937 |
1969 0be0 BA2F mov r27,r26 |
1938 |
1970 0be2 480F add r20,r24 |
1939 |
1971 0be4 591F adc r21,r25 |
1940 |
1972 0be6 6A1F adc r22,r26 |
1941 |
1973 0be8 7B1F adc r23,r27 |
1942 |
1974 .LM132: |
1943 |
1975 0bea E815 cp r30,r8 |
1944 |
1976 0bec F905 cpc r31,r9 |
1945 |
1977 0bee 01F4 brne .L177 |
1946 |
1978 .LM133: |
1947 |
1979 0bf0 F301 movw r30,r6 |
1948 |
1980 0bf2 F182 std Z+1,r15 |
1949 |
1981 0bf4 E082 st Z,r14 |
1950 |
1982 .LM134: |
1951 |
1983 0bf6 5383 std Z+3,r21 |
1952 |
1984 0bf8 4283 std Z+2,r20 |
1953 |
1985 .LM135: |
1954 |
1986 0bfa 80E0 ldi r24,lo8(0) |
1955 |
1987 0bfc 90E0 ldi r25,hi8(0) |
1956 |
1988 /* epilogue: frame size=32 */ |
1957 |
1989 0bfe A096 adiw r28,32 |
1958 |
1990 0c00 0FB6 in __tmp_reg__,__SREG__ |
1959 |
1991 0c02 F894 cli |
1960 |
1992 0c04 DEBF out __SP_H__,r29 |
1961 |
1993 0c06 0FBE out __SREG__,__tmp_reg__ |
1962 |
1994 0c08 CDBF out __SP_L__,r28 |
1963 |
1995 0c0a DF91 pop r29 |
1964 |
1996 0c0c CF91 pop r28 |
1965 |
1997 0c0e 1F91 pop r17 |
1966 |
1998 0c10 0F91 pop r16 |
1967 |
1999 0c12 FF90 pop r15 |
1968 |
2000 0c14 EF90 pop r14 |
1969 |
2001 0c16 DF90 pop r13 |
1970 |
2002 0c18 CF90 pop r12 |
1971 |
2003 0c1a BF90 pop r11 |
1972 |
2004 0c1c AF90 pop r10 |
1973 |
2005 0c1e 9F90 pop r9 |
1974 |
2006 0c20 8F90 pop r8 |
1975 |
2007 0c22 7F90 pop r7 |
1976 |
2008 0c24 6F90 pop r6 |
1977 |
2009 0c26 0895 ret |
1978 |
2010 /* epilogue end (size=21) */ |
1979 |
2011 /* function bom_get_vector size 170 (127) */ |
1980 |
2012 .LFE7: |
1981 |
2014 .lcomm bom_type,1 |
1982 |
2015 .data |
1983 |
2018 x_comp: |
1984 |
2019 0006 1900 .word 25 |
1985 |
2020 0008 1700 .word 23 |
1986 |
2021 000a 1100 .word 17 |
1987 |
2022 000c 0900 .word 9 |
1988 |
2023 000e 0000 .word 0 |
1989 |
2024 0010 F7FF .word -9 |
1990 |
2025 0012 EFFF .word -17 |
1991 |
2026 0014 E9FF .word -23 |
1992 |
2027 0016 E7FF .word -25 |
1993 |
2028 0018 E9FF .word -23 |
1994 |
2029 001a EFFF .word -17 |
1995 |
2030 001c F7FF .word -9 |
1996 |
2031 001e 0000 .word 0 |
1997 |
2032 0020 0900 .word 9 |
1998 |
2033 0022 1100 .word 17 |
1999 |
2034 0024 1700 .word 23 |
2000 |
2037 y_comp: |
2001 |
2038 0026 0000 .word 0 |
2002 |
2039 0028 0900 .word 9 |
2003 |
2040 002a 1100 .word 17 |
2004 |
2041 002c 1700 .word 23 |
2005 |
2042 002e 1900 .word 25 |
2006 |
2043 0030 1700 .word 23 |
2007 |
2044 0032 1100 .word 17 |
2008 |
2045 0034 0900 .word 9 |
2009 |
2046 0036 0000 .word 0 |
2010 |
2047 0038 F7FF .word -9 |
2011 |
2048 003a EFFF .word -17 |
2012 |
2049 003c E9FF .word -23 |
2013 |
2050 003e E7FF .word -25 |
2014 |
2051 0040 E9FF .word -23 |
2015 |
2052 0042 EFFF .word -17 |
2016 |
2053 0044 F7FF .word -9 |
2017 |
2056 lookup: |
2018 |
2057 0046 07 .byte 7 |
2019 |
2058 0047 06 .byte 6 |
2020 |
2059 0048 05 .byte 5 |
2021 |
2060 0049 0E .byte 14 |
2022 |
2061 004a 01 .byte 1 |
2023 |
2062 004b 04 .byte 4 |
2024 |
2063 004c 03 .byte 3 |
2025 |
2064 004d 02 .byte 2 |
2026 |
2065 004e 0F .byte 15 |
2027 |
2066 004f 00 .byte 0 |
2028 |
2067 0050 0D .byte 13 |
2029 |
2068 0051 08 .byte 8 |
2030 |
2069 0052 0C .byte 12 |
2031 |
2070 0053 0B .byte 11 |
2032 |
2071 0054 09 .byte 9 |
2033 |
2072 0055 0A .byte 10 |
2034 |
2073 .lcomm bom_val,32 |
2035 |
2074 .lcomm select_pins,8 |
2036 |
2075 .lcomm analog_pin,2 |
2037 |
2196 .Letext0: |
2038 |
DEFINED SYMBOLS |
2039 |
*ABS*:00000000 bom.c |
2040 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:3 *ABS*:0000003f __SREG__ |
2041 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:4 *ABS*:0000003e __SP_H__ |
2042 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:5 *ABS*:0000003d __SP_L__ |
2043 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:6 *ABS*:00000000 __tmp_reg__ |
2044 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:7 *ABS*:00000001 __zero_reg__ |
2045 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:19 .text:00000000 bom_select |
2046 |
.bss:00000000 bom_type |
2047 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:2056 .data:00000046 lookup |
2048 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:2073 .bss:00000021 select_pins |
2049 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:112 .text:00000088 bom_off |
2050 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:150 .text:000000b2 bom_on |
2051 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:188 .text:000000dc bom_set_leds |
2052 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:255 .text:00000138 bom_init |
2053 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:2074 .bss:00000029 analog_pin |
2054 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:342 .text:000001d4 bom_get |
2055 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:363 .text:000001e6 bom_get_max |
2056 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:428 .text:00000234 bom_get_max10 |
2057 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:1242 .text:0000077c bom_refresh |
2058 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:2014 .bss:00000001 bom_val |
2059 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:1335 .text:00000800 get_max_bom |
2060 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:1360 .text:0000080e bom_print_usb |
2061 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:1549 .text:00000936 bom_get_norm_vector |
2062 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:2018 .data:00000006 x_comp |
2063 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:2037 .data:00000026 y_comp |
2064 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc4wTiWS.s:1807 .text:00000ad4 bom_get_vector |
2065 |
|
2066 |
UNDEFINED SYMBOLS |
2067 |
__do_copy_data |
2068 |
__do_clear_bss |
2069 |
digital_output |
2070 |
analog_get8 |
2071 |
__divmodhi4 |
2072 |
__divdi3 |
2073 |
__ashldi3 |
2074 |
__moddi3 |
2075 |
analog_loop_status |
2076 |
analog_stop_loop |
2077 |
analog_start_loop |
2078 |
usb_puti |
2079 |
usb_puts |
2080 |
usb_putc |
2081 |
__divmodsi4 |