Project

General

Profile

Statistics
| Revision:

root / demos / john / projects / libdragonfly / lights.lst @ 1693

History | View | Annotate | Download (61.1 KB)

1
   1               		.file	"lights.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               	output_compare:
12
  20               	.LFB12:
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 0004 2091 0000 		lds r18,pwm_read_buffer
19
  27 0008 3091 0000 		lds r19,(pwm_read_buffer)+1
20
  28               	.L14:
21
  29               	.LBB58:
22
  30               	.LM2:
23
  31 000c E091 0000 		lds r30,current_pwm_channel
24
  32 0010 AE2F      		mov r26,r30
25
  33 0012 BB27      		clr r27
26
  34               	.LM3:
27
  35 0014 92B7      		in r25,82-0x20
28
  36 0016 AA0F      		lsl r26
29
  37 0018 BB1F      		rol r27
30
  38 001a A20F      		add r26,r18
31
  39 001c B31F      		adc r27,r19
32
  40 001e ED01      		movw r28,r26
33
  41 0020 8981      		ldd r24,Y+1
34
  42 0022 8F5F      		subi r24,lo8(-(1))
35
  43 0024 9817      		cp r25,r24
36
  44 0026 00F0      		brlo .L8
37
  45               	.LM4:
38
  46 0028 85B3      		in r24,53-0x20
39
  47 002a 9A81      		ldd r25,Y+2
40
  48 002c 892B      		or r24,r25
41
  49 002e 85BB      		out 53-0x20,r24
42
  50               	.LM5:
43
  51 0030 E530      		cpi r30,lo8(5)
44
  52 0032 01F0      		breq .L8
45
  53               	.LM6:
46
  54 0034 EF5F      		subi r30,lo8(-(1))
47
  55 0036 E093 0000 		sts current_pwm_channel,r30
48
  56               	.LM7:
49
  57 003a FF27      		clr r31
50
  58 003c EE0F      		lsl r30
51
  59 003e FF1F      		rol r31
52
  60 0040 E20F      		add r30,r18
53
  61 0042 F31F      		adc r31,r19
54
  62 0044 E181      		ldd r30,Z+1
55
  63 0046 EF3F      		cpi r30,lo8(-1)
56
  64 0048 01F0      		breq .L14
57
  65               	.LM8:
58
  66 004a E1BF      		out 81-0x20,r30
59
  67 004c 00C0      		rjmp .L14
60
  68               	.L8:
61
  69               	.LBE58:
62
  70               	/* epilogue: frame size=0 */
63
  71 004e DF91      		pop r29
64
  72 0050 CF91      		pop r28
65
  73 0052 0895      		ret
66
  74               	/* epilogue end (size=3) */
67
  75               	/* function output_compare size 42 (37) */
68
  76               	.LFE12:
69
  78               	.global	__vector_16
70
  80               	__vector_16:
71
  81               	.LFB13:
72
  82               	.LM9:
73
  83               	/* prologue: frame size=0 */
74
  84 0054 1F92      		push __zero_reg__
75
  85 0056 0F92      		push __tmp_reg__
76
  86 0058 0FB6      		in __tmp_reg__,__SREG__
77
  87 005a 0F92      		push __tmp_reg__
78
  88 005c 1124      		clr __zero_reg__
79
  89 005e 2F93      		push r18
80
  90 0060 3F93      		push r19
81
  91 0062 4F93      		push r20
82
  92 0064 5F93      		push r21
83
  93 0066 6F93      		push r22
84
  94 0068 7F93      		push r23
85
  95 006a 8F93      		push r24
86
  96 006c 9F93      		push r25
87
  97 006e AF93      		push r26
88
  98 0070 BF93      		push r27
89
  99 0072 EF93      		push r30
90
 100 0074 FF93      		push r31
91
 101               	/* prologue end (size=17) */
92
 102               	.LM10:
93
 103 0076 8091 0000 		lds r24,pwm_page_flip
94
 104 007a 8823      		tst r24
95
 105 007c 01F0      		breq .L16
96
 106               	.LBB59:
97
 107               	.LM11:
98
 108 007e 2091 0000 		lds r18,pwm_read_buffer
99
 109 0082 3091 0000 		lds r19,(pwm_read_buffer)+1
100
 110               	.LVL0:
101
 111               	.LM12:
102
 112 0086 8091 0000 		lds r24,pwm_free_buffer
103
 113 008a 9091 0000 		lds r25,(pwm_free_buffer)+1
104
 114 008e 9093 0000 		sts (pwm_read_buffer)+1,r25
105
 115 0092 8093 0000 		sts pwm_read_buffer,r24
106
 116               	.LM13:
107
 117 0096 3093 0000 		sts (pwm_free_buffer)+1,r19
108
 118 009a 2093 0000 		sts pwm_free_buffer,r18
109
 119               	.LM14:
110
 120 009e 1092 0000 		sts pwm_page_flip,__zero_reg__
111
 121               	.L16:
112
 122               	.LBE59:
113
 123               	.LM15:
114
 124 00a2 85B3      		in r24,53-0x20
115
 125 00a4 8767      		ori r24,lo8(119)
116
 126 00a6 85BB      		out 53-0x20,r24
117
 127               	.LM16:
118
 128 00a8 85B3      		in r24,53-0x20
119
 129 00aa E091 0000 		lds r30,pwm_read_buffer
120
 130 00ae F091 0000 		lds r31,(pwm_read_buffer)+1
121
 131 00b2 9081      		ld r25,Z
122
 132 00b4 8923      		and r24,r25
123
 133 00b6 85BB      		out 53-0x20,r24
124
 134               	.LM17:
125
 135 00b8 1092 0000 		sts current_pwm_channel,__zero_reg__
126
 136               	.LM18:
127
 137 00bc 8181      		ldd r24,Z+1
128
 138 00be 81BF      		out 81-0x20,r24
129
 139               	.LM19:
130
 140 00c0 0E94 0000 		call output_compare
131
 141               	.LVL1:
132
 142               	/* epilogue: frame size=0 */
133
 143 00c4 FF91      		pop r31
134
 144 00c6 EF91      		pop r30
135
 145 00c8 BF91      		pop r27
136
 146 00ca AF91      		pop r26
137
 147 00cc 9F91      		pop r25
138
 148 00ce 8F91      		pop r24
139
 149 00d0 7F91      		pop r23
140
 150 00d2 6F91      		pop r22
141
 151 00d4 5F91      		pop r21
142
 152 00d6 4F91      		pop r20
143
 153 00d8 3F91      		pop r19
144
 154 00da 2F91      		pop r18
145
 155 00dc 0F90      		pop __tmp_reg__
146
 156 00de 0FBE      		out __SREG__,__tmp_reg__
147
 157 00e0 0F90      		pop __tmp_reg__
148
 158 00e2 1F90      		pop __zero_reg__
149
 159 00e4 1895      		reti
150
 160               	/* epilogue end (size=17) */
151
 161               	/* function __vector_16 size 73 (39) */
152
 162               	.LFE13:
153
 164               	.global	__vector_15
154
 166               	__vector_15:
155
 167               	.LFB14:
156
 168               	.LM20:
157
 169               	/* prologue: frame size=0 */
158
 170 00e6 1F92      		push __zero_reg__
159
 171 00e8 0F92      		push __tmp_reg__
160
 172 00ea 0FB6      		in __tmp_reg__,__SREG__
161
 173 00ec 0F92      		push __tmp_reg__
162
 174 00ee 1124      		clr __zero_reg__
163
 175 00f0 2F93      		push r18
164
 176 00f2 3F93      		push r19
165
 177 00f4 4F93      		push r20
166
 178 00f6 5F93      		push r21
167
 179 00f8 6F93      		push r22
168
 180 00fa 7F93      		push r23
169
 181 00fc 8F93      		push r24
170
 182 00fe 9F93      		push r25
171
 183 0100 AF93      		push r26
172
 184 0102 BF93      		push r27
173
 185 0104 EF93      		push r30
174
 186 0106 FF93      		push r31
175
 187               	/* prologue end (size=17) */
176
 188               	.LM21:
177
 189 0108 0E94 0000 		call output_compare
178
 190               	/* epilogue: frame size=0 */
179
 191 010c FF91      		pop r31
180
 192 010e EF91      		pop r30
181
 193 0110 BF91      		pop r27
182
 194 0112 AF91      		pop r26
183
 195 0114 9F91      		pop r25
184
 196 0116 8F91      		pop r24
185
 197 0118 7F91      		pop r23
186
 198 011a 6F91      		pop r22
187
 199 011c 5F91      		pop r21
188
 200 011e 4F91      		pop r20
189
 201 0120 3F91      		pop r19
190
 202 0122 2F91      		pop r18
191
 203 0124 0F90      		pop __tmp_reg__
192
 204 0126 0FBE      		out __SREG__,__tmp_reg__
193
 205 0128 0F90      		pop __tmp_reg__
194
 206 012a 1F90      		pop __zero_reg__
195
 207 012c 1895      		reti
196
 208               	/* epilogue end (size=17) */
197
 209               	/* function __vector_15 size 36 (2) */
198
 210               	.LFE14:
199
 213               	apply_orbs:
200
 214               	.LFB17:
201
 215               	.LM22:
202
 216               	/* prologue: frame size=0 */
203
 217 012e EF92      		push r14
204
 218 0130 FF92      		push r15
205
 219 0132 1F93      		push r17
206
 220 0134 CF93      		push r28
207
 221 0136 DF93      		push r29
208
 222               	/* prologue end (size=5) */
209
 223               	.LM23:
210
 224 0138 8091 0000 		lds r24,enable_orb_pwm
211
 225 013c 8823      		tst r24
212
 226 013e 01F4      		brne .+2
213
 227 0140 00C0      		rjmp .L22
214
 228               	.LM24:
215
 229 0142 E091 0000 		lds r30,pwm_write_buffer
216
 230 0146 F091 0000 		lds r31,(pwm_write_buffer)+1
217
 231 014a 8FEF      		ldi r24,lo8(-1)
218
 232 014c 8083      		st Z,r24
219
 233               	.LBB77:
220
 234               	.LBB78:
221
 235               	.LM25:
222
 236 014e 9091 0000 		lds r25,orb_values
223
 237               	.LVL2:
224
 238 0152 E091 0000 		lds r30,pwm_write_buffer
225
 239 0156 F091 0000 		lds r31,(pwm_write_buffer)+1
226
 240 015a 9150      		subi r25,lo8(-(-1))
