switch.sbk (8901B)
1 .set reorder 2 .globl main 3 .text 4 .text 5 .align 2 6 .ent main 7 main: 8 .frame $sp,32,$31 9 .set noreorder 10 .cpload $25 11 .set reorder 12 addu $sp,$sp,-32 13 .mask 0xc2800000,-4 14 sw $23,16($sp) 15 .cprestore 20 16 sw $30,24($sp) 17 sw $31,28($sp) 18 la $30,L.6 19 b L.5 20 L.2: 21 lb $4,($30) 22 jal backslash 23 move $24,$2 24 la $4,L.7 25 lb $5,($30) 26 move $6,$24 27 jal printf 28 L.3: 29 la $30,1($30) 30 L.5: 31 lb $24,($30) 32 bne $24,$0,L.2 33 jal f 34 jal g 35 jal h 36 la $23,16777216 37 b L.11 38 L.8: 39 move $4,$23 40 jal big 41 L.9: 42 la $23,16777216($23) 43 L.11: 44 and $24,$23,117440512 45 bne $24,$0,L.8 46 jal limit 47 move $2,$0 48 L.1: 49 lw $23,16($sp) 50 lw $25,20($sp) 51 lw $30,24($sp) 52 lw $31,28($sp) 53 addu $sp,$sp,32 54 j $31 55 .end main 56 .globl backslash 57 .text 58 .align 2 59 .ent backslash 60 backslash: 61 .frame $sp,0,$31 62 .set noreorder 63 .cpload $25 64 .set reorder 65 la $24,102 66 beq $4,$24,L.16 67 bgt $4,$24,L.22 68 L.21: 69 la $24,98 70 beq $4,$24,L.15 71 b L.13 72 L.22: 73 la $24,110 74 beq $4,$24,L.17 75 blt $4,$24,L.13 76 L.23: 77 la $24,114 78 beq $4,$24,L.18 79 la $24,116 80 beq $4,$24,L.19 81 la $24,118 82 beq $4,$24,L.20 83 b L.13 84 L.15: 85 la $2,8 86 b L.12 87 L.16: 88 la $2,12 89 b L.12 90 L.17: 91 la $2,10 92 b L.12 93 L.18: 94 la $2,13 95 b L.12 96 L.19: 97 la $2,9 98 b L.12 99 L.20: 100 la $2,11 101 b L.12 102 L.13: 103 move $2,$4 104 L.12: 105 j $31 106 .end backslash 107 .globl f 108 .text 109 .align 2 110 .ent f 111 f: 112 .frame $sp,40,$31 113 .set noreorder 114 .cpload $25 115 .set reorder 116 addu $sp,$sp,-40 117 .mask 0xc2c00000,-8 118 sw $22,16($sp) 119 sw $23,20($sp) 120 .cprestore 24 121 sw $30,28($sp) 122 sw $31,32($sp) 123 move $23,$0 124 la $4,L.25 125 jal printf 126 move $30,$0 127 L.26: 128 move $22,$30 129 la $24,1 130 blt $30,$24,L.30 131 la $24,20 132 bgt $30,$24,L.30 133 sll $24,$30,2 134 lw $24,L.42-4($24) 135 .cpadd $24 136 j $24 137 .rdata 138 .align 2 139 L.42: 140 .gpword L.32 141 .gpword L.33 142 .gpword L.30 143 .gpword L.30 144 .gpword L.30 145 .gpword L.30 146 .gpword L.34 147 .gpword L.35 148 .gpword L.36 149 .gpword L.30 150 .gpword L.30 151 .gpword L.30 152 .gpword L.30 153 .gpword L.30 154 .gpword L.30 155 .gpword L.37 156 .gpword L.38 157 .gpword L.39 158 .gpword L.40 159 .gpword L.41 160 .text 161 L.32: 162 move $23,$30 163 b L.31 164 L.33: 165 move $23,$30 166 b L.31 167 L.34: 168 move $23,$30 169 b L.31 170 L.35: 171 move $23,$30 172 b L.31 173 L.36: 174 move $23,$30 175 b L.31 176 L.37: 177 move $23,$30 178 b L.31 179 L.38: 180 move $23,$30 181 b L.31 182 L.39: 183 move $23,$30 184 b L.31 185 L.40: 186 move $23,$30 187 b L.31 188 L.41: 189 move $23,$30 190 L.30: 191 L.31: 192 la $4,L.44 193 move $5,$23 194 jal printf 195 L.27: 196 la $30,1($30) 197 la $24,20 198 ble $30,$24,L.26 199 move $2,$0 200 L.24: 201 lw $22,16($sp) 202 lw $23,20($sp) 203 lw $25,24($sp) 204 lw $30,28($sp) 205 lw $31,32($sp) 206 addu $sp,$sp,40 207 j $31 208 .end f 209 .globl g 210 .text 211 .align 2 212 .ent g 213 g: 214 .frame $sp,32,$31 215 .set noreorder 216 .cpload $25 217 .set reorder 218 addu $sp,$sp,-32 219 .mask 0xc2000000,-8 220 .cprestore 16 221 sw $30,20($sp) 222 sw $31,24($sp) 223 la $4,L.46 224 jal printf 225 la $30,1 226 L.47: 227 la $24,1001 228 blt $30,$24,L.64 229 la $24,1004 230 bgt $30,$24,L.65 231 sll $24,$30,2 232 lw $24,L.66-4004($24) 233 .cpadd $24 234 j $24 235 .rdata 236 .align 2 237 L.66: 238 .gpword L.60 239 .gpword L.60 240 .gpword L.60 241 .gpword L.60 242 .text 243 L.64: 244 la $24,1 245 blt $30,$24,L.51 246 la $24,8 247 bgt $30,$24,L.51 248 sll $24,$30,2 249 lw $24,L.68-4($24) 250 .cpadd $24 251 j $24 252 .rdata 253 .align 2 254 L.68: 255 .gpword L.53 256 .gpword L.53 257 .gpword L.55 258 .gpword L.55 259 .gpword L.55 260 .gpword L.57 261 .gpword L.57 262 .gpword L.57 263 .text 264 L.65: 265 la $24,3001 266 blt $30,$24,L.51 267 la $24,3004 268 bgt $30,$24,L.51 269 sll $24,$30,2 270 lw $24,L.70-12004($24) 271 .cpadd $24 272 j $24 273 .rdata 274 .align 2 275 L.70: 276 .gpword L.62 277 .gpword L.62 278 .gpword L.62 279 .gpword L.62 280 .text 281 L.53: 282 la $4,L.54 283 move $5,$30 284 jal printf 285 b L.52 286 L.55: 287 la $4,L.56 288 move $5,$30 289 jal printf 290 b L.52 291 L.57: 292 la $4,L.58 293 move $5,$30 294 jal printf 295 L.51: 296 la $4,L.59 297 move $5,$30 298 jal printf 299 b L.52 300 L.60: 301 la $4,L.61 302 move $5,$30 303 jal printf 304 b L.52 305 L.62: 306 la $4,L.63 307 move $5,$30 308 jal printf 309 L.52: 310 L.48: 311 la $30,1($30) 312 la $24,10 313 ble $30,$24,L.47 314 move $2,$0 315 L.45: 316 lw $25,16($sp) 317 lw $30,20($sp) 318 lw $31,24($sp) 319 addu $sp,$sp,32 320 j $31 321 .end g 322 .globl h 323 .text 324 .align 2 325 .ent h 326 h: 327 .frame $sp,32,$31 328 .set noreorder 329 .cpload $25 330 .set reorder 331 addu $sp,$sp,-32 332 .mask 0xc2800000,-4 333 sw $23,16($sp) 334 .cprestore 20 335 sw $30,24($sp) 336 sw $31,28($sp) 337 move $23,$0 338 la $4,L.73 339 jal printf 340 la $30,1 341 L.74: 342 la $24,264 343 beq $30,$24,L.86 344 bgt $30,$24,L.94 345 L.93: 346 la $24,120 347 beq $30,$24,L.84 348 bgt $30,$24,L.96 349 L.95: 350 la $24,8 351 beq $30,$24,L.83 352 blt $30,$24,L.78 353 L.97: 354 la $24,16 355 beq $30,$24,L.82 356 b L.78 357 L.96: 358 la $24,128 359 beq $30,$24,L.80 360 blt $30,$24,L.78 361 L.98: 362 la $24,248 363 beq $30,$24,L.87 364 b L.78 365 L.94: 366 la $24,288 367 beq $30,$24,L.91 368 bgt $30,$24,L.100 369 L.99: 370 la $24,272 371 beq $30,$24,L.88 372 blt $30,$24,L.78 373 L.101: 374 la $24,280 375 beq $30,$24,L.85 376 b L.78 377 L.100: 378 la $24,304 379 beq $30,$24,L.89 380 bgt $30,$24,L.103 381 L.102: 382 la $24,296 383 beq $30,$24,L.90 384 b L.78 385 L.103: 386 la $24,312 387 beq $30,$24,L.92 388 b L.78 389 L.78: 390 la $23,1($23) 391 b L.75 392 L.80: 393 la $4,L.81 394 move $5,$30 395 jal printf 396 b L.79 397 L.82: 398 la $4,L.81 399 move $5,$30 400 jal printf 401 b L.79 402 L.83: 403 la $4,L.81 404 move $5,$30 405 jal printf 406 b L.79 407 L.84: 408 la $4,L.81 409 move $5,$30 410 jal printf 411 b L.79 412 L.85: 413 la $4,L.81 414 move $5,$30 415 jal printf 416 b L.79 417 L.86: 418 la $4,L.81 419 move $5,$30 420 jal printf 421 b L.79 422 L.87: 423 la $4,L.81 424 move $5,$30 425 jal printf 426 b L.79 427 L.88: 428 la $4,L.81 429 move $5,$30 430 jal printf 431 b L.79 432 L.89: 433 la $4,L.81 434 move $5,$30 435 jal printf 436 b L.79 437 L.90: 438 la $4,L.81 439 move $5,$30 440 jal printf 441 b L.79 442 L.91: 443 la $4,L.81 444 move $5,$30 445 jal printf 446 b L.79 447 L.92: 448 la $4,L.81 449 move $5,$30 450 jal printf 451 L.79: 452 L.75: 453 la $30,1($30) 454 la $24,500 455 ble $30,$24,L.74 456 la $4,L.104 457 move $5,$23 458 jal printf 459 move $2,$0 460 L.72: 461 lw $23,16($sp) 462 lw $25,20($sp) 463 lw $30,24($sp) 464 lw $31,28($sp) 465 addu $sp,$sp,32 466 j $31 467 .end h 468 .globl big 469 .text 470 .align 2 471 .ent big 472 big: 473 .frame $sp,32,$31 474 .set noreorder 475 .cpload $25 476 .set reorder 477 addu $sp,$sp,-32 478 .mask 0xc2000000,-8 479 .cprestore 16 480 sw $30,20($sp) 481 sw $31,24($sp) 482 sw $4,32($sp) 483 lw $24,0+32($sp) 484 and $30,$24,0x6000000 485 la $15,33554432 486 beq $30,$15,L.111 487 bgt $30,$15,L.115 488 L.114: 489 la $15,-2 490 beq $30,$15,L.109 491 la $15,-1 492 beq $30,$15,L.109 493 beq $30,$0,L.109 494 b L.106 495 L.115: 496 move $24,$30 497 la $15,67108864 498 beq $24,$15,L.112 499 b L.106 500 L.109: 501 la $4,L.110 502 lw $5,0+32($sp) 503 jal printf 504 b L.107 505 L.111: 506 la $4,L.110 507 lw $5,0+32($sp) 508 jal printf 509 b L.107 510 L.112: 511 la $4,L.110 512 lw $5,0+32($sp) 513 jal printf 514 b L.107 515 L.106: 516 la $4,L.113 517 lw $5,0+32($sp) 518 jal printf 519 L.107: 520 move $2,$0 521 L.105: 522 lw $25,16($sp) 523 lw $30,20($sp) 524 lw $31,24($sp) 525 addu $sp,$sp,32 526 j $31 527 .end big 528 .globl limit 529 .text 530 .align 2 531 .ent limit 532 limit: 533 .frame $sp,32,$31 534 .set noreorder 535 .cpload $25 536 .set reorder 537 addu $sp,$sp,-32 538 .mask 0xc2000000,-8 539 .cprestore 16 540 sw $30,20($sp) 541 sw $31,24($sp) 542 la $30,-2147483648 543 L.117: 544 la $24,-2147483648 545 blt $30,$24,L.121 546 la $15,-2147483644 547 bgt $30,$15,L.121 548 sll $15,$30,2 549 sll $24,$24,2 550 subu $24,$15,$24 551 lw $24,L.134($24) 552 .cpadd $24 553 j $24 554 .rdata 555 .align 2 556 L.134: 557 .gpword L.123 558 .gpword L.125 559 .gpword L.127 560 .gpword L.129 561 .gpword L.131 562 .text 563 L.123: 564 la $4,L.124 565 jal printf 566 b L.122 567 L.125: 568 la $4,L.126 569 jal printf 570 b L.122 571 L.127: 572 la $4,L.128 573 jal printf 574 b L.122 575 L.129: 576 la $4,L.130 577 jal printf 578 b L.122 579 L.131: 580 la $4,L.132 581 jal printf 582 b L.122 583 L.121: 584 la $4,L.133 585 jal printf 586 L.122: 587 L.118: 588 la $30,1($30) 589 la $24,-2147483643 590 ble $30,$24,L.117 591 la $30,2147483647 592 L.135: 593 la $24,2147483643 594 blt $30,$24,L.139 595 la $15,2147483647 596 bgt $30,$15,L.139 597 sll $15,$30,2 598 sll $24,$24,2 599 subu $24,$15,$24 600 lw $24,L.146($24) 601 .cpadd $24 602 j $24 603 .rdata 604 .align 2 605 L.146: 606 .gpword L.145 607 .gpword L.144 608 .gpword L.143 609 .gpword L.142 610 .gpword L.141 611 .text 612 L.141: 613 la $4,L.124 614 jal printf 615 b L.140 616 L.142: 617 la $4,L.126 618 jal printf 619 b L.140 620 L.143: 621 la $4,L.128 622 jal printf 623 b L.140 624 L.144: 625 la $4,L.130 626 jal printf 627 b L.140 628 L.145: 629 la $4,L.132 630 jal printf 631 b L.140 632 L.139: 633 la $4,L.133 634 jal printf 635 L.140: 636 L.136: 637 subu $30,$30,1 638 la $24,2147483642 639 bge $30,$24,L.135 640 move $2,$0 641 L.116: 642 lw $25,16($sp) 643 lw $30,20($sp) 644 lw $31,24($sp) 645 addu $sp,$sp,32 646 j $31 647 .end limit 648 .rdata 649 .align 0 650 L.133: 651 .byte 53 652 .byte 10 653 .byte 0 654 .align 0 655 L.132: 656 .byte 52 657 .byte 10 658 .byte 0 659 .align 0 660 L.130: 661 .byte 51 662 .byte 10 663 .byte 0 664 .align 0 665 L.128: 666 .byte 50 667 .byte 10 668 .byte 0 669 .align 0 670 L.126: 671 .byte 49 672 .byte 10 673 .byte 0 674 .align 0 675 L.124: 676 .byte 48 677 .byte 10 678 .byte 0 679 .align 0 680 L.113: 681 .byte 120 682 .byte 32 683 .byte 61 684 .byte 32 685 .byte 48 686 .byte 120 687 .byte 37 688 .byte 120 689 .byte 32 690 .byte 40 691 .byte 100 692 .byte 101 693 .byte 102 694 .byte 97 695 .byte 117 696 .byte 108 697 .byte 116 698 .byte 41 699 .byte 10 700 .byte 0 701 .align 0 702 L.110: 703 .byte 120 704 .byte 32 705 .byte 61 706 .byte 32 707 .byte 48 708 .byte 120 709 .byte 37 710 .byte 120 711 .byte 10 712 .byte 0 713 .align 0 714 L.104: 715 .byte 37 716 .byte 100 717 .byte 32 718 .byte 100 719 .byte 101 720 .byte 102 721 .byte 97 722 .byte 117 723 .byte 108 724 .byte 116 725 .byte 115 726 .byte 10 727 .byte 0 728 .align 0 729 L.81: 730 .byte 105 731 .byte 32 732 .byte 61 733 .byte 32 734 .byte 37 735 .byte 100 736 .byte 10 737 .byte 0 738 .align 0 739 L.73: 740 .byte 104 741 .byte 58 742 .byte 10 743 .byte 0 744 .align 0 745 L.63: 746 .byte 54 747 .byte 32 748 .byte 37 749 .byte 100 750 .byte 10 751 .byte 0 752 .align 0 753 L.61: 754 .byte 53 755 .byte 32 756 .byte 37 757 .byte 100 758 .byte 10 759 .byte 0 760 .align 0 761 L.59: 762 .byte 100 763 .byte 32 764 .byte 37 765 .byte 100 766 .byte 10 767 .byte 0 768 .align 0 769 L.58: 770 .byte 51 771 .byte 32 772 .byte 37 773 .byte 100 774 .byte 10 775 .byte 0 776 .align 0 777 L.56: 778 .byte 50 779 .byte 32 780 .byte 37 781 .byte 100 782 .byte 10 783 .byte 0 784 .align 0 785 L.54: 786 .byte 49 787 .byte 32 788 .byte 37 789 .byte 100 790 .byte 10 791 .byte 0 792 .align 0 793 L.46: 794 .byte 103 795 .byte 58 796 .byte 10 797 .byte 0 798 .align 0 799 L.44: 800 .byte 120 801 .byte 32 802 .byte 61 803 .byte 32 804 .byte 37 805 .byte 100 806 .byte 10 807 .byte 0 808 .align 0 809 L.25: 810 .byte 102 811 .byte 58 812 .byte 10 813 .byte 0 814 .align 0 815 L.7: 816 .byte 37 817 .byte 99 818 .byte 32 819 .byte 61 820 .byte 32 821 .byte 48 822 .byte 120 823 .byte 37 824 .byte 120 825 .byte 10 826 .byte 0 827 .align 0 828 L.6: 829 .byte 98 830 .byte 102 831 .byte 110 832 .byte 114 833 .byte 116 834 .byte 118 835 .byte 120 836 .byte 0