1 .file "draw.c" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __CCP__ = 0x34 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .global __do_copy_data 9 .global __do_clear_bss 17 .Ltext0: 18 .global setvoxel 20 setvoxel: 21 .LFB2: 22 .LM1: 23 .LVL0: 24 /* prologue: function */ 25 /* frame size = 0 */ 26 0000 DC01 movw r26,r24 27 .LBB94: 28 .LBB95: 29 .LM2: 30 0002 8830 cpi r24,8 31 0004 9105 cpc r25,__zero_reg__ 32 0006 00F4 brsh .L3 33 0008 77FD sbrc r23,7 34 000a 00C0 rjmp .L3 35 000c 6830 cpi r22,8 36 000e 7105 cpc r23,__zero_reg__ 37 0010 04F4 brge .L3 38 0012 57FD sbrc r21,7 39 0014 00C0 rjmp .L3 40 0016 4830 cpi r20,8 41 0018 5105 cpc r21,__zero_reg__ 42 001a 04F4 brge .L3 43 .LBE95: 44 .LBE94: 45 .LM3: 46 001c FA01 movw r30,r20 47 001e 83E0 ldi r24,3 48 0020 EE0F 1: lsl r30 49 0022 FF1F rol r31 50 0024 8A95 dec r24 51 0026 01F4 brne 1b 52 .LVL1: 53 0028 E60F add r30,r22 54 002a F71F adc r31,r23 55 002c E050 subi r30,lo8(-(cube)) 56 002e F040 sbci r31,hi8(-(cube)) 57 0030 2081 ld r18,Z 58 0032 81E0 ldi r24,lo8(1) 59 0034 90E0 ldi r25,hi8(1) 60 0036 00C0 rjmp 2f 61 0038 880F 1: lsl r24 62 003a 991F rol r25 63 003c AA95 2: dec r26 64 003e 02F4 brpl 1b 65 0040 282B or r18,r24 66 0042 2083 st Z,r18 67 .LVL2: 68 .L3: 69 0044 0895 ret 70 .LFE2: 72 .global tmpsetvoxel 74 tmpsetvoxel: 75 .LFB3: 76 .LM4: 77 .LVL3: 78 /* prologue: function */ 79 /* frame size = 0 */ 80 0046 DC01 movw r26,r24 81 .LBB96: 82 .LBB97: 83 .LM5: 84 0048 8830 cpi r24,8 85 004a 9105 cpc r25,__zero_reg__ 86 004c 00F4 brsh .L6 87 004e 77FD sbrc r23,7 88 0050 00C0 rjmp .L6 89 0052 6830 cpi r22,8 90 0054 7105 cpc r23,__zero_reg__ 91 0056 04F4 brge .L6 92 0058 57FD sbrc r21,7 93 005a 00C0 rjmp .L6 94 005c 4830 cpi r20,8 95 005e 5105 cpc r21,__zero_reg__ 96 0060 04F4 brge .L6 97 .LBE97: 98 .LBE96: 99 .LM6: 100 0062 FA01 movw r30,r20 101 0064 93E0 ldi r25,3 102 0066 EE0F 1: lsl r30 103 0068 FF1F rol r31 104 006a 9A95 dec r25 105 006c 01F4 brne 1b 106 006e E60F add r30,r22 107 0070 F71F adc r31,r23 108 0072 E050 subi r30,lo8(-(fb)) 109 0074 F040 sbci r31,hi8(-(fb)) 110 0076 2081 ld r18,Z 111 0078 81E0 ldi r24,lo8(1) 112 007a 90E0 ldi r25,hi8(1) 113 .LVL4: 114 007c 00C0 rjmp 2f 115 007e 880F 1: lsl r24 116 0080 991F rol r25 117 0082 AA95 2: dec r26 118 0084 02F4 brpl 1b 119 0086 282B or r18,r24 120 0088 2083 st Z,r18 121 .LVL5: 122 .L6: 123 008a 0895 ret 124 .LFE3: 126 .global clrvoxel 128 clrvoxel: 129 .LFB4: 130 .LM7: 131 .LVL6: 132 /* prologue: function */ 133 /* frame size = 0 */ 134 008c DC01 movw r26,r24 135 .LBB98: 136 .LBB99: 137 .LM8: 138 008e 8830 cpi r24,8 139 0090 9105 cpc r25,__zero_reg__ 140 0092 00F4 brsh .L9 141 0094 77FD sbrc r23,7 142 0096 00C0 rjmp .L9 143 0098 6830 cpi r22,8 144 009a 7105 cpc r23,__zero_reg__ 145 009c 04F4 brge .L9 146 009e 57FD sbrc r21,7 147 00a0 00C0 rjmp .L9 148 00a2 4830 cpi r20,8 149 00a4 5105 cpc r21,__zero_reg__ 150 00a6 04F4 brge .L9 151 .LBE99: 152 .LBE98: 153 .LM9: 154 00a8 FA01 movw r30,r20 155 00aa 23E0 ldi r18,3 156 00ac EE0F 1: lsl r30 157 00ae FF1F rol r31 158 00b0 2A95 dec r18 159 00b2 01F4 brne 1b 160 00b4 E60F add r30,r22 161 00b6 F71F adc r31,r23 162 00b8 E050 subi r30,lo8(-(cube)) 163 00ba F040 sbci r31,hi8(-(cube)) 164 00bc 2081 ld r18,Z 165 00be 81E0 ldi r24,lo8(1) 166 00c0 90E0 ldi r25,hi8(1) 167 .LVL7: 168 00c2 00C0 rjmp 2f 169 00c4 880F 1: lsl r24 170 00c6 991F rol r25 171 00c8 AA95 2: dec r26 172 00ca 02F4 brpl 1b 173 00cc 8095 com r24 174 00ce 8223 and r24,r18 175 00d0 8083 st Z,r24 176 .LVL8: 177 .L9: 178 00d2 0895 ret 179 .LFE4: 181 .global tmpclrvoxel 183 tmpclrvoxel: 184 .LFB5: 185 .LM10: 186 .LVL9: 187 /* prologue: function */ 188 /* frame size = 0 */ 189 00d4 DC01 movw r26,r24 190 .LBB100: 191 .LBB101: 192 .LM11: 193 00d6 8830 cpi r24,8 194 00d8 9105 cpc r25,__zero_reg__ 195 00da 00F4 brsh .L12 196 00dc 77FD sbrc r23,7 197 00de 00C0 rjmp .L12 198 00e0 6830 cpi r22,8 199 00e2 7105 cpc r23,__zero_reg__ 200 00e4 04F4 brge .L12 201 00e6 57FD sbrc r21,7 202 00e8 00C0 rjmp .L12 203 00ea 4830 cpi r20,8 204 00ec 5105 cpc r21,__zero_reg__ 205 00ee 04F4 brge .L12 206 .LBE101: 207 .LBE100: 208 .LM12: 209 00f0 FA01 movw r30,r20 210 00f2 33E0 ldi r19,3 211 00f4 EE0F 1: lsl r30 212 00f6 FF1F rol r31 213 00f8 3A95 dec r19 214 00fa 01F4 brne 1b 215 00fc E60F add r30,r22 216 00fe F71F adc r31,r23 217 0100 E050 subi r30,lo8(-(fb)) 218 0102 F040 sbci r31,hi8(-(fb)) 219 0104 2081 ld r18,Z 220 0106 81E0 ldi r24,lo8(1) 221 0108 90E0 ldi r25,hi8(1) 222 .LVL10: 223 010a 00C0 rjmp 2f 224 010c 880F 1: lsl r24 225 010e 991F rol r25 226 0110 AA95 2: dec r26 227 0112 02F4 brpl 1b 228 0114 8095 com r24 229 0116 8223 and r24,r18 230 0118 8083 st Z,r24 231 .LVL11: 232 .L12: 233 011a 0895 ret 234 .LFE5: 236 .global inrange 238 inrange: 239 .LFB6: 240 .LM13: 241 .LVL12: 242 /* prologue: function */ 243 /* frame size = 0 */ 244 .LM14: 245 011c 0897 sbiw r24,8 246 011e 00F4 brsh .L14 247 0120 77FD sbrc r23,7 248 0122 00C0 rjmp .L14 249 0124 6830 cpi r22,8 250 0126 7105 cpc r23,__zero_reg__ 251 0128 04F4 brge .L14 252 012a 57FD sbrc r21,7 253 012c 00C0 rjmp .L14 254 012e 90E0 ldi r25,lo8(0) 255 0130 4830 cpi r20,8 256 0132 5105 cpc r21,__zero_reg__ 257 0134 04F0 brlt .L15 258 0136 91E0 ldi r25,lo8(1) 259 .L15: 260 0138 81E0 ldi r24,lo8(1) 261 .LVL13: 262 013a 9827 eor r25,r24 263 013c 00C0 rjmp .L16 264 .LVL14: 265 .L14: 266 013e 90E0 ldi r25,lo8(0) 267 .L16: 268 .LM15: 269 0140 892F mov r24,r25 270 .LVL15: 271 /* epilogue start */ 272 0142 0895 ret 273 .LFE6: 275 .global getvoxel 277 getvoxel: 278 .LFB7: 279 .LM16: 280 .LVL16: 281 /* prologue: function */ 282 /* frame size = 0 */ 283 0144 9C01 movw r18,r24 284 0146 FA01 movw r30,r20 285 .LBB102: 286 .LBB103: 287 .LM17: 288 0148 8830 cpi r24,8 289 014a 9105 cpc r25,__zero_reg__ 290 014c 00F4 brsh .L19 291 .LVL17: 292 014e 77FD sbrc r23,7 293 0150 00C0 rjmp .L19 294 0152 6830 cpi r22,8 295 0154 7105 cpc r23,__zero_reg__ 296 0156 04F4 brge .L19 297 0158 57FD sbrc r21,7 298 015a 00C0 rjmp .L19 299 .LVL18: 300 015c 4830 cpi r20,8 301 015e 5105 cpc r21,__zero_reg__ 302 0160 04F4 brge .L19 303 .LBE103: 304 .LBE102: 305 .LM18: 306 0162 43E0 ldi r20,3 307 0164 EE0F 1: lsl r30 308 0166 FF1F rol r31 309 0168 4A95 dec r20 310 016a 01F4 brne 1b 311 .LVL19: 312 016c E60F add r30,r22 313 016e F71F adc r31,r23 314 0170 E050 subi r30,lo8(-(cube)) 315 0172 F040 sbci r31,hi8(-(cube)) 316 0174 8081 ld r24,Z 317 .LVL20: 318 0176 90E0 ldi r25,lo8(0) 319 0178 00C0 rjmp 2f 320 017a 9595 1: asr r25 321 017c 8795 ror r24 322 017e 2A95 2: dec r18 323 0180 02F4 brpl 1b 324 0182 8170 andi r24,lo8(1) 325 0184 0895 ret 326 .LVL21: 327 .L19: 328 0186 80E0 ldi r24,lo8(0) 329 .LVL22: 330 .LM19: 331 0188 0895 ret 332 .LFE7: 334 .global altervoxel 336 altervoxel: 337 .LFB8: 338 .LM20: 339 .LVL23: 340 /* prologue: function */ 341 /* frame size = 0 */ 342 018a DC01 movw r26,r24 343 .LM21: 344 018c 2130 cpi r18,1 345 018e 3105 cpc r19,__zero_reg__ 346 0190 01F4 brne .L23 347 .LVL24: 348 .LBB104: 349 .LBB105: 350 .LBB106: 351 .LBB107: 352 .LM22: 353 0192 8830 cpi r24,8 354 0194 9105 cpc r25,__zero_reg__ 355 0196 00F4 brsh .L25 356 .LVL25: 357 0198 77FD sbrc r23,7 358 019a 00C0 rjmp .L25 359 019c 6830 cpi r22,8 360 019e 7105 cpc r23,__zero_reg__ 361 01a0 04F4 brge .L25 362 01a2 57FD sbrc r21,7 363 01a4 00C0 rjmp .L25 364 01a6 4830 cpi r20,8 365 01a8 5105 cpc r21,__zero_reg__ 366 01aa 04F4 brge .L25 367 .LBE107: 368 .LBE106: 369 .LM23: 370 01ac FA01 movw r30,r20 371 01ae 53E0 ldi r21,3 372 01b0 EE0F 1: lsl r30 373 01b2 FF1F rol r31 374 01b4 5A95 dec r21 375 01b6 01F4 brne 1b 376 01b8 E60F add r30,r22 377 01ba F71F adc r31,r23 378 01bc E050 subi r30,lo8(-(cube)) 379 01be F040 sbci r31,hi8(-(cube)) 380 01c0 8081 ld r24,Z 381 .LVL26: 382 01c2 00C0 rjmp 2f 383 01c4 220F 1: lsl r18 384 01c6 331F rol r19 385 01c8 AA95 2: dec r26 386 01ca 02F4 brpl 1b 387 .LVL27: 388 01cc 822B or r24,r18 389 01ce 8083 st Z,r24 390 01d0 0895 ret 391 .LVL28: 392 .L23: 393 .LBE105: 394 .LBE104: 395 .LM24: 396 01d2 0E94 0000 call clrvoxel 397 .LVL29: 398 .L25: 399 01d6 0895 ret 400 .LFE8: 402 .global flpvoxel 404 flpvoxel: 405 .LFB9: 406 .LM25: 407 .LVL30: 408 /* prologue: function */ 409 /* frame size = 0 */ 410 01d8 DC01 movw r26,r24 411 .LBB108: 412 .LBB109: 413 .LM26: 414 01da 8830 cpi r24,8 415 01dc 9105 cpc r25,__zero_reg__ 416 01de 00F4 brsh .L28 417 01e0 77FD sbrc r23,7 418 01e2 00C0 rjmp .L28 419 01e4 6830 cpi r22,8 420 01e6 7105 cpc r23,__zero_reg__ 421 01e8 04F4 brge .L28 422 01ea 57FD sbrc r21,7 423 01ec 00C0 rjmp .L28 424 01ee 4830 cpi r20,8 425 01f0 5105 cpc r21,__zero_reg__ 426 01f2 04F4 brge .L28 427 .LBE109: 428 .LBE108: 429 .LM27: 430 01f4 FA01 movw r30,r20 431 01f6 B3E0 ldi r27,3 432 01f8 EE0F 1: lsl r30 433 01fa FF1F rol r31 434 01fc BA95 dec r27 435 01fe 01F4 brne 1b 436 0200 E60F add r30,r22 437 0202 F71F adc r31,r23 438 0204 E050 subi r30,lo8(-(cube)) 439 0206 F040 sbci r31,hi8(-(cube)) 440 0208 2081 ld r18,Z 441 020a 81E0 ldi r24,lo8(1) 442 020c 90E0 ldi r25,hi8(1) 443 .LVL31: 444 020e 00C0 rjmp 2f 445 0210 880F 1: lsl r24 446 0212 991F rol r25 447 0214 AA95 2: dec r26 448 0216 02F4 brpl 1b 449 0218 2827 eor r18,r24 450 021a 2083 st Z,r18 451 .LVL32: 452 .L28: 453 021c 0895 ret 454 .LFE9: 456 .global argorder 458 argorder: 459 .LFB10: 460 .LM28: 461 .LVL33: 462 021e CF93 push r28 463 0220 DF93 push r29 464 /* prologue: function */ 465 /* frame size = 0 */ 466 0222 FC01 movw r30,r24 467 0224 DA01 movw r26,r20 468 0226 E901 movw r28,r18 469 .LM29: 470 0228 6817 cp r22,r24 471 022a 7907 cpc r23,r25 472 022c 04F4 brge .L30 473 .LVL34: 474 022e CB01 movw r24,r22 475 .LVL35: 476 0230 BF01 movw r22,r30 477 .LVL36: 478 0232 FC01 movw r30,r24 479 .LVL37: 480 .L30: 481 .LM30: 482 0234 ED93 st X+,r30 483 0236 FC93 st X,r31 484 .LM31: 485 0238 7983 std Y+1,r23 486 023a 6883 st Y,r22 487 /* epilogue start */ 488 .LM32: 489 023c DF91 pop r29 490 023e CF91 pop r28 491 .LVL38: 492 0240 0895 ret 493 .LFE10: 495 .global setplane_z 497 setplane_z: 498 .LFB11: 499 .LM33: 500 .LVL39: 501 /* prologue: function */ 502 /* frame size = 0 */ 503 .LM34: 504 0242 8830 cpi r24,8 505 0244 9105 cpc r25,__zero_reg__ 506 0246 00F4 brsh .L35 507 0248 20E0 ldi r18,lo8(0) 508 024a 30E0 ldi r19,hi8(0) 509 .LVL40: 510 .LM35: 511 024c 43E0 ldi r20,3 512 024e 880F 1: lsl r24 513 0250 991F rol r25 514 0252 4A95 dec r20 515 0254 01F4 brne 1b 516 .LVL41: 517 0256 4FEF ldi r20,lo8(-1) 518 .L34: 519 0258 FC01 movw r30,r24 520 025a E20F add r30,r18 521 025c F31F adc r31,r19 522 025e E050 subi r30,lo8(-(cube)) 523 0260 F040 sbci r31,hi8(-(cube)) 524 0262 4083 st Z,r20 525 .LM36: 526 0264 2F5F subi r18,lo8(-(1)) 527 0266 3F4F sbci r19,hi8(-(1)) 528 0268 2830 cpi r18,8 529 026a 3105 cpc r19,__zero_reg__ 530 026c 01F4 brne .L34 531 .LVL42: 532 .L35: 533 026e 0895 ret 534 .LFE11: 536 .global clrplane_z 538 clrplane_z: 539 .LFB12: 540 .LM37: 541 .LVL43: 542 /* prologue: function */ 543 /* frame size = 0 */ 544 .LM38: 545 0270 8830 cpi r24,8 546 0272 9105 cpc r25,__zero_reg__ 547 0274 00F4 brsh .L40 548 0276 20E0 ldi r18,lo8(0) 549 0278 30E0 ldi r19,hi8(0) 550 .LVL44: 551 .LM39: 552 027a 53E0 ldi r21,3 553 027c 880F 1: lsl r24 554 027e 991F rol r25 555 0280 5A95 dec r21 556 0282 01F4 brne 1b 557 .LVL45: 558 .L39: 559 0284 FC01 movw r30,r24 560 0286 E20F add r30,r18 561 0288 F31F adc r31,r19 562 028a E050 subi r30,lo8(-(cube)) 563 028c F040 sbci r31,hi8(-(cube)) 564 028e 1082 st Z,__zero_reg__ 565 .LM40: 566 0290 2F5F subi r18,lo8(-(1)) 567 0292 3F4F sbci r19,hi8(-(1)) 568 0294 2830 cpi r18,8 569 0296 3105 cpc r19,__zero_reg__ 570 0298 01F4 brne .L39 571 .LVL46: 572 .L40: 573 029a 0895 ret 574 .LFE12: 576 .global setplane_x 578 setplane_x: 579 .LFB13: 580 .LM41: 581 .LVL47: 582 /* prologue: function */ 583 /* frame size = 0 */ 584 029c 9C01 movw r18,r24 585 .LM42: 586 029e 8830 cpi r24,8 587 02a0 9105 cpc r25,__zero_reg__ 588 02a2 00F4 brsh .L46 589 .LM43: 590 02a4 81E0 ldi r24,lo8(1) 591 02a6 90E0 ldi r25,hi8(1) 592 .LVL48: 593 02a8 00C0 rjmp 2f 594 02aa 880F 1: lsl r24 595 02ac 991F rol r25 596 02ae 2A95 2: dec r18 597 02b0 02F4 brpl 1b 598 02b2 982F mov r25,r24 599 02b4 40E0 ldi r20,lo8(0) 600 02b6 50E0 ldi r21,hi8(0) 601 .LVL49: 602 02b8 00C0 rjmp .L44 603 .LVL50: 604 .L45: 605 02ba FB01 movw r30,r22 606 02bc E20F add r30,r18 607 02be F31F adc r31,r19 608 02c0 E050 subi r30,lo8(-(cube)) 609 02c2 F040 sbci r31,hi8(-(cube)) 610 02c4 8081 ld r24,Z 611 02c6 892B or r24,r25 612 02c8 8083 st Z,r24 613 .LM44: 614 02ca 2F5F subi r18,lo8(-(1)) 615 02cc 3F4F sbci r19,hi8(-(1)) 616 02ce 2830 cpi r18,8 617 02d0 3105 cpc r19,__zero_reg__ 618 02d2 01F4 brne .L45 619 .LM45: 620 02d4 4F5F subi r20,lo8(-(1)) 621 02d6 5F4F sbci r21,hi8(-(1)) 622 02d8 4830 cpi r20,8 623 02da 5105 cpc r21,__zero_reg__ 624 02dc 01F0 breq .L46 625 .LVL51: 626 .L44: 627 02de 20E0 ldi r18,lo8(0) 628 02e0 30E0 ldi r19,hi8(0) 629 .LVL52: 630 .LM46: 631 02e2 BA01 movw r22,r20 632 02e4 E3E0 ldi r30,3 633 02e6 660F 1: lsl r22 634 02e8 771F rol r23 635 02ea EA95 dec r30 636 02ec 01F4 brne 1b 637 02ee 00C0 rjmp .L45 638 .LVL53: 639 .L46: 640 02f0 0895 ret 641 .LFE13: 643 .global clrplane_x 645 clrplane_x: 646 .LFB14: 647 .LM47: 648 .LVL54: 649 /* prologue: function */ 650 /* frame size = 0 */ 651 02f2 9C01 movw r18,r24 652 .LM48: 653 02f4 8830 cpi r24,8 654 02f6 9105 cpc r25,__zero_reg__ 655 02f8 00F4 brsh .L52 656 .LM49: 657 02fa 81E0 ldi r24,lo8(1) 658 02fc 90E0 ldi r25,hi8(1) 659 .LVL55: 660 02fe 00C0 rjmp 2f 661 0300 880F 1: lsl r24 662 0302 991F rol r25 663 0304 2A95 2: dec r18 664 0306 02F4 brpl 1b 665 0308 982F mov r25,r24 666 030a 9095 com r25 667 030c 40E0 ldi r20,lo8(0) 668 030e 50E0 ldi r21,hi8(0) 669 .LVL56: 670 0310 00C0 rjmp .L50 671 .LVL57: 672 .L51: 673 0312 FB01 movw r30,r22 674 0314 E20F add r30,r18 675 0316 F31F adc r31,r19 676 0318 E050 subi r30,lo8(-(cube)) 677 031a F040 sbci r31,hi8(-(cube)) 678 031c 8081 ld r24,Z 679 031e 8923 and r24,r25 680 0320 8083 st Z,r24 681 .LM50: 682 0322 2F5F subi r18,lo8(-(1)) 683 0324 3F4F sbci r19,hi8(-(1)) 684 0326 2830 cpi r18,8 685 0328 3105 cpc r19,__zero_reg__ 686 032a 01F4 brne .L51 687 .LM51: 688 032c 4F5F subi r20,lo8(-(1)) 689 032e 5F4F sbci r21,hi8(-(1)) 690 0330 4830 cpi r20,8 691 0332 5105 cpc r21,__zero_reg__ 692 0334 01F0 breq .L52 693 .LVL58: 694 .L50: 695 0336 20E0 ldi r18,lo8(0) 696 0338 30E0 ldi r19,hi8(0) 697 .LVL59: 698 .LM52: 699 033a BA01 movw r22,r20 700 033c F3E0 ldi r31,3 701 033e 660F 1: lsl r22 702 0340 771F rol r23 703 0342 FA95 dec r31 704 0344 01F4 brne 1b 705 0346 00C0 rjmp .L51 706 .LVL60: 707 .L52: 708 0348 0895 ret 709 .LFE14: 711 .global setplane_y 713 setplane_y: 714 .LFB15: 715 .LM53: 716 .LVL61: 717 /* prologue: function */ 718 /* frame size = 0 */ 719 .LM54: 720 034a 8830 cpi r24,8 721 034c 9105 cpc r25,__zero_reg__ 722 034e 00F4 brsh .L57 723 0350 20E0 ldi r18,lo8(0) 724 0352 30E0 ldi r19,hi8(0) 725 .LVL62: 726 .LM55: 727 0354 4FEF ldi r20,lo8(-1) 728 .L56: 729 0356 F901 movw r30,r18 730 0358 A3E0 ldi r26,3 731 035a EE0F 1: lsl r30 732 035c FF1F rol r31 733 035e AA95 dec r26 734 0360 01F4 brne 1b 735 0362 E80F add r30,r24 736 0364 F91F adc r31,r25 737 0366 E050 subi r30,lo8(-(cube)) 738 0368 F040 sbci r31,hi8(-(cube)) 739 036a 4083 st Z,r20 740 .LM56: 741 036c 2F5F subi r18,lo8(-(1)) 742 036e 3F4F sbci r19,hi8(-(1)) 743 0370 2830 cpi r18,8 744 0372 3105 cpc r19,__zero_reg__ 745 0374 01F4 brne .L56 746 .L57: 747 0376 0895 ret 748 .LFE15: 750 .global clrplane_y 752 clrplane_y: 753 .LFB16: 754 .LM57: 755 .LVL63: 756 /* prologue: function */ 757 /* frame size = 0 */ 758 .LM58: 759 0378 8830 cpi r24,8 760 037a 9105 cpc r25,__zero_reg__ 761 037c 00F4 brsh .L62 762 037e 20E0 ldi r18,lo8(0) 763 0380 30E0 ldi r19,hi8(0) 764 .LVL64: 765 .L61: 766 .LM59: 767 0382 F901 movw r30,r18 768 0384 B3E0 ldi r27,3 769 0386 EE0F 1: lsl r30 770 0388 FF1F rol r31 771 038a BA95 dec r27 772 038c 01F4 brne 1b 773 038e E80F add r30,r24 774 0390 F91F adc r31,r25 775 0392 E050 subi r30,lo8(-(cube)) 776 0394 F040 sbci r31,hi8(-(cube)) 777 0396 1082 st Z,__zero_reg__ 778 .LM60: 779 0398 2F5F subi r18,lo8(-(1)) 780 039a 3F4F sbci r19,hi8(-(1)) 781 039c 2830 cpi r18,8 782 039e 3105 cpc r19,__zero_reg__ 783 03a0 01F4 brne .L61 784 .L62: 785 03a2 0895 ret 786 .LFE16: 788 .global fill 790 fill: 791 .LFB17: 792 .LM61: 793 .LVL65: 794 /* prologue: function */ 795 /* frame size = 0 */ 796 .LM62: 797 03a4 40E0 ldi r20,lo8(0) 798 03a6 50E0 ldi r21,hi8(0) 799 .LVL66: 800 03a8 00C0 rjmp .L65 801 .LVL67: 802 .L66: 803 .LM63: 804 03aa FB01 movw r30,r22 805 03ac E20F add r30,r18 806 03ae F31F adc r31,r19 807 03b0 E050 subi r30,lo8(-(cube)) 808 03b2 F040 sbci r31,hi8(-(cube)) 809 03b4 8083 st Z,r24 810 .LM64: 811 03b6 2F5F subi r18,lo8(-(1)) 812 03b8 3F4F sbci r19,hi8(-(1)) 813 03ba 2830 cpi r18,8 814 03bc 3105 cpc r19,__zero_reg__ 815 03be 01F4 brne .L66 816 .LM65: 817 03c0 4F5F subi r20,lo8(-(1)) 818 03c2 5F4F sbci r21,hi8(-(1)) 819 03c4 4830 cpi r20,8 820 03c6 5105 cpc r21,__zero_reg__ 821 03c8 01F0 breq .L68 822 .L65: 823 03ca 20E0 ldi r18,lo8(0) 824 03cc 30E0 ldi r19,hi8(0) 825 .LM66: 826 03ce BA01 movw r22,r20 827 03d0 93E0 ldi r25,3 828 03d2 660F 1: lsl r22 829 03d4 771F rol r23 830 03d6 9A95 dec r25 831 03d8 01F4 brne 1b 832 03da 00C0 rjmp .L66 833 .L68: 834 03dc 0895 ret 835 .LFE17: 837 .global tmpfill 839 tmpfill: 840 .LFB18: 841 .LM67: 842 .LVL68: 843 /* prologue: function */ 844 /* frame size = 0 */ 845 .LM68: 846 03de 40E0 ldi r20,lo8(0) 847 03e0 50E0 ldi r21,hi8(0) 848 .LVL69: 849 03e2 00C0 rjmp .L71 850 .LVL70: 851 .L72: 852 .LM69: 853 03e4 FB01 movw r30,r22 854 03e6 E20F add r30,r18 855 03e8 F31F adc r31,r19 856 03ea E050 subi r30,lo8(-(fb)) 857 03ec F040 sbci r31,hi8(-(fb)) 858 03ee 8083 st Z,r24 859 .LM70: 860 03f0 2F5F subi r18,lo8(-(1)) 861 03f2 3F4F sbci r19,hi8(-(1)) 862 03f4 2830 cpi r18,8 863 03f6 3105 cpc r19,__zero_reg__ 864 03f8 01F4 brne .L72 865 .LM71: 866 03fa 4F5F subi r20,lo8(-(1)) 867 03fc 5F4F sbci r21,hi8(-(1)) 868 03fe 4830 cpi r20,8 869 0400 5105 cpc r21,__zero_reg__ 870 0402 01F0 breq .L74 871 .L71: 872 0404 20E0 ldi r18,lo8(0) 873 0406 30E0 ldi r19,hi8(0) 874 .LM72: 875 0408 BA01 movw r22,r20 876 040a E3E0 ldi r30,3 877 040c 660F 1: lsl r22 878 040e 771F rol r23 879 0410 EA95 dec r30 880 0412 01F4 brne 1b 881 0414 00C0 rjmp .L72 882 .L74: 883 0416 0895 ret 884 .LFE18: 886 .global box_filled 888 box_filled: 889 .LFB19: 890 .LM73: 891 .LVL71: 892 0418 EF92 push r14 893 .LVL72: 894 041a FF92 push r15 895 041c 0F93 push r16 896 .LVL73: 897 041e 1F93 push r17 898 0420 CF93 push r28 899 0422 DF93 push r29 900 /* prologue: function */ 901 /* frame size = 0 */ 902 0424 DC01 movw r26,r24 903 0426 EB01 movw r28,r22 904 0428 F901 movw r30,r18 905 .LBB110: 906 .LBB111: 907 .LM74: 908 042a 2817 cp r18,r24 909 042c 3907 cpc r19,r25 910 042e 04F4 brge .L77 911 .LVL74: 912 0430 D901 movw r26,r18 913 .LVL75: 914 0432 FC01 movw r30,r24 915 .LVL76: 916 .L77: 917 .LBE111: 918 .LBE110: 919 .LBB112: 920 .LBB113: 921 0434 0C17 cp r16,r28 922 0436 1D07 cpc r17,r29 923 .LVL77: 924 0438 04F4 brge .L78 925 043a CE01 movw r24,r28 926 .LVL78: 927 043c E801 movw r28,r16 928 .LVL79: 929 043e 8C01 movw r16,r24 930 .LVL80: 931 .L78: 932 .LBE113: 933 .LBE112: 934 .LBB114: 935 .LBB115: 936 0440 E416 cp r14,r20 937 0442 F506 cpc r15,r21 938 .LVL81: 939 0444 04F4 brge .L79 940 0446 CA01 movw r24,r20 941 .LVL82: 942 0448 A701 movw r20,r14 943 .LVL83: 944 044a 7C01 movw r14,r24 945 .LVL84: 946 .L79: 947 .LBE115: 948 .LBE114: 949 .LBB116: 950 .LBB117: 951 .LM75: 952 044c 3196 adiw r30,1 953 044e 8FEF ldi r24,lo8(255) 954 0450 90E0 ldi r25,hi8(255) 955 0452 9C01 movw r18,r24 956 0454 00C0 rjmp 2f 957 0456 220F 1: lsl r18 958 0458 331F rol r19 959 045a EA95 2: dec r30 960 045c 02F4 brpl 1b 961 045e 2095 com r18 962 0460 00C0 rjmp 2f 963 0462 880F 1: lsl r24 964 0464 991F rol r25 965 0466 AA95 2: dec r26 966 0468 02F4 brpl 1b 967 046a 2823 and r18,r24 968 046c 00C0 rjmp .L80 969 .LVL85: 970 .L81: 971 .LBE117: 972 .LBE116: 973 .LM76: 974 046e FB01 movw r30,r22 975 .LVL86: 976 0470 EA0F add r30,r26 977 0472 FB1F adc r31,r27 978 0474 E050 subi r30,lo8(-(cube)) 979 0476 F040 sbci r31,hi8(-(cube)) 980 0478 8081 ld r24,Z 981 047a 822B or r24,r18 982 047c 8083 st Z,r24 983 .LM77: 984 047e 1196 adiw r26,1 985 .LVL87: 986 .L83: 987 0480 0A17 cp r16,r26 988 0482 1B07 cpc r17,r27 989 0484 04F4 brge .L81 990 .LM78: 991 0486 4F5F subi r20,lo8(-(1)) 992 0488 5F4F sbci r21,hi8(-(1)) 993 .LVL88: 994 .L80: 995 048a E416 cp r14,r20 996 048c F506 cpc r15,r21 997 048e 04F0 brlt .L84 998 0490 DE01 movw r26,r28 999 .LVL89: 1000 .LM79: 1001 0492 BA01 movw r22,r20 1002 0494 F3E0 ldi r31,3 1003 0496 660F 1: lsl r22 1004 0498 771F rol r23 1005 049a FA95 dec r31 1006 049c 01F4 brne 1b 1007 049e 00C0 rjmp .L83 1008 .LVL90: 1009 .L84: 1010 /* epilogue start */ 1011 .LM80: 1012 04a0 DF91 pop r29 1013 04a2 CF91 pop r28 1014 .LVL91: 1015 04a4 1F91 pop r17 1016 04a6 0F91 pop r16 1017 .LVL92: 1018 04a8 FF90 pop r15 1019 04aa EF90 pop r14 1020 .LVL93: 1021 04ac 0895 ret 1022 .LFE19: 1024 .global box_walls 1026 box_walls: 1027 .LFB20: 1028 .LM81: 1029 .LVL94: 1030 04ae CF92 push r12 1031 04b0 DF92 push r13 1032 04b2 EF92 push r14 1033 .LVL95: 1034 04b4 FF92 push r15 1035 04b6 0F93 push r16 1036 .LVL96: 1037 04b8 1F93 push r17 1038 04ba CF93 push r28 1039 04bc DF93 push r29 1040 /* prologue: function */ 1041 /* frame size = 0 */ 1042 04be DC01 movw r26,r24 1043 04c0 F901 movw r30,r18 1044 .LBB118: 1045 .LBB119: 1046 .LM82: 1047 04c2 2817 cp r18,r24 1048 04c4 3907 cpc r19,r25 1049 04c6 04F4 brge .L86 1050 04c8 D901 movw r26,r18 1051 .LVL97: 1052 04ca FC01 movw r30,r24 1053 .LVL98: 1054 .L86: 1055 .LBE119: 1056 .LBE118: 1057 .LBB120: 1058 .LBB121: 1059 04cc 0617 cp r16,r22 1060 04ce 1707 cpc r17,r23 1061 .LVL99: 1062 04d0 04F4 brge .L87 1063 04d2 CB01 movw r24,r22 1064 .LVL100: 1065 04d4 B801 movw r22,r16 1066 .LVL101: 1067 04d6 8C01 movw r16,r24 1068 .LVL102: 1069 .L87: 1070 .LBE121: 1071 .LBE120: 1072 .LBB122: 1073 .LBB123: 1074 04d8 E416 cp r14,r20 1075 04da F506 cpc r15,r21 1076 .LVL103: 1077 04dc 04F4 brge .L88 1078 04de CA01 movw r24,r20 1079 .LVL104: 1080 04e0 A701 movw r20,r14 1081 .LVL105: 1082 04e2 7C01 movw r14,r24 1083 .LVL106: 1084 .L88: 1085 .LBE123: 1086 .LBE122: 1087 .LM83: 1088 04e4 81E0 ldi r24,lo8(1) 1089 04e6 90E0 ldi r25,hi8(1) 1090 04e8 9C01 movw r18,r24 1091 04ea 0E2E mov r0,r30 1092 04ec 00C0 rjmp 2f 1093 04ee 220F 1: lsl r18 1094 04f0 331F rol r19 1095 04f2 0A94 2: dec r0 1096 04f4 02F4 brpl 1b 1097 04f6 0A2E mov r0,r26 1098 04f8 00C0 rjmp 2f 1099 04fa 880F 1: lsl r24 1100 04fc 991F rol r25 1101 04fe 0A94 2: dec r0 1102 0500 02F4 brpl 1b 1103 0502 C22E mov r12,r18 1104 0504 C82A or r12,r24 1105 .LBB124: 1106 .LBB125: 1107 .LM84: 1108 0506 3196 adiw r30,1 1109 0508 8FEF ldi r24,lo8(255) 1110 050a 90E0 ldi r25,hi8(255) 1111 050c 9C01 movw r18,r24 1112 050e 00C0 rjmp 2f 1113 0510 220F 1: lsl r18 1114 0512 331F rol r19 1115 0514 EA95 2: dec r30 1116 0516 02F4 brpl 1b 1117 0518 D22E mov r13,r18 1118 051a D094 com r13 1119 051c 00C0 rjmp 2f 1120 051e 880F 1: lsl r24 1121 0520 991F rol r25 1122 0522 AA95 2: dec r26 1123 0524 02F4 brpl 1b 1124 0526 D822 and r13,r24 1125 0528 9A01 movw r18,r20 1126 .LVL107: 1127 052a 00C0 rjmp .L89 1128 .LVL108: 1129 .L93: 1130 .LBE125: 1131 .LBE124: 1132 .LM85: 1133 052c A617 cp r26,r22 1134 052e B707 cpc r27,r23 1135 0530 01F0 breq .L90 1136 0532 A017 cp r26,r16 1137 0534 B107 cpc r27,r17 1138 0536 01F0 breq .L90 1139 0538 2417 cp r18,r20 1140 053a 3507 cpc r19,r21 1141 053c 01F0 breq .L90 1142 053e 2E15 cp r18,r14 1143 0540 3F05 cpc r19,r15 1144 0542 01F4 brne .L91 1145 .L90: 1146 .LM86: 1147 0544 FE01 movw r30,r28 1148 .LVL109: 1149 0546 EA0F add r30,r26 1150 0548 FB1F adc r31,r27 1151 054a E050 subi r30,lo8(-(cube)) 1152 054c F040 sbci r31,hi8(-(cube)) 1153 054e D082 st Z,r13 1154 0550 00C0 rjmp .L92 1155 .LVL110: 1156 .L91: 1157 .LM87: 1158 0552 FE01 movw r30,r28 1159 .LVL111: 1160 0554 EA0F add r30,r26 1161 0556 FB1F adc r31,r27 1162 0558 E050 subi r30,lo8(-(cube)) 1163 055a F040 sbci r31,hi8(-(cube)) 1164 055c 8081 ld r24,Z 1165 055e 8C29 or r24,r12 1166 0560 8083 st Z,r24 1167 .L92: 1168 .LM88: 1169 0562 1196 adiw r26,1 1170 .LVL112: 1171 .L95: 1172 0564 0A17 cp r16,r26 1173 0566 1B07 cpc r17,r27 1174 0568 04F4 brge .L93 1175 .LM89: 1176 056a 2F5F subi r18,lo8(-(1)) 1177 056c 3F4F sbci r19,hi8(-(1)) 1178 .LVL113: 1179 .L89: 1180 056e E216 cp r14,r18 1181 0570 F306 cpc r15,r19 1182 0572 04F0 brlt .L96 1183 0574 DB01 movw r26,r22 1184 .LVL114: 1185 .LM90: 1186 0576 E901 movw r28,r18 1187 0578 83E0 ldi r24,3 1188 057a CC0F 1: lsl r28 1189 057c DD1F rol r29 1190 057e 8A95 dec r24 1191 0580 01F4 brne 1b 1192 0582 00C0 rjmp .L95 1193 .LVL115: 1194 .L96: 1195 /* epilogue start */ 1196 .LM91: 1197 0584 DF91 pop r29 1198 0586 CF91 pop r28 1199 0588 1F91 pop r17 1200 058a 0F91 pop r16 1201 .LVL116: 1202 058c FF90 pop r15 1203 058e EF90 pop r14 1204 .LVL117: 1205 0590 DF90 pop r13 1206 0592 CF90 pop r12 1207 0594 0895 ret 1208 .LFE20: 1210 .global box_wireframe 1212 box_wireframe: 1213 .LFB21: 1214 .LM92: 1215 .LVL118: 1216 0596 8F92 push r8 1217 0598 9F92 push r9 1218 059a AF92 push r10 1219 059c BF92 push r11 1220 059e CF92 push r12 1221 05a0 DF92 push r13 1222 05a2 EF92 push r14 1223 .LVL119: 1224 05a4 FF92 push r15 1225 05a6 0F93 push r16 1226 .LVL120: 1227 05a8 1F93 push r17 1228 05aa CF93 push r28 1229 05ac DF93 push r29 1230 /* prologue: function */ 1231 /* frame size = 0 */ 1232 05ae 4C01 movw r8,r24 1233 05b0 6B01 movw r12,r22 1234 05b2 EA01 movw r28,r20 1235 05b4 5901 movw r10,r18 1236 .LBB126: 1237 .LBB127: 1238 .LM93: 1239 05b6 2817 cp r18,r24 1240 05b8 3907 cpc r19,r25 1241 05ba 04F4 brge .L98 1242 .LVL121: 1243 05bc 4901 movw r8,r18 1244 .LVL122: 1245 05be 5C01 movw r10,r24 1246 .LVL123: 1247 .L98: 1248 .LBE127: 1249 .LBE126: 1250 .LBB128: 1251 .LBB129: 1252 05c0 0C15 cp r16,r12 1253 05c2 1D05 cpc r17,r13 1254 .LVL124: 1255 05c4 04F4 brge .L99 1256 05c6 C601 movw r24,r12 1257 .LVL125: 1258 05c8 6801 movw r12,r16 1259 .LVL126: 1260 05ca 8C01 movw r16,r24 1261 .LVL127: 1262 .L99: 1263 .LBE129: 1264 .LBE128: 1265 .LBB130: 1266 .LBB131: 1267 05cc EC16 cp r14,r28 1268 05ce FD06 cpc r15,r29 1269 .LVL128: 1270 05d0 04F4 brge .L100 1271 05d2 CE01 movw r24,r28 1272 .LVL129: 1273 05d4 E701 movw r28,r14 1274 .LVL130: 1275 05d6 7C01 movw r14,r24 1276 .LVL131: 1277 .L100: 1278 .LBE131: 1279 .LBE130: 1280 .LBB132: 1281 .LBB133: 1282 .LM94: 1283 05d8 0894 sec 1284 05da A11C adc r10,__zero_reg__ 1285 05dc B11C adc r11,__zero_reg__ 1286 05de 8FEF ldi r24,lo8(255) 1287 05e0 90E0 ldi r25,hi8(255) 1288 05e2 9C01 movw r18,r24 1289 05e4 0A2C mov r0,r10 1290 05e6 00C0 rjmp 2f 1291 05e8 220F 1: lsl r18 1292 05ea 331F rol r19 1293 05ec 0A94 2: dec r0 1294 05ee 02F4 brpl 1b 1295 05f0 0894 sec 1296 05f2 A108 sbc r10,__zero_reg__ 1297 05f4 B108 sbc r11,__zero_reg__ 1298 05f6 2095 com r18 1299 05f8 082C mov r0,r8 1300 05fa 00C0 rjmp 2f 1301 05fc 880F 1: lsl r24 1302 05fe 991F rol r25 1303 0600 0A94 2: dec r0 1304 0602 02F4 brpl 1b 1305 0604 2823 and r18,r24 1306 .LBE133: 1307 .LBE132: 1308 .LM95: 1309 0606 BE01 movw r22,r28 1310 0608 83E0 ldi r24,3 1311 060a 660F 1: lsl r22 1312 060c 771F rol r23 1313 060e 8A95 dec r24 1314 0610 01F4 brne 1b 1315 0612 FB01 movw r30,r22 1316 0614 EC0D add r30,r12 1317 0616 FD1D adc r31,r13 1318 0618 E050 subi r30,lo8(-(cube)) 1319 061a F040 sbci r31,hi8(-(cube)) 1320 061c 2083 st Z,r18 1321 .LM96: 1322 061e FB01 movw r30,r22 1323 0620 E00F add r30,r16 1324 0622 F11F adc r31,r17 1325 0624 E050 subi r30,lo8(-(cube)) 1326 0626 F040 sbci r31,hi8(-(cube)) 1327 0628 2083 st Z,r18 1328 .LM97: 1329 062a A701 movw r20,r14 1330 062c B3E0 ldi r27,3 1331 062e 440F 1: lsl r20 1332 0630 551F rol r21 1333 0632 BA95 dec r27 1334 0634 01F4 brne 1b 1335 0636 FA01 movw r30,r20 1336 0638 EC0D add r30,r12 1337 063a FD1D adc r31,r13 1338 063c E050 subi r30,lo8(-(cube)) 1339 063e F040 sbci r31,hi8(-(cube)) 1340 0640 2083 st Z,r18 1341 .LM98: 1342 0642 FA01 movw r30,r20 1343 0644 E00F add r30,r16 1344 0646 F11F adc r31,r17 1345 0648 E050 subi r30,lo8(-(cube)) 1346 064a F040 sbci r31,hi8(-(cube)) 1347 064c 2083 st Z,r18 1348 .LBB134: 1349 .LBB135: 1350 .LM99: 1351 064e 81E0 ldi r24,lo8(1) 1352 0650 90E0 ldi r25,hi8(1) 1353 0652 9C01 movw r18,r24 1354 0654 082C mov r0,r8 1355 0656 00C0 rjmp 2f 1356 0658 220F 1: lsl r18 1357 065a 331F rol r19 1358 065c 0A94 2: dec r0 1359 065e 02F4 brpl 1b 1360 .LBE135: 1361 .LBE134: 1362 .LBB139: 1363 .LBB140: 1364 0660 0A2C mov r0,r10 1365 0662 00C0 rjmp 2f 1366 0664 880F 1: lsl r24 1367 0666 991F rol r25 1368 0668 0A94 2: dec r0 1369 066a 02F4 brpl 1b 1370 066c 982F mov r25,r24 1371 066e D601 movw r26,r12 1372 .LVL132: 1373 0670 00C0 rjmp .L101 1374 .L106: 1375 .LBE140: 1376 .LBE139: 1377 .LBB144: 1378 .LBB138: 1379 .LBB136: 1380 .LBB137: 1381 .LM100: 1382 0672 88E0 ldi r24,lo8(8) 1383 0674 8816 cp r8,r24 1384 0676 9104 cpc r9,__zero_reg__ 1385 0678 00F4 brsh .L102 1386 067a B7FD sbrc r27,7 1387 067c 00C0 rjmp .L102 1388 067e A830 cpi r26,8 1389 0680 B105 cpc r27,__zero_reg__ 1390 0682 04F4 brge .L102 1391 0684 D7FD sbrc r29,7 1392 0686 00C0 rjmp .L103 1393 0688 C830 cpi r28,8 1394 068a D105 cpc r29,__zero_reg__ 1395 068c 04F4 brge .L103 1396 .LBE137: 1397 .LBE136: 1398 .LM101: 1399 068e FB01 movw r30,r22 1400 0690 EA0F add r30,r26 1401 0692 FB1F adc r31,r27 1402 0694 E050 subi r30,lo8(-(cube)) 1403 0696 F040 sbci r31,hi8(-(cube)) 1404 0698 8081 ld r24,Z 1405 069a 822B or r24,r18 1406 069c 8083 st Z,r24 1407 .L103: 1408 .LBE138: 1409 .LBE144: 1410 .LBB145: 1411 .LBB146: 1412 .LBB147: 1413 .LBB148: 1414 .LM102: 1415 069e F7FC sbrc r15,7 1416 06a0 00C0 rjmp .L102 1417 06a2 88E0 ldi r24,lo8(8) 1418 06a4 E816 cp r14,r24 1419 06a6 F104 cpc r15,__zero_reg__ 1420 06a8 04F4 brge .L102 1421 .LBE148: 1422 .LBE147: 1423 .LM103: 1424 06aa FA01 movw r30,r20 1425 06ac EA0F add r30,r26 1426 06ae FB1F adc r31,r27 1427 06b0 E050 subi r30,lo8(-(cube)) 1428 06b2 F040 sbci r31,hi8(-(cube)) 1429 06b4 8081 ld r24,Z 1430 06b6 822B or r24,r18 1431 06b8 8083 st Z,r24 1432 .L102: 1433 .LBE146: 1434 .LBE145: 1435 .LBB149: 1436 .LBB143: 1437 .LBB141: 1438 .LBB142: 1439 .LM104: 1440 06ba 88E0 ldi r24,lo8(8) 1441 06bc A816 cp r10,r24 1442 06be B104 cpc r11,__zero_reg__ 1443 06c0 00F4 brsh .L104 1444 06c2 B7FD sbrc r27,7 1445 06c4 00C0 rjmp .L104 1446 06c6 A830 cpi r26,8 1447 06c8 B105 cpc r27,__zero_reg__ 1448 06ca 04F4 brge .L104 1449 06cc D7FD sbrc r29,7 1450 06ce 00C0 rjmp .L105 1451 06d0 C830 cpi r28,8 1452 06d2 D105 cpc r29,__zero_reg__ 1453 06d4 04F4 brge .L105 1454 .LBE142: 1455 .LBE141: 1456 .LM105: 1457 06d6 FB01 movw r30,r22 1458 06d8 EA0F add r30,r26 1459 06da FB1F adc r31,r27 1460 06dc E050 subi r30,lo8(-(cube)) 1461 06de F040 sbci r31,hi8(-(cube)) 1462 06e0 8081 ld r24,Z 1463 06e2 892B or r24,r25 1464 06e4 8083 st Z,r24 1465 .L105: 1466 .LBE143: 1467 .LBE149: 1468 .LBB150: 1469 .LBB151: 1470 .LBB152: 1471 .LBB153: 1472 .LM106: 1473 06e6 F7FC sbrc r15,7 1474 06e8 00C0 rjmp .L104 1475 06ea 88E0 ldi r24,lo8(8) 1476 06ec E816 cp r14,r24 1477 06ee F104 cpc r15,__zero_reg__ 1478 06f0 04F4 brge .L104 1479 .LBE153: 1480 .LBE152: 1481 .LM107: 1482 06f2 FA01 movw r30,r20 1483 06f4 EA0F add r30,r26 1484 06f6 FB1F adc r31,r27 1485 06f8 E050 subi r30,lo8(-(cube)) 1486 06fa F040 sbci r31,hi8(-(cube)) 1487 06fc 8081 ld r24,Z 1488 06fe 892B or r24,r25 1489 0700 8083 st Z,r24 1490 .L104: 1491 .LBE151: 1492 .LBE150: 1493 .LM108: 1494 0702 1196 adiw r26,1 1495 .L101: 1496 0704 0A17 cp r16,r26 1497 0706 1B07 cpc r17,r27 1498 0708 04F0 brlt .+2 1499 070a 00C0 rjmp .L106 1500 070c AE01 movw r20,r28 1501 .LVL133: 1502 070e 00C0 rjmp .L107 1503 .L112: 1504 .LBB154: 1505 .LBB155: 1506 .LBB156: 1507 .LBB157: 1508 .LM109: 1509 0710 88E0 ldi r24,lo8(8) 1510 0712 8816 cp r8,r24 1511 0714 9104 cpc r9,__zero_reg__ 1512 0716 00F4 brsh .L108 1513 0718 D7FC sbrc r13,7 1514 071a 00C0 rjmp .L109 1515 071c 88E0 ldi r24,lo8(8) 1516 071e C816 cp r12,r24 1517 0720 D104 cpc r13,__zero_reg__ 1518 0722 04F4 brge .L109 1519 0724 57FD sbrc r21,7 1520 0726 00C0 rjmp .L109 1521 0728 4830 cpi r20,8 1522 072a 5105 cpc r21,__zero_reg__ 1523 072c 04F4 brge .L109 1524 .LBE157: 1525 .LBE156: 1526 .LM110: 1527 072e FA01 movw r30,r20 1528 0730 A3E0 ldi r26,3 1529 0732 EE0F 1: lsl r30 1530 0734 FF1F rol r31 1531 0736 AA95 dec r26 1532 0738 01F4 brne 1b 1533 .LVL134: 1534 073a EC0D add r30,r12 1535 073c FD1D adc r31,r13 1536 073e E050 subi r30,lo8(-(cube)) 1537 0740 F040 sbci r31,hi8(-(cube)) 1538 0742 8081 ld r24,Z 1539 0744 822B or r24,r18 1540 0746 8083 st Z,r24 1541 .LVL135: 1542 .L109: 1543 .LBE155: 1544 .LBE154: 1545 .LBB158: 1546 .LBB159: 1547 .LBB160: 1548 .LBB161: 1549 .LM111: 1550 0748 17FD sbrc r17,7 1551 074a 00C0 rjmp .L108 1552 074c 0830 cpi r16,8 1553 074e 1105 cpc r17,__zero_reg__ 1554 0750 04F4 brge .L108 1555 0752 57FD sbrc r21,7 1556 0754 00C0 rjmp .L108 1557 0756 4830 cpi r20,8 1558 0758 5105 cpc r21,__zero_reg__ 1559 075a 04F4 brge .L108 1560 .LBE161: 1561 .LBE160: 1562 .LM112: 1563 075c FA01 movw r30,r20 1564 075e 73E0 ldi r23,3 1565 0760 EE0F 1: lsl r30 1566 0762 FF1F rol r31 1567 0764 7A95 dec r23 1568 0766 01F4 brne 1b 1569 0768 E00F add r30,r16 1570 076a F11F adc r31,r17 1571 076c E050 subi r30,lo8(-(cube)) 1572 076e F040 sbci r31,hi8(-(cube)) 1573 0770 8081 ld r24,Z 1574 0772 822B or r24,r18 1575 0774 8083 st Z,r24 1576 .L108: 1577 .LBE159: 1578 .LBE158: 1579 .LBB162: 1580 .LBB163: 1581 .LBB164: 1582 .LBB165: 1583 .LM113: 1584 0776 88E0 ldi r24,lo8(8) 1585 0778 A816 cp r10,r24 1586 077a B104 cpc r11,__zero_reg__ 1587 077c 00F4 brsh .L110 1588 077e D7FC sbrc r13,7 1589 0780 00C0 rjmp .L111 1590 0782 88E0 ldi r24,lo8(8) 1591 0784 C816 cp r12,r24 1592 0786 D104 cpc r13,__zero_reg__ 1593 0788 04F4 brge .L111 1594 078a 57FD sbrc r21,7 1595 078c 00C0 rjmp .L111 1596 078e 4830 cpi r20,8 1597 0790 5105 cpc r21,__zero_reg__ 1598 0792 04F4 brge .L111 1599 .LBE165: 1600 .LBE164: 1601 .LM114: 1602 0794 FA01 movw r30,r20 1603 0796 63E0 ldi r22,3 1604 0798 EE0F 1: lsl r30 1605 079a FF1F rol r31 1606 079c 6A95 dec r22 1607 079e 01F4 brne 1b 1608 07a0 EC0D add r30,r12 1609 07a2 FD1D adc r31,r13 1610 07a4 E050 subi r30,lo8(-(cube)) 1611 07a6 F040 sbci r31,hi8(-(cube)) 1612 07a8 8081 ld r24,Z 1613 07aa 892B or r24,r25 1614 07ac 8083 st Z,r24 1615 .L111: 1616 .LBE163: 1617 .LBE162: 1618 .LBB166: 1619 .LBB167: 1620 .LBB168: 1621 .LBB169: 1622 .LM115: 1623 07ae 17FD sbrc r17,7 1624 07b0 00C0 rjmp .L110 1625 07b2 0830 cpi r16,8 1626 07b4 1105 cpc r17,__zero_reg__ 1627 07b6 04F4 brge .L110 1628 07b8 57FD sbrc r21,7 1629 07ba 00C0 rjmp .L110 1630 07bc 4830 cpi r20,8 1631 07be 5105 cpc r21,__zero_reg__ 1632 07c0 04F4 brge .L110 1633 .LBE169: 1634 .LBE168: 1635 .LM116: 1636 07c2 FA01 movw r30,r20 1637 07c4 33E0 ldi r19,3 1638 07c6 EE0F 1: lsl r30 1639 07c8 FF1F rol r31 1640 07ca 3A95 dec r19 1641 07cc 01F4 brne 1b 1642 07ce E00F add r30,r16 1643 07d0 F11F adc r31,r17 1644 07d2 E050 subi r30,lo8(-(cube)) 1645 07d4 F040 sbci r31,hi8(-(cube)) 1646 07d6 8081 ld r24,Z 1647 07d8 892B or r24,r25 1648 07da 8083 st Z,r24 1649 .L110: 1650 .LBE167: 1651 .LBE166: 1652 .LM117: 1653 07dc 4F5F subi r20,lo8(-(1)) 1654 07de 5F4F sbci r21,hi8(-(1)) 1655 .L107: 1656 07e0 E416 cp r14,r20 1657 07e2 F506 cpc r15,r21 1658 07e4 04F0 brlt .+2 1659 07e6 00C0 rjmp .L112 1660 /* epilogue start */ 1661 .LM118: 1662 07e8 DF91 pop r29 1663 07ea CF91 pop r28 1664 .LVL136: 1665 07ec 1F91 pop r17 1666 07ee 0F91 pop r16 1667 .LVL137: 1668 07f0 FF90 pop r15 1669 07f2 EF90 pop r14 1670 .LVL138: 1671 07f4 DF90 pop r13 1672 07f6 CF90 pop r12 1673 .LVL139: 1674 07f8 BF90 pop r11 1675 07fa AF90 pop r10 1676 .LVL140: 1677 07fc 9F90 pop r9 1678 07fe 8F90 pop r8 1679 .LVL141: 1680 0800 0895 ret 1681 .LFE21: 1683 .global byteline 1685 byteline: 1686 .LFB22: 1687 .LM119: 1688 .LVL142: 1689 /* prologue: function */ 1690 /* frame size = 0 */ 1691 .LM120: 1692 0802 6F5F subi r22,lo8(-(1)) 1693 0804 7F4F sbci r23,hi8(-(1)) 1694 .LVL143: 1695 0806 2FEF ldi r18,lo8(255) 1696 0808 30E0 ldi r19,hi8(255) 1697 080a A901 movw r20,r18 1698 080c 00C0 rjmp 2f 1699 080e 440F 1: lsl r20 1700 0810 551F rol r21 1701 0812 6A95 2: dec r22 1702 0814 02F4 brpl 1b 1703 0816 BA01 movw r22,r20 1704 .LVL144: 1705 0818 6095 com r22 1706 081a 00C0 rjmp 2f 1707 081c 220F 1: lsl r18 1708 081e 331F rol r19 1709 0820 8A95 2: dec r24 1710 0822 02F4 brpl 1b 1711 .LM121: 1712 0824 862F mov r24,r22 1713 .LVL145: 1714 0826 8223 and r24,r18 1715 /* epilogue start */ 1716 0828 0895 ret 1717 .LFE22: 1719 .global flipbyte 1721 flipbyte: 1722 .LFB23: 1723 .LM122: 1724 .LVL146: 1725 /* prologue: function */ 1726 /* frame size = 0 */ 1727 082a 482F mov r20,r24 1728 .LM123: 1729 082c 282F mov r18,r24 1730 082e 30E0 ldi r19,lo8(0) 1731 0830 8295 swap r24 1732 .LVL147: 1733 0832 8695 lsr r24 1734 0834 8270 andi r24,lo8(2) 1735 0836 942F mov r25,r20 1736 0838 991F rol r25 1737 083a 9927 clr r25 1738 083c 991F rol r25 1739 083e 892B or r24,r25 1740 0840 942F mov r25,r20 1741 0842 9695 lsr r25 1742 0844 9695 lsr r25 1743 0846 9695 lsr r25 1744 0848 9470 andi r25,lo8(4) 1745 084a 892B or r24,r25 1746 084c 4695 lsr r20 1747 084e 4870 andi r20,lo8(8) 1748 0850 842B or r24,r20 1749 0852 220F lsl r18 1750 0854 331F rol r19 1751 0856 922F mov r25,r18 1752 0858 9071 andi r25,lo8(16) 1753 085a 892B or r24,r25 1754 085c 220F lsl r18 1755 085e 331F rol r19 1756 0860 220F lsl r18 1757 0862 331F rol r19 1758 0864 922F mov r25,r18 1759 0866 9072 andi r25,lo8(32) 1760 0868 892B or r24,r25 1761 086a 220F lsl r18 1762 086c 331F rol r19 1763 086e 220F lsl r18 1764 0870 331F rol r19 1765 .LVL148: 1766 0872 922F mov r25,r18 1767 0874 9074 andi r25,lo8(64) 1768 0876 892B or r24,r25 1769 0878 220F lsl r18 1770 087a 331F rol r19 1771 087c 220F lsl r18 1772 087e 331F rol r19 1773 .LM124: 1774 0880 822B or r24,r18 1775 /* epilogue start */ 1776 0882 0895 ret 1777 .LFE23: 1779 .global line 1781 line: 1782 .LFB24: 1783 .LM125: 1784 .LVL149: 1785 0884 2F92 push r2 1786 0886 3F92 push r3 1787 0888 4F92 push r4 1788 088a 5F92 push r5 1789 088c 6F92 push r6 1790 088e 7F92 push r7 1791 0890 8F92 push r8 1792 0892 9F92 push r9 1793 0894 AF92 push r10 1794 0896 BF92 push r11 1795 0898 CF92 push r12 1796 089a DF92 push r13 1797 089c EF92 push r14 1798 .LVL150: 1799 089e FF92 push r15 1800 08a0 0F93 push r16 1801 .LVL151: 1802 08a2 1F93 push r17 1803 08a4 DF93 push r29 1804 08a6 CF93 push r28 1805 08a8 CDB7 in r28,__SP_L__ 1806 08aa DEB7 in r29,__SP_H__ 1807 08ac 6297 sbiw r28,18 1808 08ae 0FB6 in __tmp_reg__,__SREG__ 1809 08b0 F894 cli 1810 08b2 DEBF out __SP_H__,r29 1811 08b4 0FBE out __SREG__,__tmp_reg__ 1812 08b6 CDBF out __SP_L__,r28 1813 /* prologue: function */ 1814 /* frame size = 18 */ 1815 08b8 4C01 movw r8,r24 1816 08ba 5B01 movw r10,r22 1817 08bc 2A01 movw r4,r20 1818 08be 3901 movw r6,r18 1819 08c0 6701 movw r12,r14 1820 .LVL152: 1821 .LM126: 1822 08c2 2817 cp r18,r24 1823 08c4 3907 cpc r19,r25 1824 08c6 04F4 brge .L119 1825 .LVL153: 1826 08c8 3401 movw r6,r8 1827 .LVL154: 1828 08ca 4901 movw r8,r18 1829 08cc C801 movw r24,r16 1830 .LVL155: 1831 08ce 8B01 movw r16,r22 1832 .LVL156: 1833 08d0 5C01 movw r10,r24 1834 08d2 6A01 movw r12,r20 1835 08d4 2701 movw r4,r14 1836 .LVL157: 1837 .L119: 1838 08d6 1301 movw r2,r6 1839 08d8 2818 sub r2,r8 1840 08da 3908 sbc r3,r9 1841 .LM127: 1842 08dc 0A15 cp r16,r10 1843 08de 1B05 cpc r17,r11 1844 08e0 04F4 brge .L120 1845 .LM128: 1846 08e2 B501 movw r22,r10 1847 08e4 601B sub r22,r16 1848 08e6 710B sbc r23,r17 1849 08e8 8827 clr r24 1850 08ea 77FD sbrc r23,7 1851 08ec 8095 com r24 1852 08ee 982F mov r25,r24 1853 08f0 00C0 rjmp .L128 1854 .LVL158: 1855 .L120: 1856 .LM129: 1857 08f2 0A19 sub r16,r10 1858 08f4 1B09 sbc r17,r11 1859 08f6 B801 movw r22,r16 1860 08f8 8827 clr r24 1861 08fa 77FD sbrc r23,7 1862 08fc 8095 com r24 1863 08fe 982F mov r25,r24 1864 .L128: 1865 0900 0E94 0000 call __floatsisf 1866 0904 7B01 movw r14,r22 1867 0906 8C01 movw r16,r24 1868 0908 B101 movw r22,r2 1869 090a 8827 clr r24 1870 090c 77FD sbrc r23,7 1871 090e 8095 com r24 1872 0910 982F mov r25,r24 1873 0912 0E94 0000 call __floatsisf 1874 0916 9B01 movw r18,r22 1875 0918 AC01 movw r20,r24 1876 091a C801 movw r24,r16 1877 091c B701 movw r22,r14 1878 091e 0E94 0000 call __divsf3 1879 0922 6D83 std Y+5,r22 1880 0924 7E83 std Y+6,r23 1881 0926 8F83 std Y+7,r24 1882 0928 9887 std Y+8,r25 1883 .LVL159: 1884 092a 1301 movw r2,r6 1885 092c 2818 sub r2,r8 1886 092e 3908 sbc r3,r9 1887 .LM130: 1888 0930 C414 cp r12,r4 1889 0932 D504 cpc r13,r5 1890 0934 04F4 brge .L122 1891 .LM131: 1892 0936 B201 movw r22,r4 1893 0938 6C19 sub r22,r12 1894 093a 7D09 sbc r23,r13 1895 093c 8827 clr r24 1896 093e 77FD sbrc r23,7 1897 0940 8095 com r24 1898 0942 982F mov r25,r24 1899 0944 00C0 rjmp .L129 1900 .L122: 1901 .LM132: 1902 0946 C418 sub r12,r4 1903 0948 D508 sbc r13,r5 1904 094a B601 movw r22,r12 1905 094c 8827 clr r24 1906 094e 77FD sbrc r23,7 1907 0950 8095 com r24 1908 0952 982F mov r25,r24 1909 .L129: 1910 0954 0E94 0000 call __floatsisf 1911 0958 7B01 movw r14,r22 1912 095a 8C01 movw r16,r24 1913 095c B101 movw r22,r2 1914 095e 8827 clr r24 1915 0960 77FD sbrc r23,7 1916 0962 8095 com r24 1917 0964 982F mov r25,r24 1918 0966 0E94 0000 call __floatsisf 1919 096a 9B01 movw r18,r22 1920 096c AC01 movw r20,r24 1921 096e C801 movw r24,r16 1922 0970 B701 movw r22,r14 1923 0972 0E94 0000 call __divsf3 1924 0976 6983 std Y+1,r22 1925 0978 7A83 std Y+2,r23 1926 097a 8B83 std Y+3,r24 1927 097c 9C83 std Y+4,r25 1928 .LVL160: 1929 .LM133: 1930 097e 382C mov r3,r8 1931 .LVL161: 1932 .LM134: 1933 0980 C501 movw r24,r10 1934 0982 AA27 clr r26 1935 0984 97FD sbrc r25,7 1936 0986 A095 com r26 1937 0988 BA2F mov r27,r26 1938 098a 8987 std Y+9,r24 1939 098c 9A87 std Y+10,r25 1940 098e AB87 std Y+11,r26 1941 0990 BC87 std Y+12,r27 1942 0992 C201 movw r24,r4 1943 0994 AA27 clr r26 1944 0996 97FD sbrc r25,7 1945 0998 A095 com r26 1946 099a BA2F mov r27,r26 1947 099c 8D87 std Y+13,r24 1948 099e 9E87 std Y+14,r25 1949 09a0 AF87 std Y+15,r26 1950 09a2 B88B std Y+16,r27 1951 09a4 00C0 rjmp .L124 1952 .L126: 1953 .LBB170: 1954 .LBB172: 1955 .LBB174: 1956 .LBB176: 1957 .LM135: 1958 09a6 A989 ldd r26,Y+17 1959 09a8 BA89 ldd r27,Y+18 1960 09aa A830 cpi r26,8 1961 09ac B105 cpc r27,__zero_reg__ 1962 09ae 00F0 brlo .+2 1963 09b0 00C0 rjmp .L125 1964 .LBE176: 1965 .LBE174: 1966 .LBE172: 1967 .LBE170: 1968 .LM136: 1969 09b2 BD01 movw r22,r26 1970 09b4 6819 sub r22,r8 1971 09b6 7909 sbc r23,r9 1972 09b8 8827 clr r24 1973 09ba 77FD sbrc r23,7 1974 09bc 8095 com r24 1975 09be 982F mov r25,r24 1976 09c0 0E94 0000 call __floatsisf 1977 09c4 5B01 movw r10,r22 1978 09c6 6C01 movw r12,r24 1979 .LVL162: 1980 .LM137: 1981 09c8 6D81 ldd r22,Y+5 1982 09ca 7E81 ldd r23,Y+6 1983 09cc 8F81 ldd r24,Y+7 1984 09ce 9885 ldd r25,Y+8 1985 09d0 A601 movw r20,r12 1986 09d2 9501 movw r18,r10 1987 09d4 0E94 0000 call __mulsf3 1988 09d8 7B01 movw r14,r22 1989 09da 8C01 movw r16,r24 1990 09dc 6985 ldd r22,Y+9 1991 09de 7A85 ldd r23,Y+10 1992 09e0 8B85 ldd r24,Y+11 1993 09e2 9C85 ldd r25,Y+12 1994 09e4 0E94 0000 call __floatsisf 1995 09e8 9B01 movw r18,r22 1996 09ea AC01 movw r20,r24 1997 09ec C801 movw r24,r16 1998 09ee B701 movw r22,r14 1999 09f0 0E94 0000 call __addsf3 2000 09f4 0E94 0000 call __fixunssfsi 2001 09f8 462E mov r4,r22 2002 .LVL163: 2003 09fa 5524 clr r5 2004 .LBB180: 2005 .LBB171: 2006 .LBB173: 2007 .LBB175: 2008 .LM138: 2009 09fc B8E0 ldi r27,lo8(8) 2010 09fe 4B16 cp r4,r27 2011 0a00 5104 cpc r5,__zero_reg__ 2012 0a02 04F4 brge .L125 2013 .LBE175: 2014 .LBE173: 2015 .LBE171: 2016 .LBE180: 2017 .LM139: 2018 0a04 6981 ldd r22,Y+1 2019 0a06 7A81 ldd r23,Y+2 2020 0a08 8B81 ldd r24,Y+3 2021 0a0a 9C81 ldd r25,Y+4 2022 0a0c A601 movw r20,r12 2023 0a0e 9501 movw r18,r10 2024 0a10 0E94 0000 call __mulsf3 2025 0a14 7B01 movw r14,r22 2026 0a16 8C01 movw r16,r24 2027 0a18 6D85 ldd r22,Y+13 2028 0a1a 7E85 ldd r23,Y+14 2029 0a1c 8F85 ldd r24,Y+15 2030 0a1e 9889 ldd r25,Y+16 2031 0a20 0E94 0000 call __floatsisf 2032 0a24 9B01 movw r18,r22 2033 0a26 AC01 movw r20,r24 2034 0a28 C801 movw r24,r16 2035 0a2a B701 movw r22,r14 2036 0a2c 0E94 0000 call __addsf3 2037 0a30 0E94 0000 call __fixunssfsi 2038 0a34 70E0 ldi r23,lo8(0) 2039 .LBB181: 2040 .LBB179: 2041 .LBB178: 2042 .LBB177: 2043 .LM140: 2044 0a36 6830 cpi r22,8 2045 0a38 7105 cpc r23,__zero_reg__ 2046 0a3a 04F4 brge .L125 2047 .LBE177: 2048 .LBE178: 2049 .LM141: 2050 0a3c FB01 movw r30,r22 2051 0a3e 73E0 ldi r23,3 2052 0a40 EE0F 1: lsl r30 2053 0a42 FF1F rol r31 2054 0a44 7A95 dec r23 2055 0a46 01F4 brne 1b 2056 0a48 E40D add r30,r4 2057 0a4a F51D adc r31,r5 2058 0a4c E050 subi r30,lo8(-(cube)) 2059 0a4e F040 sbci r31,hi8(-(cube)) 2060 0a50 2081 ld r18,Z 2061 0a52 81E0 ldi r24,lo8(1) 2062 0a54 90E0 ldi r25,hi8(1) 2063 0a56 0988 ldd r0,Y+17 2064 0a58 00C0 rjmp 2f 2065 0a5a 880F 1: lsl r24 2066 0a5c 991F rol r25 2067 0a5e 0A94 2: dec r0 2068 0a60 02F4 brpl 1b 2069 0a62 282B or r18,r24 2070 0a64 2083 st Z,r18 2071 .LVL164: 2072 .L125: 2073 .LBE179: 2074 .LBE181: 2075 .LM142: 2076 0a66 3394 inc r3 2077 .L124: 2078 0a68 E32D mov r30,r3 2079 0a6a F0E0 ldi r31,lo8(0) 2080 0a6c FA8B std Y+18,r31 2081 0a6e E98B std Y+17,r30 2082 0a70 6E16 cp r6,r30 2083 0a72 7F06 cpc r7,r31 2084 0a74 04F0 brlt .+2 2085 0a76 00C0 rjmp .L126 2086 /* epilogue start */ 2087 .LM143: 2088 0a78 6296 adiw r28,18 2089 0a7a 0FB6 in __tmp_reg__,__SREG__ 2090 0a7c F894 cli 2091 0a7e DEBF out __SP_H__,r29 2092 0a80 0FBE out __SREG__,__tmp_reg__ 2093 0a82 CDBF out __SP_L__,r28 2094 0a84 CF91 pop r28 2095 0a86 DF91 pop r29 2096 0a88 1F91 pop r17 2097 0a8a 0F91 pop r16 2098 .LVL165: 2099 0a8c FF90 pop r15 2100 0a8e EF90 pop r14 2101 0a90 DF90 pop r13 2102 0a92 CF90 pop r12 2103 .LVL166: 2104 0a94 BF90 pop r11 2105 0a96 AF90 pop r10 2106 .LVL167: 2107 0a98 9F90 pop r9 2108 0a9a 8F90 pop r8 2109 .LVL168: 2110 0a9c 7F90 pop r7 2111 0a9e 6F90 pop r6 2112 .LVL169: 2113 0aa0 5F90 pop r5 2114 0aa2 4F90 pop r4 2115 .LVL170: 2116 0aa4 3F90 pop r3 2117 .LVL171: 2118 0aa6 2F90 pop r2 2119 0aa8 0895 ret 2120 .LFE24: 2122 .global delay_ms 2124 delay_ms: 2125 .LFB25: 2126 .LM144: 2127 .LVL172: 2128 /* prologue: function */ 2129 /* frame size = 0 */ 2130 0aaa 00C0 rjmp .L131 2131 .LVL173: 2132 .L133: 2133 .LM145: 2134 0aac 20E0 ldi r18,lo8(0) 2135 .L132: 2136 .LM146: 2137 /* #APP */ 2138 ; 350 "draw.c" 1 2139 0aae 0000 nop 2140 ; 0 "" 2 2141 ; 350 "draw.c" 1 2142 0ab0 0000 nop 2143 ; 0 "" 2 2144 ; 350 "draw.c" 1 2145 0ab2 0000 nop 2146 ; 0 "" 2 2147 ; 350 "draw.c" 1 2148 0ab4 0000 nop 2149 ; 0 "" 2 2150 ; 350 "draw.c" 1 2151 0ab6 0000 nop 2152 ; 0 "" 2 2153 ; 350 "draw.c" 1 2154 0ab8 0000 nop 2155 ; 0 "" 2 2156 .LM147: 2157 /* #NOAPP */ 2158 0aba 2F5F subi r18,lo8(-(1)) 2159 0abc 2A35 cpi r18,lo8(90) 2160 0abe 01F4 brne .L132 2161 .LM148: 2162 0ac0 0197 sbiw r24,1 2163 .LVL174: 2164 .L131: 2165 0ac2 0097 sbiw r24,0 2166 0ac4 01F4 brne .L133 2167 /* epilogue start */ 2168 .LM149: 2169 0ac6 0895 ret 2170 .LFE25: 2172 .global tmp2cube 2174 tmp2cube: 2175 .LFB26: 2176 .LM150: 2177 /* prologue: function */ 2178 /* frame size = 0 */ 2179 .LM151: 2180 0ac8 40E0 ldi r20,lo8(0) 2181 0aca 50E0 ldi r21,hi8(0) 2182 .LVL175: 2183 0acc 00C0 rjmp .L137 2184 .LVL176: 2185 .L138: 2186 .LM152: 2187 0ace FB01 movw r30,r22 2188 0ad0 E20F add r30,r18 2189 0ad2 F31F adc r31,r19 2190 0ad4 DF01 movw r26,r30 2191 0ad6 A050 subi r26,lo8(-(fb)) 2192 0ad8 B040 sbci r27,hi8(-(fb)) 2193 0ada 8C91 ld r24,X 2194 0adc E050 subi r30,lo8(-(cube)) 2195 0ade F040 sbci r31,hi8(-(cube)) 2196 0ae0 8083 st Z,r24 2197 .LM153: 2198 0ae2 2F5F subi r18,lo8(-(1)) 2199 0ae4 3F4F sbci r19,hi8(-(1)) 2200 0ae6 2830 cpi r18,8 2201 0ae8 3105 cpc r19,__zero_reg__ 2202 0aea 01F4 brne .L138 2203 .LM154: 2204 0aec 4F5F subi r20,lo8(-(1)) 2205 0aee 5F4F sbci r21,hi8(-(1)) 2206 0af0 4830 cpi r20,8 2207 0af2 5105 cpc r21,__zero_reg__ 2208 0af4 01F0 breq .L140 2209 .L137: 2210 0af6 20E0 ldi r18,lo8(0) 2211 0af8 30E0 ldi r19,hi8(0) 2212 .LM155: 2213 0afa BA01 movw r22,r20 2214 0afc E3E0 ldi r30,3 2215 0afe 660F 1: lsl r22 2216 0b00 771F rol r23 2217 0b02 EA95 dec r30 2218 0b04 01F4 brne 1b 2219 0b06 00C0 rjmp .L138 2220 .L140: 2221 0b08 0895 ret 2222 .LFE26: 2224 .global shift 2226 shift: 2227 .LFB27: 2228 .LM156: 2229 .LVL177: 2230 0b0a 2F92 push r2 2231 0b0c 3F92 push r3 2232 0b0e 4F92 push r4 2233 0b10 5F92 push r5 2234 0b12 6F92 push r6 2235 0b14 7F92 push r7 2236 0b16 9F92 push r9 2237 0b18 AF92 push r10 2238 0b1a BF92 push r11 2239 0b1c CF92 push r12 2240 0b1e DF92 push r13 2241 0b20 EF92 push r14 2242 0b22 FF92 push r15 2243 0b24 0F93 push r16 2244 0b26 1F93 push r17 2245 0b28 CF93 push r28 2246 0b2a DF93 push r29 2247 /* prologue: function */ 2248 /* frame size = 0 */ 2249 0b2c 982E mov r9,r24 2250 0b2e 5B01 movw r10,r22 2251 .LM157: 2252 0b30 CC24 clr r12 2253 0b32 DD24 clr r13 2254 .LVL178: 2255 .LM158: 2256 0b34 A7E0 ldi r26,lo8(7) 2257 0b36 2A2E mov r2,r26 2258 0b38 312C mov r3,__zero_reg__ 2259 .LVL179: 2260 .L153: 2261 0b3a 8FEF ldi r24,lo8(-1) 2262 0b3c A816 cp r10,r24 2263 0b3e 8FEF ldi r24,hi8(-1) 2264 0b40 B806 cpc r11,r24 2265 0b42 01F4 brne .L143 2266 0b44 7601 movw r14,r12 2267 0b46 00C0 rjmp .L144 2268 .L143: 2269 0b48 7101 movw r14,r2 2270 0b4a EC18 sub r14,r12 2271 0b4c FD08 sbc r15,r13 2272 .L144: 2273 0b4e 00E0 ldi r16,lo8(0) 2274 0b50 10E0 ldi r17,hi8(0) 2275 .LM159: 2276 0b52 2701 movw r4,r14 2277 .LVL180: 2278 0b54 0894 sec 2279 0b56 4108 sbc r4,__zero_reg__ 2280 0b58 5108 sbc r5,__zero_reg__ 2281 .LM160: 2282 0b5a 3701 movw r6,r14 2283 .LVL181: 2284 0b5c 0894 sec 2285 0b5e 611C adc r6,__zero_reg__ 2286 0b60 711C adc r7,__zero_reg__ 2287 0b62 00C0 rjmp .L145 2288 .LVL182: 2289 .L151: 2290 .LM161: 2291 0b64 8FEF ldi r24,lo8(-1) 2292 0b66 A816 cp r10,r24 2293 0b68 8FEF ldi r24,hi8(-1) 2294 0b6a B806 cpc r11,r24 2295 0b6c 01F4 brne .L146 2296 .LM162: 2297 0b6e C301 movw r24,r6 2298 0b70 00C0 rjmp .L166 2299 .L146: 2300 .LM163: 2301 0b72 C201 movw r24,r4 2302 .LVL183: 2303 .L166: 2304 0b74 AC01 movw r20,r24 2305 .LM164: 2306 0b76 8AE7 ldi r24,lo8(122) 2307 0b78 9816 cp r9,r24 2308 0b7a 01F4 brne .L148 2309 .LVL184: 2310 .LM165: 2311 0b7c C801 movw r24,r16 2312 0b7e BE01 movw r22,r28 2313 0b80 0E94 0000 call getvoxel 2314 0b84 282F mov r18,r24 2315 .LM166: 2316 0b86 C801 movw r24,r16 2317 0b88 BE01 movw r22,r28 2318 0b8a A701 movw r20,r14 2319 0b8c 00C0 rjmp .L167 2320 .LVL185: 2321 .L148: 2322 .LM167: 2323 0b8e 89E7 ldi r24,lo8(121) 2324 0b90 9816 cp r9,r24 2325 0b92 01F4 brne .L150 2326 .LM168: 2327 0b94 C801 movw r24,r16 2328 0b96 BA01 movw r22,r20 2329 0b98 AE01 movw r20,r28 2330 0b9a 0E94 0000 call getvoxel 2331 0b9e 282F mov r18,r24 2332 .LM169: 2333 0ba0 C801 movw r24,r16 2334 0ba2 B701 movw r22,r14 2335 0ba4 00C0 rjmp .L169 2336 .LVL186: 2337 .L150: 2338 .LM170: 2339 0ba6 88E7 ldi r24,lo8(120) 2340 0ba8 9816 cp r9,r24 2341 0baa 01F4 brne .L149 2342 .LM171: 2343 0bac CA01 movw r24,r20 2344 0bae BE01 movw r22,r28 2345 0bb0 A801 movw r20,r16 2346 0bb2 0E94 0000 call getvoxel 2347 0bb6 282F mov r18,r24 2348 .LM172: 2349 0bb8 C701 movw r24,r14 2350 0bba B801 movw r22,r16 2351 .L169: 2352 0bbc AE01 movw r20,r28 2353 .L167: 2354 0bbe 30E0 ldi r19,lo8(0) 2355 0bc0 0E94 0000 call altervoxel 2356 .LVL187: 2357 .L149: 2358 .LM173: 2359 0bc4 2196 adiw r28,1 2360 0bc6 C830 cpi r28,8 2361 0bc8 D105 cpc r29,__zero_reg__ 2362 0bca 01F4 brne .L151 2363 .LM174: 2364 0bcc 0F5F subi r16,lo8(-(1)) 2365 0bce 1F4F sbci r17,hi8(-(1)) 2366 0bd0 0830 cpi r16,8 2367 0bd2 1105 cpc r17,__zero_reg__ 2368 0bd4 01F0 breq .L152 2369 .L145: 2370 0bd6 C0E0 ldi r28,lo8(0) 2371 0bd8 D0E0 ldi r29,hi8(0) 2372 0bda 00C0 rjmp .L151 2373 .L152: 2374 .LM175: 2375 0bdc 0894 sec 2376 0bde C11C adc r12,__zero_reg__ 2377 0be0 D11C adc r13,__zero_reg__ 2378 0be2 88E0 ldi r24,lo8(8) 2379 0be4 C816 cp r12,r24 2380 0be6 D104 cpc r13,__zero_reg__ 2381 0be8 01F0 breq .+2 2382 0bea 00C0 rjmp .L153 2383 .LM176: 2384 0bec 8FEF ldi r24,lo8(-1) 2385 0bee A816 cp r10,r24 2386 0bf0 8FEF ldi r24,hi8(-1) 2387 0bf2 B806 cpc r11,r24 2388 0bf4 01F0 breq .L154 2389 0bf6 EE24 clr r14 2390 0bf8 FF24 clr r15 2391 .LVL188: 2392 0bfa 00C0 rjmp .L155 2393 .LVL189: 2394 .L154: 2395 0bfc F7E0 ldi r31,lo8(7) 2396 0bfe EF2E mov r14,r31 2397 0c00 F12C mov r15,__zero_reg__ 2398 .LVL190: 2399 .L155: 2400 0c02 00E0 ldi r16,lo8(0) 2401 0c04 10E0 ldi r17,hi8(0) 2402 .LVL191: 2403 0c06 00C0 rjmp .L156 2404 .L160: 2405 .LM177: 2406 0c08 8AE7 ldi r24,lo8(122) 2407 0c0a 9816 cp r9,r24 2408 0c0c 01F4 brne .L157 2409 .LM178: 2410 0c0e C801 movw r24,r16 2411 0c10 BE01 movw r22,r28 2412 0c12 A701 movw r20,r14 2413 0c14 00C0 rjmp .L168 2414 .LVL192: 2415 .L157: 2416 .LM179: 2417 0c16 89E7 ldi r24,lo8(121) 2418 0c18 9816 cp r9,r24 2419 0c1a 01F4 brne .L159 2420 .LM180: 2421 0c1c C801 movw r24,r16 2422 0c1e B701 movw r22,r14 2423 0c20 AE01 movw r20,r28 2424 0c22 00C0 rjmp .L168 2425 .LVL193: 2426 .L159: 2427 .LM181: 2428 0c24 88E7 ldi r24,lo8(120) 2429 0c26 9816 cp r9,r24 2430 0c28 01F4 brne .L158 2431 .LM182: 2432 0c2a C701 movw r24,r14 2433 0c2c BE01 movw r22,r28 2434 0c2e A801 movw r20,r16 2435 .L168: 2436 0c30 0E94 0000 call clrvoxel 2437 .LVL194: 2438 .L158: 2439 .LM183: 2440 0c34 2196 adiw r28,1 2441 0c36 C830 cpi r28,8 2442 0c38 D105 cpc r29,__zero_reg__ 2443 0c3a 01F4 brne .L160 2444 .LM184: 2445 0c3c 0F5F subi r16,lo8(-(1)) 2446 0c3e 1F4F sbci r17,hi8(-(1)) 2447 0c40 0830 cpi r16,8 2448 0c42 1105 cpc r17,__zero_reg__ 2449 0c44 01F0 breq .L162 2450 .L156: 2451 0c46 C0E0 ldi r28,lo8(0) 2452 0c48 D0E0 ldi r29,hi8(0) 2453 0c4a 00C0 rjmp .L160 2454 .L162: 2455 /* epilogue start */ 2456 .LM185: 2457 0c4c DF91 pop r29 2458 0c4e CF91 pop r28 2459 .LVL195: 2460 0c50 1F91 pop r17 2461 0c52 0F91 pop r16 2462 .LVL196: 2463 0c54 FF90 pop r15 2464 0c56 EF90 pop r14 2465 .LVL197: 2466 0c58 DF90 pop r13 2467 0c5a CF90 pop r12 2468 0c5c BF90 pop r11 2469 0c5e AF90 pop r10 2470 .LVL198: 2471 0c60 9F90 pop r9 2472 .LVL199: 2473 0c62 7F90 pop r7 2474 0c64 6F90 pop r6 2475 .LVL200: 2476 0c66 5F90 pop r5 2477 0c68 4F90 pop r4 2478 .LVL201: 2479 0c6a 3F90 pop r3 2480 0c6c 2F90 pop r2 2481 0c6e 0895 ret 2482 .LFE27: 2484 .comm cube,64,1 2485 .comm fb,64,1 2710 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 draw.c /tmp/ccqCtm9Q.s:2 *ABS*:000000000000003f __SREG__ /tmp/ccqCtm9Q.s:3 *ABS*:000000000000003e __SP_H__ /tmp/ccqCtm9Q.s:4 *ABS*:000000000000003d __SP_L__ /tmp/ccqCtm9Q.s:5 *ABS*:0000000000000034 __CCP__ /tmp/ccqCtm9Q.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccqCtm9Q.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccqCtm9Q.s:20 .text:0000000000000000 setvoxel *COM*:0000000000000040 cube /tmp/ccqCtm9Q.s:74 .text:0000000000000046 tmpsetvoxel *COM*:0000000000000040 fb /tmp/ccqCtm9Q.s:128 .text:000000000000008c clrvoxel /tmp/ccqCtm9Q.s:183 .text:00000000000000d4 tmpclrvoxel /tmp/ccqCtm9Q.s:238 .text:000000000000011c inrange /tmp/ccqCtm9Q.s:277 .text:0000000000000144 getvoxel /tmp/ccqCtm9Q.s:336 .text:000000000000018a altervoxel /tmp/ccqCtm9Q.s:404 .text:00000000000001d8 flpvoxel /tmp/ccqCtm9Q.s:458 .text:000000000000021e argorder /tmp/ccqCtm9Q.s:497 .text:0000000000000242 setplane_z /tmp/ccqCtm9Q.s:538 .text:0000000000000270 clrplane_z /tmp/ccqCtm9Q.s:578 .text:000000000000029c setplane_x /tmp/ccqCtm9Q.s:645 .text:00000000000002f2 clrplane_x /tmp/ccqCtm9Q.s:713 .text:000000000000034a setplane_y /tmp/ccqCtm9Q.s:752 .text:0000000000000378 clrplane_y /tmp/ccqCtm9Q.s:790 .text:00000000000003a4 fill /tmp/ccqCtm9Q.s:839 .text:00000000000003de tmpfill /tmp/ccqCtm9Q.s:888 .text:0000000000000418 box_filled /tmp/ccqCtm9Q.s:1026 .text:00000000000004ae box_walls /tmp/ccqCtm9Q.s:1212 .text:0000000000000596 box_wireframe /tmp/ccqCtm9Q.s:1685 .text:0000000000000802 byteline /tmp/ccqCtm9Q.s:1721 .text:000000000000082a flipbyte /tmp/ccqCtm9Q.s:1781 .text:0000000000000884 line /tmp/ccqCtm9Q.s:2124 .text:0000000000000aaa delay_ms /tmp/ccqCtm9Q.s:2174 .text:0000000000000ac8 tmp2cube /tmp/ccqCtm9Q.s:2226 .text:0000000000000b0a shift UNDEFINED SYMBOLS __do_copy_data __do_clear_bss __floatsisf __divsf3 __mulsf3 __addsf3 __fixunssfsi