227
 241 015c 9183      		std Z+1,r25
228
 242 015e 9F5F      		subi r25,lo8(-(1))
229
 243 0160 E091 0000 		lds r30,pwm_write_buffer
230
 244 0164 F091 0000 		lds r31,(pwm_write_buffer)+1
231
 245 0168 81E0      		ldi r24,lo8(1)
232
 246 016a 8283      		std Z+2,r24
233
 247 016c 9923      		tst r25
234
 248 016e 01F0      		breq .L24
235
 249 0170 E091 0000 		lds r30,pwm_write_buffer
236
 250 0174 F091 0000 		lds r31,(pwm_write_buffer)+1
237
 251 0178 8081      		ld r24,Z
238
 252 017a 8E7F      		andi r24,lo8(-2)
239
 253 017c 8083      		st Z,r24
240
 254               	.L24:
241
 255 017e 9091 0000 		lds r25,orb_values+1
242
 256               	.LVL3:
243
 257 0182 E091 0000 		lds r30,pwm_write_buffer
244
 258 0186 F091 0000 		lds r31,(pwm_write_buffer)+1
245
 259 018a 9150      		subi r25,lo8(-(-1))
246
 260 018c 9383      		std Z+3,r25
247
 261 018e 9F5F      		subi r25,lo8(-(1))
248
 262 0190 E091 0000 		lds r30,pwm_write_buffer
249
 263 0194 F091 0000 		lds r31,(pwm_write_buffer)+1
250
 264 0198 82E0      		ldi r24,lo8(2)
251
 265 019a 8483      		std Z+4,r24
252
 266 019c 9923      		tst r25
253
 267 019e 01F0      		breq .L26
254
 268 01a0 E091 0000 		lds r30,pwm_write_buffer
255
 269 01a4 F091 0000 		lds r31,(pwm_write_buffer)+1
256
 270 01a8 8081      		ld r24,Z
257
 271 01aa 8D7F      		andi r24,lo8(-3)
258
 272 01ac 8083      		st Z,r24
259
 273               	.L26:
260
 274 01ae 9091 0000 		lds r25,orb_values+2
261
 275               	.LVL4:
262
 276 01b2 E091 0000 		lds r30,pwm_write_buffer
263
 277 01b6 F091 0000 		lds r31,(pwm_write_buffer)+1
264
 278 01ba 9150      		subi r25,lo8(-(-1))
265
 279 01bc 9583      		std Z+5,r25
266
 280 01be 9F5F      		subi r25,lo8(-(1))
267
 281 01c0 E091 0000 		lds r30,pwm_write_buffer
268
 282 01c4 F091 0000 		lds r31,(pwm_write_buffer)+1
269
 283 01c8 84E0      		ldi r24,lo8(4)
270
 284 01ca 8683      		std Z+6,r24
271
 285 01cc 9923      		tst r25
272
 286 01ce 01F0      		breq .L28
273
 287 01d0 E091 0000 		lds r30,pwm_write_buffer
274
 288 01d4 F091 0000 		lds r31,(pwm_write_buffer)+1
275
 289 01d8 8081      		ld r24,Z
276
 290 01da 8B7F      		andi r24,lo8(-5)
277
 291 01dc 8083      		st Z,r24
278
 292               	.L28:
279
 293               	.LM26:
280
 294 01de 9091 0000 		lds r25,orb_values+3
281
 295               	.LVL5:
282
 296 01e2 E091 0000 		lds r30,pwm_write_buffer
283
 297 01e6 F091 0000 		lds r31,(pwm_write_buffer)+1
284
 298 01ea 9150      		subi r25,lo8(-(-1))
285
 299 01ec 9783      		std Z+7,r25
286
 300 01ee 9F5F      		subi r25,lo8(-(1))
287
 301 01f0 E091 0000 		lds r30,pwm_write_buffer
288
 302 01f4 F091 0000 		lds r31,(pwm_write_buffer)+1
289
 303 01f8 80E1      		ldi r24,lo8(16)
290
 304 01fa 8087      		std Z+8,r24
291
 305 01fc 9923      		tst r25
292
 306 01fe 01F0      		breq .L30
293
 307 0200 E091 0000 		lds r30,pwm_write_buffer
294
 308 0204 F091 0000 		lds r31,(pwm_write_buffer)+1
295
 309 0208 8081      		ld r24,Z
296
 310 020a 8F7E      		andi r24,lo8(-17)
297
 311 020c 8083      		st Z,r24
298
 312               	.L30:
299
 313 020e 9091 0000 		lds r25,orb_values+4
300
 314               	.LVL6:
301
 315 0212 E091 0000 		lds r30,pwm_write_buffer
302
 316 0216 F091 0000 		lds r31,(pwm_write_buffer)+1
303
 317 021a 9150      		subi r25,lo8(-(-1))
304
 318 021c 9187      		std Z+9,r25
305
 319 021e 9F5F      		subi r25,lo8(-(1))
306
 320 0220 E091 0000 		lds r30,pwm_write_buffer
307
 321 0224 F091 0000 		lds r31,(pwm_write_buffer)+1
308
 322 0228 80E2      		ldi r24,lo8(32)
309
 323 022a 8287      		std Z+10,r24
310
 324 022c 9923      		tst r25
311
 325 022e 01F0      		breq .L32
312
 326 0230 E091 0000 		lds r30,pwm_write_buffer
313
 327 0234 F091 0000 		lds r31,(pwm_write_buffer)+1
314
 328 0238 8081      		ld r24,Z
315
 329 023a 8F7D      		andi r24,lo8(-33)
316
 330 023c 8083      		st Z,r24
317
 331               	.L32:
318
 332 023e 9091 0000 		lds r25,orb_values+5
319
 333               	.LVL7:
320
 334 0242 E091 0000 		lds r30,pwm_write_buffer
321
 335 0246 F091 0000 		lds r31,(pwm_write_buffer)+1
322
 336 024a 9150      		subi r25,lo8(-(-1))
323
 337 024c 9387      		std Z+11,r25
324
 338 024e 9F5F      		subi r25,lo8(-(1))
325
 339 0250 E091 0000 		lds r30,pwm_write_buffer
326
 340 0254 F091 0000 		lds r31,(pwm_write_buffer)+1
327
 341 0258 80E4      		ldi r24,lo8(64)
328
 342 025a 8487      		std Z+12,r24
329
 343 025c 9923      		tst r25
330
 344 025e 01F0      		breq .L34
331
 345 0260 E091 0000 		lds r30,pwm_write_buffer
332
 346 0264 F091 0000 		lds r31,(pwm_write_buffer)+1
333
 347 0268 8081      		ld r24,Z
334
 348 026a 8F7B      		andi r24,lo8(-65)
335
 349 026c 8083      		st Z,r24
336
 350               	.L34:
337
 351               	.LBE78:
338
 352               	.LBE77:
339
 353               	.LBB79:
340
 354               	.LBB80:
341
 355               	.LM27:
342
 356 026e E091 0000 		lds r30,pwm_write_buffer
343
 357 0272 F091 0000 		lds r31,(pwm_write_buffer)+1
344
 358 0276 AF01      		movw r20,r30
345
 359               	.LVL8:
346
 360 0278 4F5F      		subi r20,lo8(-(1))
347
 361 027a 5F4F      		sbci r21,hi8(-(1))
348
 362               	.LM28:
349
 363 027c DF01      		movw r26,r30
350
 364               	.LVL9:
351
 365 027e 1396      		adiw r26,3
352
 366               	.LM29:
353
 367 0280 9181      		ldd r25,Z+1
354
 368               	.LVL10:
355
 369 0282 8381      		ldd r24,Z+3
356
 370 0284 8917      		cp r24,r25
357
 371 0286 00F0      		brlo .L36
358
 372 0288 11E0      		ldi r17,lo8(1)
359
 373               	.LVL11:
360
 374 028a 00C0      		rjmp .L38
361
 375               	.LVL12:
362
 376               	.L36:
363
 377 028c 8183      		std Z+1,r24
364
 378 028e 9383      		std Z+3,r25
365
 379 0290 EA01      		movw r28,r20
366
 380 0292 9981      		ldd r25,Y+1
367
 381               	.LVL13:
368
 382 0294 FD01      		movw r30,r26
369
 383 0296 8181      		ldd r24,Z+1
370
 384 0298 8983      		std Y+1,r24
371
 385 029a 9183      		std Z+1,r25
372
 386 029c 10E0      		ldi r17,lo8(0)
373
 387               	.LVL14:
374
 388               	.L38:
375
 389 029e FD01      		movw r30,r26
376
 390               	.LVL15:
377
 391 02a0 3296      		adiw r30,2
378
 392 02a2 9C91      		ld r25,X
379
 393               	.LVL16:
380
 394 02a4 ED01      		movw r28,r26
381
 395 02a6 8A81      		ldd r24,Y+2
382
 396 02a8 8917      		cp r24,r25
383
 397 02aa 00F4      		brsh .L39
384
 398 02ac 8C93      		st X,r24
385
 399 02ae 9A83      		std Y+2,r25
386
 400 02b0 9981      		ldd r25,Y+1
387
 401               	.LVL17:
388
 402 02b2 8181      		ldd r24,Z+1
389
 403 02b4 8983      		std Y+1,r24
390
 404 02b6 9183      		std Z+1,r25
391
 405 02b8 10E0      		ldi r17,lo8(0)
392
 406               	.L39:
393
 407 02ba 62E0      		ldi r22,lo8(2)
394
 408 02bc E62E      		mov r14,r22
395
 409 02be F12C      		mov r15,__zero_reg__
396
 410               	.LVL18:
397
 411 02c0 EE0E      		add r14,r30
398
 412 02c2 FF1E      		adc r15,r31
399
 413 02c4 ED01      		movw r28,r26
400
 414 02c6 9A81      		ldd r25,Y+2
401
 415               	.LVL19:
402
 416 02c8 8281      		ldd r24,Z+2
403
 417 02ca 8917      		cp r24,r25
404
 418 02cc 00F4      		brsh .L41
405
 419 02ce 8A83      		std Y+2,r24
406
 420 02d0 9283      		std Z+2,r25
407
 421 02d2 9181      		ldd r25,Z+1
408
 422               	.LVL20:
409
 423 02d4 E701      		movw r28,r14
410
 424 02d6 8981      		ldd r24,Y+1
411
 425 02d8 8183      		std Z+1,r24
412
 426 02da 9983      		std Y+1,r25
