switch.sbk (10332B)
1 .globl main 2 .text 3 .align 16 4 .type main,@function 5 main: 6 pushl %ebp 7 pushl %ebx 8 pushl %esi 9 pushl %edi 10 movl %esp,%ebp 11 subl $8,%esp 12 leal .LC6,%edi 13 movl %edi,-4(%ebp) 14 jmp .LC5 15 .LC2: 16 movl -4(%ebp),%edi 17 movsbl (,%edi),%edi 18 pushl %edi 19 call backslash 20 addl $4,%esp 21 pushl %eax 22 movl -4(%ebp),%edi 23 movsbl (,%edi),%edi 24 pushl %edi 25 pushl $.LC7 26 call printf 27 addl $12,%esp 28 .LC3: 29 incl -4(%ebp) 30 .LC5: 31 movl -4(%ebp),%edi 32 movsbl (,%edi),%edi 33 cmpl $0,%edi 34 jne .LC2 35 call f 36 call g 37 call h 38 movl $16777216,-8(%ebp) 39 jmp .LC11 40 .LC8: 41 pushl -8(%ebp) 42 call big 43 addl $4,%esp 44 .LC9: 45 addl $16777216,-8(%ebp) 46 .LC11: 47 movl -8(%ebp),%edi 48 andl $117440512,%edi 49 cmpl $0,%edi 50 jne .LC8 51 call limit 52 movl $0,%eax 53 .LC1: 54 movl %ebp,%esp 55 popl %edi 56 popl %esi 57 popl %ebx 58 popl %ebp 59 ret 60 .Lf12: 61 .size main,.Lf12-main 62 .globl backslash 63 .align 16 64 .type backslash,@function 65 backslash: 66 pushl %ebp 67 pushl %ebx 68 pushl %esi 69 pushl %edi 70 movl %esp,%ebp 71 movl 20(%ebp),%edi 72 cmpl $102,%edi 73 je .LC17 74 cmpl $102,%edi 75 jg .LC23 76 .LC22: 77 cmpl $98,20(%ebp) 78 je .LC16 79 jmp .LC14 80 .LC23: 81 movl 20(%ebp),%edi 82 cmpl $110,%edi 83 je .LC18 84 cmpl $110,%edi 85 jl .LC14 86 .LC24: 87 movl 20(%ebp),%edi 88 cmpl $114,%edi 89 je .LC19 90 cmpl $116,%edi 91 je .LC20 92 cmpl $118,%edi 93 je .LC21 94 jmp .LC14 95 .LC16: 96 movl $8,%eax 97 jmp .LC13 98 .LC17: 99 movl $12,%eax 100 jmp .LC13 101 .LC18: 102 movl $10,%eax 103 jmp .LC13 104 .LC19: 105 movl $13,%eax 106 jmp .LC13 107 .LC20: 108 movl $9,%eax 109 jmp .LC13 110 .LC21: 111 movl $11,%eax 112 jmp .LC13 113 .LC14: 114 movl 20(%ebp),%eax 115 .LC13: 116 movl %ebp,%esp 117 popl %edi 118 popl %esi 119 popl %ebx 120 popl %ebp 121 ret 122 .Lf25: 123 .size backslash,.Lf25-backslash 124 .globl f 125 .align 16 126 .type f,@function 127 f: 128 pushl %ebp 129 pushl %ebx 130 pushl %esi 131 pushl %edi 132 movl %esp,%ebp 133 subl $12,%esp 134 movl $0,-8(%ebp) 135 pushl $.LC27 136 call printf 137 addl $4,%esp 138 movl $0,-4(%ebp) 139 .LC28: 140 movl -4(%ebp),%edi 141 movl %edi,-12(%ebp) 142 movl -4(%ebp),%edi 143 cmpl $1,%edi 144 jl .LC32 145 cmpl $20,%edi 146 jg .LC32 147 jmp *.LC44-4(,%edi,4) 148 .data 149 .align 4 150 .LC44: 151 .long .LC34 152 .long .LC35 153 .long .LC32 154 .long .LC32 155 .long .LC32 156 .long .LC32 157 .long .LC36 158 .long .LC37 159 .long .LC38 160 .long .LC32 161 .long .LC32 162 .long .LC32 163 .long .LC32 164 .long .LC32 165 .long .LC32 166 .long .LC39 167 .long .LC40 168 .long .LC41 169 .long .LC42 170 .long .LC43 171 .text 172 .LC34: 173 movl -4(%ebp),%edi 174 movl %edi,-8(%ebp) 175 jmp .LC33 176 .LC35: 177 movl -4(%ebp),%edi 178 movl %edi,-8(%ebp) 179 jmp .LC33 180 .LC36: 181 movl -4(%ebp),%edi 182 movl %edi,-8(%ebp) 183 jmp .LC33 184 .LC37: 185 movl -4(%ebp),%edi 186 movl %edi,-8(%ebp) 187 jmp .LC33 188 .LC38: 189 movl -4(%ebp),%edi 190 movl %edi,-8(%ebp) 191 jmp .LC33 192 .LC39: 193 movl -4(%ebp),%edi 194 movl %edi,-8(%ebp) 195 jmp .LC33 196 .LC40: 197 movl -4(%ebp),%edi 198 movl %edi,-8(%ebp) 199 jmp .LC33 200 .LC41: 201 movl -4(%ebp),%edi 202 movl %edi,-8(%ebp) 203 jmp .LC33 204 .LC42: 205 movl -4(%ebp),%edi 206 movl %edi,-8(%ebp) 207 jmp .LC33 208 .LC43: 209 movl -4(%ebp),%edi 210 movl %edi,-8(%ebp) 211 .LC32: 212 .LC33: 213 pushl -8(%ebp) 214 pushl $.LC46 215 call printf 216 addl $8,%esp 217 .LC29: 218 incl -4(%ebp) 219 cmpl $20,-4(%ebp) 220 jle .LC28 221 movl $0,%eax 222 .LC26: 223 movl %ebp,%esp 224 popl %edi 225 popl %esi 226 popl %ebx 227 popl %ebp 228 ret 229 .Lf47: 230 .size f,.Lf47-f 231 .globl g 232 .align 16 233 .type g,@function 234 g: 235 pushl %ebp 236 pushl %ebx 237 pushl %esi 238 pushl %edi 239 movl %esp,%ebp 240 subl $4,%esp 241 pushl $.LC49 242 call printf 243 addl $4,%esp 244 movl $1,-4(%ebp) 245 .LC50: 246 movl -4(%ebp),%edi 247 cmpl $1001,%edi 248 jl .LC67 249 cmpl $1004,%edi 250 jg .LC68 251 jmp *.LC69-4004(,%edi,4) 252 .data 253 .align 4 254 .LC69: 255 .long .LC63 256 .long .LC63 257 .long .LC63 258 .long .LC63 259 .text 260 .LC67: 261 movl -4(%ebp),%edi 262 cmpl $1,%edi 263 jl .LC54 264 cmpl $8,%edi 265 jg .LC54 266 jmp *.LC71-4(,%edi,4) 267 .data 268 .align 4 269 .LC71: 270 .long .LC56 271 .long .LC56 272 .long .LC58 273 .long .LC58 274 .long .LC58 275 .long .LC60 276 .long .LC60 277 .long .LC60 278 .text 279 .LC68: 280 movl -4(%ebp),%edi 281 cmpl $3001,%edi 282 jl .LC54 283 cmpl $3004,%edi 284 jg .LC54 285 jmp *.LC73-12004(,%edi,4) 286 .data 287 .align 4 288 .LC73: 289 .long .LC65 290 .long .LC65 291 .long .LC65 292 .long .LC65 293 .text 294 .LC56: 295 pushl -4(%ebp) 296 pushl $.LC57 297 call printf 298 addl $8,%esp 299 jmp .LC55 300 .LC58: 301 pushl -4(%ebp) 302 pushl $.LC59 303 call printf 304 addl $8,%esp 305 jmp .LC55 306 .LC60: 307 pushl -4(%ebp) 308 pushl $.LC61 309 call printf 310 addl $8,%esp 311 .LC54: 312 pushl -4(%ebp) 313 pushl $.LC62 314 call printf 315 addl $8,%esp 316 jmp .LC55 317 .LC63: 318 pushl -4(%ebp) 319 pushl $.LC64 320 call printf 321 addl $8,%esp 322 jmp .LC55 323 .LC65: 324 pushl -4(%ebp) 325 pushl $.LC66 326 call printf 327 addl $8,%esp 328 .LC55: 329 .LC51: 330 incl -4(%ebp) 331 cmpl $10,-4(%ebp) 332 jle .LC50 333 movl $0,%eax 334 .LC48: 335 movl %ebp,%esp 336 popl %edi 337 popl %esi 338 popl %ebx 339 popl %ebp 340 ret 341 .Lf75: 342 .size g,.Lf75-g 343 .globl h 344 .align 16 345 .type h,@function 346 h: 347 pushl %ebp 348 pushl %ebx 349 pushl %esi 350 pushl %edi 351 movl %esp,%ebp 352 subl $8,%esp 353 movl $0,-8(%ebp) 354 pushl $.LC77 355 call printf 356 addl $4,%esp 357 movl $1,-4(%ebp) 358 .LC78: 359 movl -4(%ebp),%edi 360 cmpl $264,%edi 361 je .LC90 362 cmpl $264,%edi 363 jg .LC98 364 .LC97: 365 movl -4(%ebp),%edi 366 cmpl $120,%edi 367 je .LC88 368 cmpl $120,%edi 369 jg .LC100 370 .LC99: 371 movl -4(%ebp),%edi 372 cmpl $8,%edi 373 je .LC87 374 cmpl $8,%edi 375 jl .LC82 376 .LC101: 377 cmpl $16,-4(%ebp) 378 je .LC86 379 jmp .LC82 380 .LC100: 381 movl -4(%ebp),%edi 382 cmpl $128,%edi 383 je .LC84 384 cmpl $128,%edi 385 jl .LC82 386 .LC102: 387 cmpl $248,-4(%ebp) 388 je .LC91 389 jmp .LC82 390 .LC98: 391 movl -4(%ebp),%edi 392 cmpl $288,%edi 393 je .LC95 394 cmpl $288,%edi 395 jg .LC104 396 .LC103: 397 movl -4(%ebp),%edi 398 cmpl $272,%edi 399 je .LC92 400 cmpl $272,%edi 401 jl .LC82 402 .LC105: 403 cmpl $280,-4(%ebp) 404 je .LC89 405 jmp .LC82 406 .LC104: 407 movl -4(%ebp),%edi 408 cmpl $304,%edi 409 je .LC93 410 cmpl $304,%edi 411 jg .LC107 412 .LC106: 413 cmpl $296,-4(%ebp) 414 je .LC94 415 jmp .LC82 416 .LC107: 417 cmpl $312,-4(%ebp) 418 je .LC96 419 jmp .LC82 420 .LC82: 421 incl -8(%ebp) 422 jmp .LC79 423 .LC84: 424 pushl -4(%ebp) 425 pushl $.LC85 426 call printf 427 addl $8,%esp 428 jmp .LC83 429 .LC86: 430 pushl -4(%ebp) 431 pushl $.LC85 432 call printf 433 addl $8,%esp 434 jmp .LC83 435 .LC87: 436 pushl -4(%ebp) 437 pushl $.LC85 438 call printf 439 addl $8,%esp 440 jmp .LC83 441 .LC88: 442 pushl -4(%ebp) 443 pushl $.LC85 444 call printf 445 addl $8,%esp 446 jmp .LC83 447 .LC89: 448 pushl -4(%ebp) 449 pushl $.LC85 450 call printf 451 addl $8,%esp 452 jmp .LC83 453 .LC90: 454 pushl -4(%ebp) 455 pushl $.LC85 456 call printf 457 addl $8,%esp 458 jmp .LC83 459 .LC91: 460 pushl -4(%ebp) 461 pushl $.LC85 462 call printf 463 addl $8,%esp 464 jmp .LC83 465 .LC92: 466 pushl -4(%ebp) 467 pushl $.LC85 468 call printf 469 addl $8,%esp 470 jmp .LC83 471 .LC93: 472 pushl -4(%ebp) 473 pushl $.LC85 474 call printf 475 addl $8,%esp 476 jmp .LC83 477 .LC94: 478 pushl -4(%ebp) 479 pushl $.LC85 480 call printf 481 addl $8,%esp 482 jmp .LC83 483 .LC95: 484 pushl -4(%ebp) 485 pushl $.LC85 486 call printf 487 addl $8,%esp 488 jmp .LC83 489 .LC96: 490 pushl -4(%ebp) 491 pushl $.LC85 492 call printf 493 addl $8,%esp 494 .LC83: 495 .LC79: 496 incl -4(%ebp) 497 cmpl $500,-4(%ebp) 498 jle .LC78 499 pushl -8(%ebp) 500 pushl $.LC108 501 call printf 502 addl $8,%esp 503 movl $0,%eax 504 .LC76: 505 movl %ebp,%esp 506 popl %edi 507 popl %esi 508 popl %ebx 509 popl %ebp 510 ret 511 .Lf109: 512 .size h,.Lf109-h 513 .globl big 514 .align 16 515 .type big,@function 516 big: 517 pushl %ebp 518 pushl %ebx 519 pushl %esi 520 pushl %edi 521 movl %esp,%ebp 522 subl $4,%esp 523 movl 20(%ebp),%edi 524 andl $0x6000000,%edi 525 movl %edi,-4(%ebp) 526 movl -4(%ebp),%edi 527 cmpl $33554432,%edi 528 je .LC116 529 cmpl $33554432,%edi 530 jg .LC120 531 .LC119: 532 movl -4(%ebp),%edi 533 cmpl $-2,%edi 534 je .LC114 535 cmpl $-1,%edi 536 je .LC114 537 cmpl $0,%edi 538 je .LC114 539 jmp .LC111 540 .LC120: 541 movl -4(%ebp),%edi 542 cmpl $67108864,%edi 543 je .LC117 544 jmp .LC111 545 .LC114: 546 pushl 20(%ebp) 547 pushl $.LC115 548 call printf 549 addl $8,%esp 550 jmp .LC112 551 .LC116: 552 pushl 20(%ebp) 553 pushl $.LC115 554 call printf 555 addl $8,%esp 556 jmp .LC112 557 .LC117: 558 pushl 20(%ebp) 559 pushl $.LC115 560 call printf 561 addl $8,%esp 562 jmp .LC112 563 .LC111: 564 pushl 20(%ebp) 565 pushl $.LC118 566 call printf 567 addl $8,%esp 568 .LC112: 569 movl $0,%eax 570 .LC110: 571 movl %ebp,%esp 572 popl %edi 573 popl %esi 574 popl %ebx 575 popl %ebp 576 ret 577 .Lf121: 578 .size big,.Lf121-big 579 .globl limit 580 .align 16 581 .type limit,@function 582 limit: 583 pushl %ebp 584 pushl %ebx 585 pushl %esi 586 pushl %edi 587 movl %esp,%ebp 588 subl $4,%esp 589 movl $-2147483648,-4(%ebp) 590 .LC123: 591 movl -4(%ebp),%edi 592 movl $-2147483648,%esi 593 cmpl $-2147483648,%edi 594 jl .LC127 595 cmpl $-2147483644,%edi 596 jg .LC127 597 leal (,%edi,4),%edi 598 leal (,%esi,4),%esi 599 subl %esi,%edi 600 jmp *.LC140(%edi) 601 .data 602 .align 4 603 .LC140: 604 .long .LC129 605 .long .LC131 606 .long .LC133 607 .long .LC135 608 .long .LC137 609 .text 610 .LC129: 611 pushl $.LC130 612 call printf 613 addl $4,%esp 614 jmp .LC128 615 .LC131: 616 pushl $.LC132 617 call printf 618 addl $4,%esp 619 jmp .LC128 620 .LC133: 621 pushl $.LC134 622 call printf 623 addl $4,%esp 624 jmp .LC128 625 .LC135: 626 pushl $.LC136 627 call printf 628 addl $4,%esp 629 jmp .LC128 630 .LC137: 631 pushl $.LC138 632 call printf 633 addl $4,%esp 634 jmp .LC128 635 .LC127: 636 pushl $.LC139 637 call printf 638 addl $4,%esp 639 .LC128: 640 .LC124: 641 incl -4(%ebp) 642 cmpl $-2147483643,-4(%ebp) 643 jle .LC123 644 movl $2147483647,-4(%ebp) 645 .LC141: 646 movl -4(%ebp),%edi 647 movl $2147483643,%esi 648 cmpl $2147483643,%edi 649 jl .LC145 650 cmpl $2147483647,%edi 651 jg .LC145 652 leal (,%edi,4),%edi 653 leal (,%esi,4),%esi 654 subl %esi,%edi 655 jmp *.LC152(%edi) 656 .data 657 .align 4 658 .LC152: 659 .long .LC151 660 .long .LC150 661 .long .LC149 662 .long .LC148 663 .long .LC147 664 .text 665 .LC147: 666 pushl $.LC130 667 call printf 668 addl $4,%esp 669 jmp .LC146 670 .LC148: 671 pushl $.LC132 672 call printf 673 addl $4,%esp 674 jmp .LC146 675 .LC149: 676 pushl $.LC134 677 call printf 678 addl $4,%esp 679 jmp .LC146 680 .LC150: 681 pushl $.LC136 682 call printf 683 addl $4,%esp 684 jmp .LC146 685 .LC151: 686 pushl $.LC138 687 call printf 688 addl $4,%esp 689 jmp .LC146 690 .LC145: 691 pushl $.LC139 692 call printf 693 addl $4,%esp 694 .LC146: 695 .LC142: 696 decl -4(%ebp) 697 cmpl $2147483642,-4(%ebp) 698 jge .LC141 699 movl $0,%eax 700 .LC122: 701 movl %ebp,%esp 702 popl %edi 703 popl %esi 704 popl %ebx 705 popl %ebp 706 ret 707 .Lf153: 708 .size limit,.Lf153-limit 709 .data 710 .align 1 711 .LC139: 712 .byte 53 713 .byte 10 714 .byte 0 715 .align 1 716 .LC138: 717 .byte 52 718 .byte 10 719 .byte 0 720 .align 1 721 .LC136: 722 .byte 51 723 .byte 10 724 .byte 0 725 .align 1 726 .LC134: 727 .byte 50 728 .byte 10 729 .byte 0 730 .align 1 731 .LC132: 732 .byte 49 733 .byte 10 734 .byte 0 735 .align 1 736 .LC130: 737 .byte 48 738 .byte 10 739 .byte 0 740 .align 1 741 .LC118: 742 .byte 120 743 .byte 32 744 .byte 61 745 .byte 32 746 .byte 48 747 .byte 120 748 .byte 37 749 .byte 120 750 .byte 32 751 .byte 40 752 .byte 100 753 .byte 101 754 .byte 102 755 .byte 97 756 .byte 117 757 .byte 108 758 .byte 116 759 .byte 41 760 .byte 10 761 .byte 0 762 .align 1 763 .LC115: 764 .byte 120 765 .byte 32 766 .byte 61 767 .byte 32 768 .byte 48 769 .byte 120 770 .byte 37 771 .byte 120 772 .byte 10 773 .byte 0 774 .align 1 775 .LC108: 776 .byte 37 777 .byte 100 778 .byte 32 779 .byte 100 780 .byte 101 781 .byte 102 782 .byte 97 783 .byte 117 784 .byte 108 785 .byte 116 786 .byte 115 787 .byte 10 788 .byte 0 789 .align 1 790 .LC85: 791 .byte 105 792 .byte 32 793 .byte 61 794 .byte 32 795 .byte 37 796 .byte 100 797 .byte 10 798 .byte 0 799 .align 1 800 .LC77: 801 .byte 104 802 .byte 58 803 .byte 10 804 .byte 0 805 .align 1 806 .LC66: 807 .byte 54 808 .byte 32 809 .byte 37 810 .byte 100 811 .byte 10 812 .byte 0 813 .align 1 814 .LC64: 815 .byte 53 816 .byte 32 817 .byte 37 818 .byte 100 819 .byte 10 820 .byte 0 821 .align 1 822 .LC62: 823 .byte 100 824 .byte 32 825 .byte 37 826 .byte 100 827 .byte 10 828 .byte 0 829 .align 1 830 .LC61: 831 .byte 51 832 .byte 32 833 .byte 37 834 .byte 100 835 .byte 10 836 .byte 0 837 .align 1 838 .LC59: 839 .byte 50 840 .byte 32 841 .byte 37 842 .byte 100 843 .byte 10 844 .byte 0 845 .align 1 846 .LC57: 847 .byte 49 848 .byte 32 849 .byte 37 850 .byte 100 851 .byte 10 852 .byte 0 853 .align 1 854 .LC49: 855 .byte 103 856 .byte 58 857 .byte 10 858 .byte 0 859 .align 1 860 .LC46: 861 .byte 120 862 .byte 32 863 .byte 61 864 .byte 32 865 .byte 37 866 .byte 100 867 .byte 10 868 .byte 0 869 .align 1 870 .LC27: 871 .byte 102 872 .byte 58 873 .byte 10 874 .byte 0 875 .align 1 876 .LC7: 877 .byte 37 878 .byte 99 879 .byte 32 880 .byte 61 881 .byte 32 882 .byte 48 883 .byte 120 884 .byte 37 885 .byte 120 886 .byte 10 887 .byte 0 888 .align 1 889 .LC6: 890 .byte 98 891 .byte 102 892 .byte 110 893 .byte 114 894 .byte 116 895 .byte 118 896 .byte 120 897 .byte 0 898 .text 899 .ident "LCC: 4.1"