Statistics
| Revision:

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