413
 427 02dc 10E0      		ldi r17,lo8(0)
414
 428               	.L41:
415
 429 02de 9701      		movw r18,r14
416
 430               	.LVL21:
417
 431 02e0 2E5F      		subi r18,lo8(-(2))
418
 432 02e2 3F4F      		sbci r19,hi8(-(2))
419
 433 02e4 9281      		ldd r25,Z+2
420
 434               	.LVL22:
421
 435 02e6 E701      		movw r28,r14
422
 436 02e8 8A81      		ldd r24,Y+2
423
 437 02ea 8917      		cp r24,r25
424
 438 02ec 00F4      		brsh .L43
425
 439 02ee 8283      		std Z+2,r24
426
 440 02f0 9A83      		std Y+2,r25
427
 441 02f2 9981      		ldd r25,Y+1
428
 442               	.LVL23:
429
 443 02f4 E901      		movw r28,r18
430
 444 02f6 8981      		ldd r24,Y+1
431
 445 02f8 E701      		movw r28,r14
432
 446 02fa 8983      		std Y+1,r24
433
 447 02fc E901      		movw r28,r18
434
 448 02fe 9983      		std Y+1,r25
435
 449 0300 10E0      		ldi r17,lo8(0)
436
 450               	.L43:
437
 451 0302 B901      		movw r22,r18
438
 452               	.LVL24:
439
 453 0304 6E5F      		subi r22,lo8(-(2))
440
 454 0306 7F4F      		sbci r23,hi8(-(2))
441
 455 0308 E701      		movw r28,r14
442
 456 030a 9A81      		ldd r25,Y+2
443
 457               	.LVL25:
444
 458 030c E901      		movw r28,r18
445
 459 030e 8A81      		ldd r24,Y+2
446
 460 0310 8917      		cp r24,r25
447
 461 0312 00F4      		brsh .L45
448
 462 0314 E701      		movw r28,r14
449
 463 0316 8A83      		std Y+2,r24
450
 464 0318 E901      		movw r28,r18
451
 465 031a 9A83      		std Y+2,r25
452
 466 031c 9981      		ldd r25,Y+1
453
 467               	.LVL26:
454
 468 031e EB01      		movw r28,r22
455
 469 0320 8981      		ldd r24,Y+1
456
 470 0322 E901      		movw r28,r18
457
 471 0324 8983      		std Y+1,r24
458
 472 0326 EB01      		movw r28,r22
459
 473 0328 9983      		std Y+1,r25
460
 474 032a 00C0      		rjmp .L47
461
 475               	.LVL27:
462
 476               	.L45:
463
 477               	.LM30:
464
 478 032c 1123      		tst r17
465
 479 032e 01F0      		breq .+2
466
 480 0330 00C0      		rjmp .L48
467
 481               	.LVL28:
468
 482               	.L47:
469
 483               	.LM31:
470
 484 0332 EA01      		movw r28,r20
471
 485 0334 9881      		ld r25,Y
472
 486               	.LVL29:
473
 487 0336 8C91      		ld r24,X
474
 488 0338 8917      		cp r24,r25
475
 489 033a 00F0      		brlo .L49
476
 490 033c 61E0      		ldi r22,lo8(1)
477
 491               	.LVL30:
478
 492 033e 00C0      		rjmp .L51
479
 493               	.LVL31:
480
 494               	.L49:
481
 495 0340 EA01      		movw r28,r20
482
 496 0342 8883      		st Y,r24
483
 497 0344 9C93      		st X,r25
484
 498 0346 9981      		ldd r25,Y+1
485
 499               	.LVL32:
486
 500 0348 ED01      		movw r28,r26
487
 501 034a 8981      		ldd r24,Y+1
488
 502 034c EA01      		movw r28,r20
489
 503 034e 8983      		std Y+1,r24
490
 504 0350 ED01      		movw r28,r26
491
 505 0352 9983      		std Y+1,r25
492
 506 0354 60E0      		ldi r22,lo8(0)
493
 507               	.LVL33:
494
 508               	.L51:
495
 509 0356 9C91      		ld r25,X
496
 510               	.LVL34:
497
 511 0358 8081      		ld r24,Z
498
 512 035a 8917      		cp r24,r25
499
 513 035c 00F4      		brsh .L52
500
 514 035e 8C93      		st X,r24
501
 515 0360 9083      		st Z,r25
502
 516 0362 ED01      		movw r28,r26
503
 517 0364 9981      		ldd r25,Y+1
504
 518               	.LVL35:
505
 519 0366 8181      		ldd r24,Z+1
506
 520 0368 8983      		std Y+1,r24
507
 521 036a 9183      		std Z+1,r25
508
 522 036c 60E0      		ldi r22,lo8(0)
509
 523               	.L52:
510
 524 036e 9081      		ld r25,Z
511
 525               	.LVL36:
512
 526 0370 E701      		movw r28,r14
513
 527 0372 8881      		ld r24,Y
514
 528 0374 8917      		cp r24,r25
515
 529 0376 00F4      		brsh .L54
516
 530 0378 8083      		st Z,r24
517
 531 037a 9883      		st Y,r25
518
 532 037c 9181      		ldd r25,Z+1
519
 533               	.LVL37:
520
 534 037e 8981      		ldd r24,Y+1
521
 535 0380 8183      		std Z+1,r24
522
 536 0382 9983      		std Y+1,r25
523
 537 0384 60E0      		ldi r22,lo8(0)
524
 538               	.L54:
525
 539 0386 E701      		movw r28,r14
526
 540 0388 9881      		ld r25,Y
527
 541               	.LVL38:
528
 542 038a E901      		movw r28,r18
529
 543 038c 8881      		ld r24,Y
530
 544 038e 8917      		cp r24,r25
531
 545 0390 00F4      		brsh .L56
532
 546 0392 E701      		movw r28,r14
533
 547 0394 8883      		st Y,r24
534
 548 0396 E901      		movw r28,r18
535
 549 0398 9883      		st Y,r25
536
 550 039a E701      		movw r28,r14
537
 551 039c 9981      		ldd r25,Y+1
538
 552               	.LVL39:
539
 553 039e E901      		movw r28,r18
540
 554 03a0 8981      		ldd r24,Y+1
541
 555 03a2 E701      		movw r28,r14
542
 556 03a4 8983      		std Y+1,r24
543
 557 03a6 E901      		movw r28,r18
544
 558 03a8 9983      		std Y+1,r25
545
 559 03aa 00C0      		rjmp .L58
546
 560               	.LVL40:
547
 561               	.L56:
548
 562               	.LM32:
549
 563 03ac 6623      		tst r22
550
 564 03ae 01F0      		breq .+2
551
 565 03b0 00C0      		rjmp .L48
552
 566               	.LVL41:
553
 567               	.L58:
554
 568               	.LM33:
555
 569 03b2 EA01      		movw r28,r20
556
 570 03b4 9881      		ld r25,Y
557
 571               	.LVL42:
558
 572 03b6 8C91      		ld r24,X
559
 573 03b8 8917      		cp r24,r25
560
 574 03ba 00F0      		brlo .L59
561
 575 03bc 21E0      		ldi r18,lo8(1)
562
 576               	.LVL43:
563
 577 03be 00C0      		rjmp .L61
564
 578               	.LVL44:
565
 579               	.L59:
566
 580 03c0 EA01      		movw r28,r20
567
 581 03c2 8883      		st Y,r24
568
 582 03c4 9C93      		st X,r25
569
 583 03c6 9981      		ldd r25,Y+1
570
 584               	.LVL45:
571
 585 03c8 ED01      		movw r28,r26
572
 586 03ca 8981      		ldd r24,Y+1
573
 587 03cc EA01      		movw r28,r20
574
 588 03ce 8983      		std Y+1,r24
575
 589 03d0 ED01      		movw r28,r26
576
 590 03d2 9983      		std Y+1,r25
577
 591 03d4 20E0      		ldi r18,lo8(0)
578
 592               	.LVL46:
579
 593               	.L61:
580
 594 03d6 9C91      		ld r25,X
581
 595               	.LVL47:
582
 596 03d8 8081      		ld r24,Z
583
 597 03da 8917      		cp r24,r25
584
 598 03dc 00F4      		brsh .L62
585
 599 03de 8C93      		st X,r24
586
 600 03e0 9083      		st Z,r25
587
 601 03e2 ED01      		movw r28,r26
588
 602 03e4 9981      		ldd r25,Y+1
589
 603               	.LVL48:
590
 604 03e6 8181      		ldd r24,Z+1
591
 605 03e8 8983      		std Y+1,r24
592
 606 03ea 9183      		std Z+1,r25
593
 607 03ec 20E0      		ldi r18,lo8(0)
594
 608               	.L62:
595
 609 03ee 9081      		ld r25,Z
596
 610               	.LVL49:
597
 611 03f0 E701      		movw r28,r14
598
 612 03f2 8881      		ld r24,Y
599
 613 03f4 8917      		cp r24,r25
600
 614 03f6 00F4      		brsh .L64
601
 615 03f8 8083      		st Z,r24
602
 616 03fa 9883      		st Y,r25
603
 617 03fc 9181      		ldd r25,Z+1
604
 618               	.LVL50:
605
 619 03fe 8981      		ldd r24,Y+1
606
 620 0400 8183      		std Z+1,r24
607
 621 0402 9983      		std Y+1,r25
608
 622 0404 00C0      		rjmp .L66
609
 623               	.LVL51:
610
 624               	.L64:
611
 625               	.LM34:
612
 626 0406 2223      		tst r18
613
 627 0408 01F4      		brne .L48
614
 628               	.LVL52:
615
 629               	.L66:
616
 630               	.LM35:
617
 631 040a EA01      		movw r28,r20
618
 632 040c 9881      		ld r25,Y
619
 633               	.LVL53:
620
 634 040e 8C91      		ld r24,X
621
 635 0410 8917      		cp r24,r25
622
 636 0412 00F0      		brlo .L67
623
 637 0414 21E0      		ldi r18,lo8(1)
624
 638               	.LVL54:
625
 639 0416 00C0      		rjmp .L69
626
 640               	.LVL55:
627
 641               	.L67:
628
 642 0418 EA01      		movw r28,r20
629
 643 041a 8883      		st Y,r24
630
 644 041c 9C93      		st X,r25
631
 645 041e 9981      		ldd r25,Y+1
632
 646               	.LVL56:
633
 647 0420 ED01      		movw r28,r26
634
 648 0422 8981      		ldd r24,Y+1
635
 649 0424 EA01      		movw r28,r20
636
 650 0426 8983      		std Y+1,r24
637
 651 0428 ED01      		movw r28,r26
638
 652 042a 9983      		std Y+1,r25
639
 653 042c 20E0      		ldi r18,lo8(0)
640
 654               	.LVL57:
641
 655               	.L69:
642
 656 042e 9C91      		ld r25,X
643
 657               	.LVL58:
644
 658 0430 8081      		ld r24,Z
645
 659 0432 8917      		cp r24,r25
646
 660 0434 00F4      		brsh .L70
647
 661 0436 8C93      		st X,r24
648
 662 0438 9083      		st Z,r25
649
 663 043a ED01      		movw r28,r26
650
 664 043c 9981      		ldd r25,Y+1
651
 665               	.LVL59:
652
 666 043e 8181      		ldd r24,Z+1
653
 667 0440 8983      		std Y+1,r24
654
 668 0442 9183      		std Z+1,r25
655
 669 0444 00C0      		rjmp .L72
656
 670               	.LVL60:
657
 671               	.L70:
658
 672               	.LM36:
659
 673 0446 2223      		tst r18
660
 674 0448 01F4      		brne .L48
661
 675               	.LVL61:
662
 676               	.L72:
663
 677               	.LM37:
664
 678 044a FA01      		movw r30,r20
665
 679               	.LVL62:
666
 680 044c 9081      		ld r25,Z
667
 681               	.LVL63:
668
 682 044e 8C91      		ld r24,X
669
 683 0450 8917      		cp r24,r25
670
 684 0452 00F4      		brsh .L48
671
 685 0454 8083      		st Z,r24
672
 686 0456 9C93      		st X,r25
673
 687 0458 9181      		ldd r25,Z+1
674
 688               	.LVL64:
675
 689 045a ED01      		movw r28,r26
676
 690 045c 8981      		ldd r24,Y+1
677
 691 045e 8183      		std Z+1,r24
678
 692 0460 9983      		std Y+1,r25
679
 693               	.LVL65:
680
 694               	.L48:
681
 695               	.LBE80:
682
 696               	.LBE79:
683
 697               	.LBB81:
684
 698               	.LM38:
685
 699 0462 4FB7      		in r20,95-0x20
686
 700               	.LVL66:
687
 701               	.LBB82:
688
 702               	.LBB83:
689
 703               	.LM39:
690
 704               	/* #APP */
691
 705 0464 F894      		cli
692
 706               	/* #NOAPP */
693
 707               	.LBE83:
694
 708               	.LBE82:
695
 709               	.LBB84:
696
 710               	.LM40:
697
 711 0466 2091 0000 		lds r18,pwm_write_buffer
698
 712 046a 3091 0000 		lds r19,(pwm_write_buffer)+1
699
 713               	.LVL67:
700
 714               	.LM41:
701
 715 046e 8091 0000 		lds r24,pwm_free_buffer
702
 716 0472 9091 0000 		lds r25,(pwm_free_buffer)+1
703
 717 0476 9093 0000 		sts (pwm_write_buffer)+1,r25
704
 718 047a 8093 0000 		sts pwm_write_buffer,r24
705
 719               	.LM42:
706
 720 047e 3093 0000 		sts (pwm_free_buffer)+1,r19
707
 721 0482 2093 0000 		sts pwm_free_buffer,r18
708
 722               	.LBE84:
709
 723               	.LBB85:
710
 724               	.LBB86:
711
 725               	.LM43:
712
 726 0486 4FBF      		out 95-0x20,r20
713
 727               	.LM44:
714
 728               	.LBE86:
715
 729               	.LBE85:
716
 730               	.LBE81:
717
 731               	.LM45:
718
 732 0488 81E0      		ldi r24,lo8(1)
719
 733 048a 8093 0000 		sts pwm_page_flip,r24
720
 734 048e 00C0      		rjmp .L86
721
 735               	.LVL68:
722
 736               	.L22:
723
 737 0490 8091 0000 		lds r24,orb_values
724
 738 0494 8111      		cpse r24,__zero_reg__
725
 739 0496 81E0      		ldi r24,lo8(1)
726
 740               	.L75:
727
 741 0498 282F      		mov r18,r24
728
 742               	.LVL69:
729
 743               	.LBB87:
730
 744               	.LM46:
731
 745 049a 8091 0000 		lds r24,orb_values+1
732
 746 049e 8111      		cpse r24,__zero_reg__
733
 747 04a0 2260      		ori r18,lo8(2)
734
 748               	.L76:
735
 749               	.LM47:
736
 750 04a2 8091 0000 		lds r24,orb_values+2
737
 751 04a6 8111      		cpse r24,__zero_reg__
738
 752 04a8 2460      		ori r18,lo8(4)
739
 753               	.L78:
740
 754               	.LM48:
741
 755 04aa 8091 0000 		lds r24,orb_values+3
742
 756 04ae 8111      		cpse r24,__zero_reg__
743
 757 04b0 2061      		ori r18,lo8(16)
744
 758               	.L80:
745
 759               	.LM49:
746
 760 04b2 8091 0000 		lds r24,orb_values+4
747
 761 04b6 8111      		cpse r24,__zero_reg__
748
 762 04b8 2062      		ori r18,lo8(32)
749
 763               	.L82:
750
 764               	.LM50:
751
 765 04ba 8091 0000 		lds r24,orb_values+5
752
 766 04be 8111      		cpse r24,__zero_reg__
753
 767 04c0 2064      		ori r18,lo8(64)
754
 768               	.L84:
755
 769               	.LBB88:
756
 770               	.LM51:
757
 771 04c2 9FB7      		in r25,95-0x20
758
 772               	.LVL70:
759
 773               	.LBB89:
760
 774               	.LBB90:
761
 775               	.LM52:
762
 776               	/* #APP */
763
 777 04c4 F894      		cli
764
 778               	/* #NOAPP */
765
 779               	.LBE90:
766
 780               	.LBE89:
767
 781               	.LBB91:
768
 782               	.LM53:
769
 783 04c6 85B3      		in r24,53-0x20
770
 784               	.LVL71:
771
 785               	.LM54:
772
 786 04c8 8767      		ori r24,lo8(119)
773
 787 04ca 2095      		com r18
774
 788 04cc 8223      		and r24,r18
775
 789               	.LM55:
776
 790 04ce 85BB      		out 53-0x20,r24
777
 791               	.LBE91:
778
 792               	.LBB92:
779
 793               	.LBB93:
780
 794               	.LM56:
781
 795 04d0 9FBF      		out 95-0x20,r25
782
 796               	.LM57:
783
 797               	.LVL72:
784
 798               	.L86:
785
 799               	.LBE93:
786
 800               	.LBE92:
787
 801               	.LBE88:
788
 802               	.LBE87:
789
 803               	/* epilogue: frame size=0 */
790
 804 04d2 DF91      		pop r29
791
 805 04d4 CF91      		pop r28
792
 806 04d6 1F91      		pop r17
793
 807 04d8 FF90      		pop r15
794
 808 04da EF90      		pop r14
795
 809 04dc 0895      		ret
796
 810               	/* epilogue end (size=6) */
797
 811               	/* function apply_orbs size 484 (473) */
798
 812               	.LFE17:
799
 814               	.global	orb_n_set
800
 816               	orb_n_set:
801
 817               	.LFB19:
802
 818               	.LM58:
803
 819               	/* prologue: frame size=0 */
804
 820               	/* prologue end (size=0) */
805
 821               	.LVL73:
806
 822 04de 982F      		mov r25,r24
807
 823               	.LBB94:
808
 824               	.LM59:
809
 825 04e0 3FB7      		in r19,95-0x20
810
 826               	.LVL74:
811
 827               	.LBB95:
812
 828               	.LBB96:
813
 829               	.LM60:
814
 830               	/* #APP */
815
 831 04e2 F894      		cli
816
 832               	/* #NOAPP */
817
 833               	.LBE96:
818
 834               	.LBE95:
819
 835               	.LM61:
820
 836 04e4 8091 0000 		lds r24,orb_lock
821
 837               	.LVL75:
822
 838 04e8 8823      		tst r24
823
 839 04ea 01F0      		breq .L88
824
 840               	.LM62:
825
 841 04ec E0E0      		ldi r30,lo8(0)
826
 842 04ee F0E0      		ldi r31,hi8(0)
827
 843 04f0 00C0      		rjmp .L90
828
 844               	.L88:
829
 845 04f2 81E0      		ldi r24,lo8(1)
830
 846 04f4 8093 0000 		sts orb_lock,r24
831
 847 04f8 E1E0      		ldi r30,lo8(1)
832
 848 04fa F0E0      		ldi r31,hi8(1)
833
 849               	.L90:
834
 850               	.LBB97:
835
 851               	.LBB98:
836
 852               	.LM63:
837
 853 04fc 3FBF      		out 95-0x20,r19
838
 854               	.LM64:
839
 855 04fe 3197      		sbiw r30,1
840
 856 0500 01F4      		brne .L93
841
 857               	.LBE98:
842
 858               	.LBE97:
843
 859               	.LBE94:
844
 860               	.LBB99:
845
 861               	.LBB100:
846
 862               	.LM65:
847
 863 0502 892F      		mov r24,r25
848
 864 0504 9927      		clr r25
849
 865 0506 FC01      		movw r30,r24
850
 866 0508 EE0F      		lsl r30
851
 867 050a FF1F      		rol r31
852
 868 050c E80F      		add r30,r24
853
 869 050e F91F      		adc r31,r25
854
 870 0510 E050      		subi r30,lo8(-(orb_values))
855
 871 0512 F040      		sbci r31,hi8(-(orb_values))
856
 872 0514 6083      		st Z,r22
857
 873               	.LM66:
858
 874 0516 4183      		std Z+1,r20
859
 875               	.LM67:
860
 876 0518 2283      		std Z+2,r18
861
 877               	.LBE100:
862
 878               	.LBE99:
863
 879               	.LM68:
864
 880 051a 0E94 0000 		call apply_orbs
865
 881               	.LVL76:
866
 882               	.LM69:
867
 883 051e 1092 0000 		sts orb_lock,__zero_reg__
868
 884               	.LVL77:
869
 885               	.L93:
870
 886 0522 0895      		ret
871
 887               	/* epilogue: frame size=0 */
872
 888               	/* epilogue: noreturn */
873
 889               	/* epilogue end (size=0) */
874
 890               	/* function orb_n_set size 39 (39) */
875
 891               	.LFE19:
876
 893               	.global	orb1_set
877
 895               	orb1_set:
878
 896               	.LFB20:
879
 897               	.LM70:
880
 898               	/* prologue: frame size=0 */
881
 899               	/* prologue end (size=0) */
882
 900               	.LVL78:
883
 901 0524 382F      		mov r19,r24
884
 902               	.LBB101:
885
 903               	.LM71:
886
 904 0526 2FB7      		in r18,95-0x20
887
 905               	.LVL79:
888
 906               	.LBB102:
889
 907               	.LBB103:
890
 908               	.LM72:
891
 909               	/* #APP */
892
 910 0528 F894      		cli
893
 911               	/* #NOAPP */
894
 912               	.LBE103:
895
 913               	.LBE102:
896
 914               	.LM73:
897
 915 052a 8091 0000 		lds r24,orb_lock
898
 916               	.LVL80:
899
 917 052e 8823      		tst r24
900
 918 0530 01F0      		breq .L95
901
 919               	.LM74:
902
 920 0532 80E0      		ldi r24,lo8(0)
903
 921 0534 90E0      		ldi r25,hi8(0)
904
 922 0536 00C0      		rjmp .L97
905
 923               	.L95:
906
 924 0538 81E0      		ldi r24,lo8(1)
907
 925 053a 8093 0000 		sts orb_lock,r24
908
 926 053e 81E0      		ldi r24,lo8(1)
909
 927 0540 90E0      		ldi r25,hi8(1)
910
 928               	.L97:
911
 929               	.LBB104:
912
 930               	.LBB105:
913
 931               	.LM75:
914
 932 0542 2FBF      		out 95-0x20,r18
915
 933               	.LM76:
916
 934 0544 0197      		sbiw r24,1
917
 935 0546 01F4      		brne .L100
918
 936               	.LBE105:
919
 937               	.LBE104:
920
 938               	.LBE101:
921
 939               	.LBB106:
922
 940               	.LBB107:
923
 941               	.LM77:
924
 942 0548 3093 0000 		sts orb_values,r19
925
 943               	.LM78:
926
 944 054c 6093 0000 		sts orb_values+1,r22
927
 945               	.LM79:
928
 946 0550 4093 0000 		sts orb_values+2,r20
929
 947               	.LBE107:
930
 948               	.LBE106:
931
 949               	.LM80:
932
 950 0554 0E94 0000 		call apply_orbs
933
 951               	.LVL81:
934
 952               	.LM81:
935
 953 0558 1092 0000 		sts orb_lock,__zero_reg__
936
 954               	.LVL82:
937
 955               	.L100:
938
 956 055c 0895      		ret
939
 957               	/* epilogue: frame size=0 */
940
 958               	/* epilogue: noreturn */
941
 959               	/* epilogue end (size=0) */
942
 960               	/* function orb1_set size 33 (33) */
943
 961               	.LFE20:
944
 963               	.global	orb2_set
945
 965               	orb2_set:
946
 966               	.LFB21:
947
 967               	.LM82:
948
 968               	/* prologue: frame size=0 */
949
 969               	/* prologue end (size=0) */
950
 970               	.LVL83:
951
 971 055e 382F      		mov r19,r24
952
 972               	.LBB108:
953
 973               	.LM83:
954
 974 0560 2FB7      		in r18,95-0x20
955
 975               	.LVL84:
956
 976               	.LBB109:
957
 977               	.LBB110:
958
 978               	.LM84:
959
 979               	/* #APP */
960
 980 0562 F894      		cli
961
 981               	/* #NOAPP */
962
 982               	.LBE110:
963
 983               	.LBE109:
964
 984               	.LM85:
965
 985 0564 8091 0000 		lds r24,orb_lock
966
 986               	.LVL85:
967
 987 0568 8823      		tst r24
968
 988 056a 01F0      		breq .L102
969
 989               	.LM86:
970
 990 056c 80E0      		ldi r24,lo8(0)
971
 991 056e 90E0      		ldi r25,hi8(0)
972
 992 0570 00C0      		rjmp .L104
973
 993               	.L102:
974
 994 0572 81E0      		ldi r24,lo8(1)
975
 995 0574 8093 0000 		sts orb_lock,r24
976
 996 0578 81E0      		ldi r24,lo8(1)
977
 997 057a 90E0      		ldi r25,hi8(1)
978
 998               	.L104:
979
 999               	.LBB111:
980
 1000               	.LBB112:
981
 1001               	.LM87:
982
 1002 057c 2FBF      		out 95-0x20,r18
983
 1003               	.LM88:
984
 1004 057e 0197      		sbiw r24,1
985
 1005 0580 01F4      		brne .L107
986
 1006               	.LBE112:
987
 1007               	.LBE111:
988
 1008               	.LBE108:
989
 1009               	.LBB113:
990
 1010               	.LBB114:
991
 1011               	.LM89:
992
 1012 0582 3093 0000 		sts orb_values+3,r19
993
 1013               	.LM90:
994
 1014 0586 6093 0000 		sts orb_values+4,r22
995
 1015               	.LM91:
996
 1016 058a 4093 0000 		sts orb_values+5,r20
997
 1017               	.LBE114:
998
 1018               	.LBE113:
999
 1019               	.LM92:
1000
 1020 058e 0E94 0000 		call apply_orbs
1001
 1021               	.LVL86:
1002
 1022               	.LM93:
1003
 1023 0592 1092 0000 		sts orb_lock,__zero_reg__
1004
 1024               	.LVL87:
1005
 1025               	.L107:
1006
 1026 0596 0895      		ret
1007
 1027               	/* epilogue: frame size=0 */
1008
 1028               	/* epilogue: noreturn */
1009
 1029               	/* epilogue end (size=0) */
1010
 1030               	/* function orb2_set size 33 (33) */
1011
 1031               	.LFE21:
1012
 1033               	.global	orb_set
1013
 1035               	orb_set:
1014
 1036               	.LFB22:
1015
 1037               	.LM94:
1016
 1038               	/* prologue: frame size=0 */
1017
 1039               	/* prologue end (size=0) */
1018
 1040               	.LVL88:
1019
 1041 0598 382F      		mov r19,r24
1020
 1042               	.LBB115:
1021
 1043               	.LM95:
1022
 1044 059a 2FB7      		in r18,95-0x20
1023
 1045               	.LVL89:
1024
 1046               	.LBB116:
1025
 1047               	.LBB117:
1026
 1048               	.LM96:
1027
 1049               	/* #APP */
1028
 1050 059c F894      		cli
1029
 1051               	/* #NOAPP */
1030
 1052               	.LBE117:
1031
 1053               	.LBE116:
1032
 1054               	.LM97:
1033
 1055 059e 8091 0000 		lds r24,orb_lock
1034
 1056               	.LVL90:
1035
 1057 05a2 8823      		tst r24
1036
 1058 05a4 01F0      		breq .L109
1037
 1059               	.LM98:
1038
 1060 05a6 80E0      		ldi r24,lo8(0)
1039
 1061 05a8 90E0      		ldi r25,hi8(0)
1040
 1062 05aa 00C0      		rjmp .L111
1041
 1063               	.L109:
1042
 1064 05ac 81E0      		ldi r24,lo8(1)
1043
 1065 05ae 8093 0000 		sts orb_lock,r24
1044
 1066 05b2 81E0      		ldi r24,lo8(1)
1045
 1067 05b4 90E0      		ldi r25,hi8(1)
1046
 1068               	.L111:
1047
 1069               	.LBB118:
1048
 1070               	.LBB119:
1049
 1071               	.LM99:
1050
 1072 05b6 2FBF      		out 95-0x20,r18
1051
 1073               	.LM100:
1052
 1074 05b8 0197      		sbiw r24,1
1053
 1075 05ba 01F4      		brne .L114
1054
 1076               	.LBE119:
1055
 1077               	.LBE118:
1056
 1078               	.LBE115:
1057
 1079               	.LBB120:
1058
 1080               	.LBB121:
1059
 1081               	.LM101:
1060
 1082 05bc 3093 0000 		sts orb_values,r19
1061
 1083               	.LM102:
1062
 1084 05c0 6093 0000 		sts orb_values+1,r22
1063
 1085               	.LM103:
1064
 1086 05c4 4093 0000 		sts orb_values+2,r20
1065
 1087               	.LBE121:
1066
 1088               	.LBE120:
1067
 1089               	.LBB122:
1068
 1090               	.LBB123:
1069
 1091               	.LM104:
1070
 1092 05c8 3093 0000 		sts orb_values+3,r19
1071
 1093               	.LM105:
1072
 1094 05cc 6093 0000 		sts orb_values+4,r22
1073
 1095               	.LM106:
1074
 1096 05d0 4093 0000 		sts orb_values+5,r20
1075
 1097               	.LBE123:
1076
 1098               	.LBE122:
1077
 1099               	.LM107:
1078
 1100 05d4 0E94 0000 		call apply_orbs
1079
 1101               	.LVL91:
1080
 1102               	.LM108:
1081
 1103 05d8 1092 0000 		sts orb_lock,__zero_reg__
1082
 1104               	.LVL92:
1083
 1105               	.L114:
1084
 1106 05dc 0895      		ret
1085
 1107               	/* epilogue: frame size=0 */
1086
 1108               	/* epilogue: noreturn */
1087
 1109               	/* epilogue end (size=0) */
1088
 1110               	/* function orb_set size 39 (39) */
1089
 1111               	.LFE22:
1090
 1113               	.global	orbs_set
1091
 1115               	orbs_set:
1092
 1116               	.LFB23:
1093
 1117               	.LM109:
1094
 1118               	/* prologue: frame size=0 */
1095
 1119 05de EF92      		push r14
1096
 1120 05e0 0F93      		push r16
1097
 1121               	/* prologue end (size=2) */
1098
 1122               	.LVL93:
1099
 1123 05e2 582F      		mov r21,r24
1100
 1124               	.LBB124:
1101
 1125               	.LM110:
1102
 1126 05e4 3FB7      		in r19,95-0x20
1103
 1127               	.LVL94:
1104
 1128               	.LBB125:
1105
 1129               	.LBB126:
1106
 1130               	.LM111:
1107
 1131               	/* #APP */
1108
 1132 05e6 F894      		cli
1109
 1133               	/* #NOAPP */
1110
 1134               	.LBE126:
1111
 1135               	.LBE125:
1112
 1136               	.LM112:
1113
 1137 05e8 8091 0000 		lds r24,orb_lock
1114
 1138               	.LVL95:
1115
 1139 05ec 8823      		tst r24
1116
 1140 05ee 01F0      		breq .L116
1117
 1141               	.LM113:
1118
 1142 05f0 80E0      		ldi r24,lo8(0)
1119
 1143 05f2 90E0      		ldi r25,hi8(0)
1120
 1144 05f4 00C0      		rjmp .L118
1121
 1145               	.L116:
1122
 1146 05f6 81E0      		ldi r24,lo8(1)
1123
 1147 05f8 8093 0000 		sts orb_lock,r24
1124
 1148 05fc 81E0      		ldi r24,lo8(1)
1125
 1149 05fe 90E0      		ldi r25,hi8(1)
1126
 1150               	.L118:
1127
 1151               	.LBB127:
1128
 1152               	.LBB128:
1129
 1153               	.LM114:
1130
 1154 0600 3FBF      		out 95-0x20,r19
1131
 1155               	.LM115:
1132
 1156 0602 0197      		sbiw r24,1
1133
 1157 0604 01F4      		brne .L121
1134
 1158               	.LBE128:
1135
 1159               	.LBE127:
1136
 1160               	.LBE124:
1137
 1161               	.LBB129:
1138
 1162               	.LBB130:
1139
 1163               	.LM116:
1140
 1164 0606 5093 0000 		sts orb_values,r21
1141
 1165               	.LM117:
1142
 1166 060a 6093 0000 		sts orb_values+1,r22
1143
 1167               	.LM118:
1144
 1168 060e 4093 0000 		sts orb_values+2,r20
1145
 1169               	.LBE130:
1146
 1170               	.LBE129:
1147
 1171               	.LBB131:
1148
 1172               	.LBB132:
1149
 1173               	.LM119:
1150
 1174 0612 2093 0000 		sts orb_values+3,r18
1151
 1175               	.LM120:
1152
 1176 0616 0093 0000 		sts orb_values+4,r16
1153
 1177               	.LM121:
1154
 1178 061a E092 0000 		sts orb_values+5,r14
1155
 1179               	.LBE132:
1156
 1180               	.LBE131:
1157
 1181               	.LM122:
1158
 1182 061e 0E94 0000 		call apply_orbs
1159
 1183               	.LVL96:
1160
 1184               	.LM123:
1161
 1185 0622 1092 0000 		sts orb_lock,__zero_reg__
1162
 1186               	.LVL97:
1163
 1187               	.L121:
1164
 1188               	/* epilogue: frame size=0 */
1165
 1189 0626 0F91      		pop r16
1166
 1190 0628 EF90      		pop r14
1167
 1191 062a 0895      		ret
1168
 1192               	/* epilogue end (size=3) */
1169
 1193               	/* function orbs_set size 43 (38) */
1170
 1194               	.LFE23:
1171
 1196               	.global	orb_n_set_color
1172
 1198               	orb_n_set_color:
1173
 1199               	.LFB24:
1174
 1200               	.LM124:
1175
 1201               	/* prologue: frame size=0 */
1176
 1202               	/* prologue end (size=0) */
1177
 1203               	.LVL98:
1178
 1204               	.LM125:
1179
 1205 062c 7727      		clr r23
1180
 1206               	.LVL99:
1181
 1207 062e AB01      		movw r20,r22
1182
 1208 0630 4370      		andi r20,lo8(3)
1183
 1209 0632 5070      		andi r21,hi8(3)
1184
 1210 0634 25E5      		ldi r18,lo8(85)
1185
 1211 0636 30E0      		ldi r19,hi8(85)
1186
 1212 0638 D901      		movw r26,r18
1187
 1213 063a 4A9F      		mul r20,r26
1188
 1214 063c 9001      		movw r18,r0
1189
 1215 063e 4B9F      		mul r20,r27
1190
 1216 0640 300D      		add r19,r0
1191
 1217 0642 5A9F      		mul r21,r26
1192
 1218 0644 300D      		add r19,r0
1193
 1219 0646 1124      		clr r1
1194
 1220 0648 AB01      		movw r20,r22
1195
 1221 064a 4C71      		andi r20,lo8(28)
1196
 1222 064c 5070      		andi r21,hi8(28)
1197
 1223 064e 5595      		asr r21
1198
 1224 0650 4795      		ror r20
1199
 1225 0652 5595      		asr r21
1200
 1226 0654 4795      		ror r20
1201
 1227 0656 E4E2      		ldi r30,lo8(36)
1202
 1228 0658 F0E0      		ldi r31,hi8(36)
1203
 1229 065a DA01      		movw r26,r20
1204
 1230 065c AE9F      		mul r26,r30
1205
 1231 065e A001      		movw r20,r0
1206
 1232 0660 AF9F      		mul r26,r31
1207
 1233 0662 500D      		add r21,r0
1208
 1234 0664 BE9F      		mul r27,r30
1209
 1235 0666 500D      		add r21,r0
1210
 1236 0668 1124      		clr r1
1211
 1237 066a A5E0      		ldi r26,5
1212
 1238 066c 7695      	1:	lsr r23
1213
 1239 066e 6795      		ror r22
1214
 1240 0670 AA95      		dec r26
1215
 1241 0672 01F4      		brne 1b
1216
 1242 0674 DB01      		movw r26,r22
1217
 1243 0676 AE9F      		mul r26,r30
1218
 1244 0678 B001      		movw r22,r0
1219
 1245 067a AF9F      		mul r26,r31
1220
 1246 067c 700D      		add r23,r0
1221
 1247 067e BE9F      		mul r27,r30
1222
 1248 0680 700D      		add r23,r0
1223
 1249 0682 1124      		clr r1
1224
 1250 0684 0E94 0000 		call orb_n_set
1225
 1251               	.LVL100:
1226
 1252               	/* epilogue: frame size=0 */
1227
 1253 0688 0895      		ret
1228
 1254               	/* epilogue end (size=1) */
1229
 1255               	/* function orb_n_set_color size 47 (46) */
1230
 1256               	.LFE24:
1231
 1258               	.global	orb1_set_color
1232
 1260               	orb1_set_color:
1233
 1261               	.LFB25:
1234
 1262               	.LM126:
1235
 1263               	/* prologue: frame size=0 */
1236
 1264               	/* prologue end (size=0) */
1237
 1265               	.LVL101:
1238
 1266               	.LM127:
1239
 1267 068a 9927      		clr r25
1240
 1268               	.LVL102:
1241
 1269 068c AC01      		movw r20,r24
1242
 1270 068e 4370      		andi r20,lo8(3)
1243
 1271 0690 5070      		andi r21,hi8(3)
1244
 1272 0692 25E5      		ldi r18,lo8(85)
1245
 1273 0694 30E0      		ldi r19,hi8(85)
1246
 1274 0696 BA01      		movw r22,r20
1247
 1275 0698 629F      		mul r22,r18
1248
 1276 069a A001      		movw r20,r0
1249
 1277 069c 639F      		mul r22,r19
1250
 1278 069e 500D      		add r21,r0
1251
 1279 06a0 729F      		mul r23,r18
1252
 1280 06a2 500D      		add r21,r0
1253
 1281 06a4 1124      		clr r1
1254
 1282 06a6 9C01      		movw r18,r24
1255
 1283 06a8 2C71      		andi r18,lo8(28)
1256
 1284 06aa 3070      		andi r19,hi8(28)
1257
 1285 06ac 3595      		asr r19
1258
 1286 06ae 2795      		ror r18
1259
 1287 06b0 3595      		asr r19
1260
 1288 06b2 2795      		ror r18
1261
 1289 06b4 E4E2      		ldi r30,lo8(36)
1262
 1290 06b6 F0E0      		ldi r31,hi8(36)
1263
 1291 06b8 2E9F      		mul r18,r30
1264
 1292 06ba B001      		movw r22,r0
1265
 1293 06bc 2F9F      		mul r18,r31
1266
 1294 06be 700D      		add r23,r0
1267
 1295 06c0 3E9F      		mul r19,r30
1268
 1296 06c2 700D      		add r23,r0
1269
 1297 06c4 1124      		clr r1
1270
 1298 06c6 25E0      		ldi r18,5
1271
 1299 06c8 9695      	1:	lsr r25
1272
 1300 06ca 8795      		ror r24
1273
 1301 06cc 2A95      		dec r18
1274
 1302 06ce 01F4      		brne 1b
1275
 1303 06d0 8E9F      		mul r24,r30
1276
 1304 06d2 802D      		mov r24,r0
1277
 1305 06d4 1124      		clr r1
1278
 1306 06d6 0E94 0000 		call orb1_set
1279
 1307               	/* epilogue: frame size=0 */
1280
 1308 06da 0895      		ret
1281
 1309               	/* epilogue end (size=1) */
1282
 1310               	/* function orb1_set_color size 41 (40) */
1283
 1311               	.LFE25:
1284
 1313               	.global	orb2_set_color
1285
 1315               	orb2_set_color:
1286
 1316               	.LFB26:
1287
 1317               	.LM128:
1288
 1318               	/* prologue: frame size=0 */
1289
 1319               	/* prologue end (size=0) */
1290
 1320               	.LVL103:
1291
 1321               	.LM129:
1292
 1322 06dc 9927      		clr r25
1293
 1323               	.LVL104:
1294
 1324 06de AC01      		movw r20,r24
1295
 1325 06e0 4370      		andi r20,lo8(3)
1296
 1326 06e2 5070      		andi r21,hi8(3)
1297
 1327 06e4 25E5      		ldi r18,lo8(85)
1298
 1328 06e6 30E0      		ldi r19,hi8(85)
1299
 1329 06e8 BA01      		movw r22,r20
1300
 1330 06ea 629F      		mul r22,r18
1301
 1331 06ec A001      		movw r20,r0
1302
 1332 06ee 639F      		mul r22,r19
1303
 1333 06f0 500D      		add r21,r0
1304
 1334 06f2 729F      		mul r23,r18
1305
 1335 06f4 500D      		add r21,r0
1306
 1336 06f6 1124      		clr r1
1307
 1337 06f8 9C01      		movw r18,r24
1308
 1338 06fa 2C71      		andi r18,lo8(28)
1309
 1339 06fc 3070      		andi r19,hi8(28)
1310
 1340 06fe 3595      		asr r19
1311
 1341 0700 2795      		ror r18
1312
 1342 0702 3595      		asr r19
1313
 1343 0704 2795      		ror r18
1314
 1344 0706 E4E2      		ldi r30,lo8(36)
1315
 1345 0708 F0E0      		ldi r31,hi8(36)
1316
 1346 070a 2E9F      		mul r18,r30
1317
 1347 070c B001      		movw r22,r0
1318
 1348 070e 2F9F      		mul r18,r31
1319
 1349 0710 700D      		add r23,r0
1320
 1350 0712 3E9F      		mul r19,r30
1321
 1351 0714 700D      		add r23,r0
1322
 1352 0716 1124      		clr r1
1323
 1353 0718 75E0      		ldi r23,5
1324
 1354 071a 9695      	1:	lsr r25
1325
 1355 071c 8795      		ror r24
1326
 1356 071e 7A95      		dec r23
1327
 1357 0720 01F4      		brne 1b
1328
 1358 0722 8E9F      		mul r24,r30
1329
 1359 0724 802D      		mov r24,r0
1330
 1360 0726 1124      		clr r1
1331
 1361 0728 0E94 0000 		call orb2_set
1332
 1362               	/* epilogue: frame size=0 */
1333
 1363 072c 0895      		ret
1334
 1364               	/* epilogue end (size=1) */
1335
 1365               	/* function orb2_set_color size 41 (40) */
1336
 1366               	.LFE26:
1337
 1368               	.global	orb_set_color
1338
 1370               	orb_set_color:
1339
 1371               	.LFB27:
1340
 1372               	.LM130:
1341
 1373               	/* prologue: frame size=0 */
1342
 1374               	/* prologue end (size=0) */
1343
 1375               	.LVL105:
1344
 1376               	.LM131:
1345
 1377 072e 9927      		clr r25
1346
 1378               	.LVL106:
1347
 1379 0730 AC01      		movw r20,r24
1348
 1380 0732 4370      		andi r20,lo8(3)
1349
 1381 0734 5070      		andi r21,hi8(3)
1350
 1382 0736 25E5      		ldi r18,lo8(85)
1351
 1383 0738 30E0      		ldi r19,hi8(85)
1352
 1384 073a BA01      		movw r22,r20
1353
 1385 073c 629F      		mul r22,r18
1354
 1386 073e A001      		movw r20,r0
1355
 1387 0740 639F      		mul r22,r19
1356
 1388 0742 500D      		add r21,r0
1357
 1389 0744 729F      		mul r23,r18
1358
 1390 0746 500D      		add r21,r0
1359
 1391 0748 1124      		clr r1
1360
 1392 074a 9C01      		movw r18,r24
1361
 1393 074c 2C71      		andi r18,lo8(28)
1362
 1394 074e 3070      		andi r19,hi8(28)
1363
 1395 0750 3595      		asr r19
1364
 1396 0752 2795      		ror r18
1365
 1397 0754 3595      		asr r19
1366
 1398 0756 2795      		ror r18
1367
 1399 0758 E4E2      		ldi r30,lo8(36)
1368
 1400 075a F0E0      		ldi r31,hi8(36)
1369
 1401 075c 2E9F      		mul r18,r30
1370
 1402 075e B001      		movw r22,r0
1371
 1403 0760 2F9F      		mul r18,r31
1372
 1404 0762 700D      		add r23,r0
1373
 1405 0764 3E9F      		mul r19,r30
1374
 1406 0766 700D      		add r23,r0
1375
 1407 0768 1124      		clr r1
1376
 1408 076a F5E0      		ldi r31,5
1377
 1409 076c 9695      	1:	lsr r25
1378
 1410 076e 8795      		ror r24
1379
 1411 0770 FA95      		dec r31
1380
 1412 0772 01F4      		brne 1b
1381
 1413 0774 8E9F      		mul r24,r30
1382
 1414 0776 802D      		mov r24,r0
1383
 1415 0778 1124      		clr r1
1384
 1416 077a 0E94 0000 		call orb_set
1385
 1417               	/* epilogue: frame size=0 */
1386
 1418 077e 0895      		ret
1387
 1419               	/* epilogue end (size=1) */
1388
 1420               	/* function orb_set_color size 41 (40) */
1389
 1421               	.LFE27:
1390
 1423               	.global	orbs_set_color
1391
 1425               	orbs_set_color:
1392
 1426               	.LFB28:
1393
 1427               	.LM132:
1394
 1428               	/* prologue: frame size=0 */
1395
 1429 0780 EF92      		push r14
1396
 1430 0782 FF92      		push r15
1397
 1431 0784 0F93      		push r16
1398
 1432 0786 1F93      		push r17
1399
 1433               	/* prologue end (size=4) */
1400
 1434               	.LVL107:
1401
 1435               	.LM133:
1402
 1436 0788 7727      		clr r23
1403
 1437               	.LVL108:
1404
 1438 078a E82F      		mov r30,r24
1405
 1439 078c FF27      		clr r31
1406
 1440 078e CB01      		movw r24,r22
1407
 1441               	.LVL109:
1408
 1442 0790 8370      		andi r24,lo8(3)
1409
 1443 0792 9070      		andi r25,hi8(3)
1410
 1444 0794 A5E5      		ldi r26,lo8(85)
1411
 1445 0796 B0E0      		ldi r27,hi8(85)
1412
 1446 0798 8A9F      		mul r24,r26
1413
 1447 079a 7001      		movw r14,r0
1414
 1448 079c 8B9F      		mul r24,r27
1415
 1449 079e F00C      		add r15,r0
1416
 1450 07a0 9A9F      		mul r25,r26
1417
 1451 07a2 F00C      		add r15,r0
1418
 1452 07a4 1124      		clr r1
1419
 1453 07a6 9B01      		movw r18,r22
1420
 1454 07a8 2C71      		andi r18,lo8(28)
1421
 1455 07aa 3070      		andi r19,hi8(28)
1422
 1456 07ac 3595      		asr r19
1423
 1457 07ae 2795      		ror r18
1424
 1458 07b0 3595      		asr r19
1425
 1459 07b2 2795      		ror r18
1426
 1460 07b4 84E2      		ldi r24,lo8(36)
1427
 1461 07b6 90E0      		ldi r25,hi8(36)
1428
 1462 07b8 289F      		mul r18,r24
1429
 1463 07ba 8001      		movw r16,r0
1430
 1464 07bc 299F      		mul r18,r25
1431
 1465 07be 100D      		add r17,r0
1432
 1466 07c0 389F      		mul r19,r24
1433
 1467 07c2 100D      		add r17,r0
1434
 1468 07c4 1124      		clr r1
1435
 1469 07c6 25E0      		ldi r18,5
1436
 1470 07c8 7695      	1:	lsr r23
1437
 1471 07ca 6795      		ror r22
1438
 1472 07cc 2A95      		dec r18
1439
 1473 07ce 01F4      		brne 1b
1440
 1474 07d0 689F      		mul r22,r24
1441
 1475 07d2 9001      		movw r18,r0
1442
 1476 07d4 699F      		mul r22,r25
1443
 1477 07d6 300D      		add r19,r0
1444
 1478 07d8 789F      		mul r23,r24
1445
 1479 07da 300D      		add r19,r0
1446
 1480 07dc 1124      		clr r1
1447
 1481 07de AF01      		movw r20,r30
1448
 1482 07e0 4370      		andi r20,lo8(3)
1449
 1483 07e2 5070      		andi r21,hi8(3)
1450
 1484 07e4 BA01      		movw r22,r20
1451
 1485 07e6 6A9F      		mul r22,r26
1452
 1486 07e8 A001      		movw r20,r0
1453
 1487 07ea 6B9F      		mul r22,r27
1454
 1488 07ec 500D      		add r21,r0
1455
 1489 07ee 7A9F      		mul r23,r26
1456
 1490 07f0 500D      		add r21,r0
1457
 1491 07f2 1124      		clr r1
1458
 1492 07f4 BF01      		movw r22,r30
1459
 1493 07f6 6C71      		andi r22,lo8(28)
1460
 1494 07f8 7070      		andi r23,hi8(28)
1461
 1495 07fa 7595      		asr r23
1462
 1496 07fc 6795      		ror r22
1463
 1497 07fe 7595      		asr r23
1464
 1498 0800 6795      		ror r22
1465
 1499 0802 DB01      		movw r26,r22
1466
 1500 0804 A89F      		mul r26,r24
1467
 1501 0806 B001      		movw r22,r0
1468
 1502 0808 A99F      		mul r26,r25
1469
 1503 080a 700D      		add r23,r0
1470
 1504 080c B89F      		mul r27,r24
1471
 1505 080e 700D      		add r23,r0
1472
 1506 0810 1124      		clr r1
1473
 1507 0812 B5E0      		ldi r27,5
1474
 1508 0814 F695      	1:	lsr r31
1475
 1509 0816 E795      		ror r30
1476
 1510 0818 BA95      		dec r27
1477
 1511 081a 01F4      		brne 1b
1478
 1512 081c E89F      		mul r30,r24
1479
 1513 081e 802D      		mov r24,r0
1480
 1514 0820 1124      		clr r1
1481
 1515 0822 0E94 0000 		call orbs_set
1482
 1516               	/* epilogue: frame size=0 */
1483
 1517 0826 1F91      		pop r17
1484
 1518 0828 0F91      		pop r16
1485
 1519 082a FF90      		pop r15
1486
 1520 082c EF90      		pop r14
1487
 1521 082e 0895      		ret
1488
 1522               	/* epilogue end (size=5) */
1489
 1523               	/* function orbs_set_color size 88 (79) */
1490
 1524               	.LFE28:
1491
 1526               	.global	orb_enable_timer
1492
 1528               	orb_enable_timer:
1493
 1529               	.LFB29:
1494
 1530               	.LM134:
1495
 1531               	/* prologue: frame size=0 */
1496
 1532               	/* prologue end (size=0) */
1497
 1533               	.LM135:
1498
 1534 0830 86E0      		ldi r24,lo8(6)
1499
 1535 0832 83BF      		out 83-0x20,r24
1500
 1536               	.LM136:
1501
 1537 0834 87B7      		in r24,87-0x20
1502
 1538 0836 8360      		ori r24,lo8(3)
1503
 1539 0838 87BF      		out 87-0x20,r24
1504
 1540               	/* epilogue: frame size=0 */
1505
 1541 083a 0895      		ret
1506
 1542               	/* epilogue end (size=1) */
1507
 1543               	/* function orb_enable_timer size 6 (5) */
1508
 1544               	.LFE29:
1509
 1546               	.global	orb_disable_timer
1510
 1548               	orb_disable_timer:
1511
 1549               	.LFB30:
1512
 1550               	.LM137:
1513
 1551               	/* prologue: frame size=0 */
1514
 1552               	/* prologue end (size=0) */
1515
 1553               	.LM138:
1516
 1554 083c 87B7      		in r24,87-0x20
1517
 1555 083e 8C7F      		andi r24,lo8(-4)
1518
 1556 0840 87BF      		out 87-0x20,r24
1519
 1557               	/* epilogue: frame size=0 */
1520
 1558 0842 0895      		ret
1521
 1559               	/* epilogue end (size=1) */
1522
 1560               	/* function orb_disable_timer size 4 (3) */
1523
 1561               	.LFE30:
1524
 1563               	.global	orb_set_mode
1525
 1565               	orb_set_mode:
1526
 1566               	.LFB31:
1527
 1567               	.LM139:
1528
 1568               	/* prologue: frame size=0 */
1529
 1569               	/* prologue end (size=0) */
1530
 1570               	.LVL110:
1531
 1571               	.LM140:
1532
 1572 0844 8130      		cpi r24,lo8(1)
1533
 1573 0846 01F4      		brne .L137
1534
 1574               	.LBB133:
1535
 1575               	.LBB134:
1536
 1576               	.LM141:
1537
 1577 0848 87B7      		in r24,87-0x20
1538
 1578               	.LVL111:
1539
 1579 084a 8C7F      		andi r24,lo8(-4)
1540
 1580 084c 87BF      		out 87-0x20,r24
1541
 1581               	.LBE134:
1542
 1582               	.LBE133:
1543
 1583               	.LM142:
1544
 1584 084e 1092 0000 		sts enable_orb_pwm,__zero_reg__
1545
 1585               	.LM143:
1546
 1586 0852 0E94 0000 		call apply_orbs
1547
 1587 0856 0895      		ret
1548
 1588               	.LVL112:
1549
 1589               	.L137:
1550
 1590               	.LM144:
1551
 1591 0858 81E0      		ldi r24,lo8(1)
1552
 1592               	.LVL113:
1553
 1593 085a 8093 0000 		sts enable_orb_pwm,r24
1554
 1594               	.LM145:
1555
 1595 085e 0E94 0000 		call apply_orbs
1556
 1596               	.LBB135:
1557
 1597               	.LBB136:
1558
 1598               	.LM146:
1559
 1599 0862 86E0      		ldi r24,lo8(6)
1560
 1600 0864 83BF      		out 83-0x20,r24
1561
 1601               	.LM147:
1562
 1602 0866 87B7      		in r24,87-0x20
1563
 1603 0868 8360      		ori r24,lo8(3)
1564
 1604 086a 87BF      		out 87-0x20,r24
1565
 1605 086c 0895      		ret
1566
 1606               	.LBE136:
1567
 1607               	.LBE135:
1568
 1608               	/* epilogue: frame size=0 */
1569
 1609               	/* epilogue: noreturn */
1570
 1610               	/* epilogue end (size=0) */
1571
 1611               	/* function orb_set_mode size 21 (21) */
1572
 1612               	.LFE31:
1573
 1615               	orb_init_common:
1574
 1616               	.LFB32:
1575
 1617               	.LM148:
1576
 1618               	/* prologue: frame size=0 */
1577
 1619               	/* prologue end (size=0) */
1578
 1620               	.LM149:
1579
 1621 086e 85B3      		in r24,53-0x20
1580
 1622 0870 8767      		ori r24,lo8(119)
1581
 1623 0872 85BB      		out 53-0x20,r24
1582
 1624               	.LM150:
1583
 1625 0874 84B3      		in r24,52-0x20
1584
 1626 0876 8767      		ori r24,lo8(119)
1585
 1627 0878 84BB      		out 52-0x20,r24
1586
 1628               	.LM151:
1587
 1629 087a 40E0      		ldi r20,lo8(0)
1588
 1630 087c 60E0      		ldi r22,lo8(0)
1589
 1631 087e 80E0      		ldi r24,lo8(0)
1590
 1632 0880 0E94 0000 		call orb_set
1591
 1633               	/* epilogue: frame size=0 */
1592
 1634 0884 0895      		ret
1593
 1635               	/* epilogue end (size=1) */
1594
 1636               	/* function orb_init_common size 12 (11) */
1595
 1637               	.LFE32:
1596
 1639               	.global	orb_init_binary
1597
 1641               	orb_init_binary:
1598
 1642               	.LFB33:
1599
 1643               	.LM152:
1600
 1644               	/* prologue: frame size=0 */
1601
 1645               	/* prologue end (size=0) */
1602
 1646               	.LM153:
1603
 1647 0886 0E94 0000 		call orb_init_common
1604
 1648               	.LM154:
1605
 1649 088a 81E0      		ldi r24,lo8(1)
1606
 1650 088c 0E94 0000 		call orb_set_mode
1607
 1651               	/* epilogue: frame size=0 */
1608
 1652 0890 0895      		ret
1609
 1653               	/* epilogue end (size=1) */
1610
 1654               	/* function orb_init_binary size 6 (5) */
1611
 1655               	.LFE33:
1612
 1657               	.global	orb_init_pwm
1613
 1659               	orb_init_pwm:
1614
 1660               	.LFB34:
1615
 1661               	.LM155:
1616
 1662               	/* prologue: frame size=0 */
1617
 1663               	/* prologue end (size=0) */
1618
 1664               	.LM156:
1619
 1665 0892 0E94 0000 		call orb_init_common
1620
 1666               	.LM157:
1621
 1667 0896 80E0      		ldi r24,lo8(0)
1622
 1668 0898 0E94 0000 		call orb_set_mode
1623
 1669               	/* epilogue: frame size=0 */
1624
 1670 089c 0895      		ret
1625
 1671               	/* epilogue end (size=1) */
1626
 1672               	/* function orb_init_pwm size 6 (5) */
1627
 1673               	.LFE34:
1628
 1675               	.global	orb_init
1629
 1677               	orb_init:
1630
 1678               	.LFB35:
1631
 1679               	.LM158:
1632
 1680               	/* prologue: frame size=0 */
1633
 1681               	/* prologue end (size=0) */
1634
 1682               	.LM159:
1635
 1683 089e 0E94 0000 		call orb_init_pwm
1636
 1684               	/* epilogue: frame size=0 */
1637
 1685 08a2 0895      		ret
1638
 1686               	/* epilogue end (size=1) */
1639
 1687               	/* function orb_init size 3 (2) */
1640
 1688               	.LFE35:
1641
 1690               	.global	orb_mask
1642
 1691               		.data
1643
 1694               	orb_mask:
1644
 1695 0000 01        		.byte	1
1645
 1696 0001 02        		.byte	2
1646
 1697 0002 04        		.byte	4
1647
 1698 0003 10        		.byte	16
1648
 1699 0004 20        		.byte	32
1649
 1700 0005 40        		.byte	64
1650
 1701               	.global	enable_orb_pwm
1651
 1704               	enable_orb_pwm:
1652
 1705 0006 01        		.byte	1
1653
 1706               	.global	pwm_read_buffer
1654
 1709               	pwm_read_buffer:
1655
 1710 0007 0000      		.word	pwm_buffer
1656
 1711               	.global	pwm_write_buffer
1657
 1714               	pwm_write_buffer:
1658
 1715 0009 0000      		.word	pwm_buffer+13
1659
 1716               	.global	pwm_free_buffer
1660
 1719               	pwm_free_buffer:
1661
 1720 000b 0000      		.word	pwm_buffer+26
1662
 1721               	.global	pwm_page_flip
1663
 1722               	.global	pwm_page_flip
1664
 1723               		.section .bss
1665
 1726               	pwm_page_flip:
1666
 1727 0000 00        		.skip 1,0
1667
 1728               	.global	current_pwm_channel
1668
 1729               	.global	current_pwm_channel
1669
 1732               	current_pwm_channel:
1670
 1733 0001 00        		.skip 1,0
1671
 1734               	.global	orb_lock
1672
 1735               	.global	orb_lock
1673
 1738               	orb_lock:
1674
 1739 0002 00        		.skip 1,0
1675
 1740               		.comm pwm_buffer,39,1
1676
 1741               		.comm orb_values,6,1
1677
 1926               	.Letext0:
1678
DEFINED SYMBOLS
1679
                            *ABS*:00000000 lights.c
1680
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:3      *ABS*:0000003f __SREG__
1681
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:4      *ABS*:0000003e __SP_H__
1682
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:5      *ABS*:0000003d __SP_L__
1683
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:6      *ABS*:00000000 __tmp_reg__
1684
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:7      *ABS*:00000001 __zero_reg__
1685
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:19     .text:00000000 output_compare
1686
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1709   .data:00000007 pwm_read_buffer
1687
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1732   .bss:00000001 current_pwm_channel
1688
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:80     .text:00000054 __vector_16
1689
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1726   .bss:00000000 pwm_page_flip
1690
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1719   .data:0000000b pwm_free_buffer
1691
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:166    .text:000000e6 __vector_15
1692
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:213    .text:0000012e apply_orbs
1693
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1704   .data:00000006 enable_orb_pwm
1694
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1714   .data:00000009 pwm_write_buffer
1695
                            *COM*:00000006 orb_values
1696
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:816    .text:000004de orb_n_set
1697
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1738   .bss:00000002 orb_lock
1698
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:895    .text:00000524 orb1_set
1699
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:965    .text:0000055e orb2_set
1700
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1035   .text:00000598 orb_set
1701
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1115   .text:000005de orbs_set
1702
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1198   .text:0000062c orb_n_set_color
1703
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1260   .text:0000068a orb1_set_color
1704
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1315   .text:000006dc orb2_set_color
1705
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1370   .text:0000072e orb_set_color
1706
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1425   .text:00000780 orbs_set_color
1707
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1528   .text:00000830 orb_enable_timer
1708
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1548   .text:0000083c orb_disable_timer
1709
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1565   .text:00000844 orb_set_mode
1710
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1615   .text:0000086e orb_init_common
1711
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1641   .text:00000886 orb_init_binary
1712
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1659   .text:00000892 orb_init_pwm
1713
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1677   .text:0000089e orb_init
1714
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccJkZ9Kz.s:1694   .data:00000000 orb_mask
1715
                            *COM*:00000027 pwm_buffer
1716

    
1717
UNDEFINED SYMBOLS
1718
__do_copy_data
1719
__do_clear_bss