.section __TEXT,__text,regular,pure_instructions .section __DWARF,__debug_frame,regular,debug Lsection_debug_frame: .section __DWARF,__debug_info,regular,debug Lsection_info: .section __DWARF,__debug_abbrev,regular,debug Lsection_abbrev: .section __DWARF,__debug_aranges,regular,debug Lsection_aranges: .section __DWARF,__debug_macinfo,regular,debug Lsection_macinfo: Lsection_line: .section __DWARF,__debug_loc,regular,debug Lsection_loc: .section __DWARF,__debug_pubnames,regular,debug Lsection_pubnames: .section __DWARF,__debug_pubtypes,regular,debug Lsection_pubtypes: .section __DWARF,__debug_str,regular,debug Lsection_str: .section __DWARF,__debug_ranges,regular,debug Lsection_ranges: .section __TEXT,__text,regular,pure_instructions Ltext_begin: .section __DATA,__data Ldata_begin: .section __TEXT,__text,regular,pure_instructions .globl _switch_eg .align 4, 0x90 _switch_eg: Lfunc_begin1: Ltmp3: pushl %ebp Ltmp0: movl %esp, %ebp Ltmp1: pushl %esi Ltmp2: movl 8(%ebp), %eax Ltmp4: decl %eax cmpl $5, %eax Ltmp5: ja LBB1_8 call L1$pb L1$pb: popl %ecx movl 16(%ebp), %esi movl 12(%ebp), %edx Ltmp6 = LJTI1_0-L1$pb addl Ltmp6(%ecx,%eax,4), %ecx jmpl *%ecx LBB1_2: movl $1, %eax jmp LBB1_5 LBB1_3: Ltmp7: movl %esi, %eax imull %edx, %eax jmp LBB1_6 LBB1_4: movl %edx, %eax Ltmp8: cltd idivl %esi LBB1_5: Ltmp9: addl %esi, %eax LBB1_6: Ltmp10: Ltmp11: popl %esi popl %ebp ret LBB1_7: movl $1, %eax Ltmp12: subl %esi, %eax jmp LBB1_6 LBB1_8: movl $2, %eax jmp LBB1_6 Ltmp13: Lfunc_end1: .align 2, 0x90 L1_0_set_3 = LBB1_3-L1$pb L1_0_set_4 = LBB1_4-L1$pb L1_0_set_2 = LBB1_2-L1$pb L1_0_set_8 = LBB1_8-L1$pb L1_0_set_7 = LBB1_7-L1$pb LJTI1_0: .long L1_0_set_3 .long L1_0_set_4 .long L1_0_set_2 .long L1_0_set_8 .long L1_0_set_7 .long L1_0_set_7 .globl _sparse_switch_eg .align 4, 0x90 _sparse_switch_eg: Lfunc_begin2: Ltmp16: pushl %ebp Ltmp14: movl %esp, %ebp Ltmp15: movl 8(%ebp), %eax cmpl $199, %eax movl 16(%ebp), %ecx movl 12(%ebp), %edx Ltmp17: Ltmp18: jg LBB2_3 cmpl $100, %eax jne LBB2_12 Ltmp19: movl %ecx, %eax imull %edx, %eax Ltmp20: Ltmp21: popl %ebp ret LBB2_3: cmpl $299, %eax jg LBB2_6 cmpl $200, %eax jne LBB2_12 movl %edx, %eax Ltmp22: cltd idivl %ecx jmp LBB2_10 LBB2_6: cmpl $600, %eax je LBB2_11 cmpl $500, %eax je LBB2_11 cmpl $300, %eax jne LBB2_12 movl $1, %eax LBB2_10: Ltmp23: addl %ecx, %eax Ltmp24: Ltmp25: popl %ebp ret LBB2_11: movl $1, %eax Ltmp26: subl %ecx, %eax Ltmp27: Ltmp28: popl %ebp ret LBB2_12: movl $2, %eax popl %ebp ret Ltmp29: Lfunc_end2: .globl _main .align 4, 0x90 _main: Lfunc_begin3: Ltmp33: pushl %ebp Ltmp30: movl %esp, %ebp Ltmp31: pushl %ebx pushl %edi pushl %esi subl $28, %esp Ltmp32: call L3$pb L3$pb: popl %eax movl %eax, -16(%ebp) movl 12(%ebp), %esi Ltmp34: movl 4(%esi), %ecx movl %ecx, (%esp) call _atoi movl %eax, %edi Ltmp35: movl 8(%esi), %ecx Ltmp36: Ltmp37: movl %ecx, (%esp) call _atoi movl %eax, %ebx Ltmp38: movl 12(%esi), %ecx Ltmp39: Ltmp40: movl %ecx, (%esp) call _atoi movl %eax, %esi Ltmp41: Ltmp42: movl %esi, 8(%esp) movl %ebx, 4(%esp) movl %edi, (%esp) call _switch_eg Ltmp43: Ltmp44: movl %eax, 16(%esp) movl %esi, 12(%esp) movl %ebx, 8(%esp) movl %edi, 4(%esp) movl -16(%ebp), %eax leal L_.str-L3$pb(%eax), %eax movl %eax, (%esp) call _printf Ltmp45: movl $0, (%esp) call _exit Ltmp46: Lfunc_end3: .section __TEXT,__cstring,cstring_literals .align 2 L_.str: .asciz "x = %ld, y = %ld, z = %ld --> %ld\n" .section __TEXT,__text,regular,pure_instructions Ltext_end: .section __DATA,__data Ldata_end: .section __TEXT,__text,regular,pure_instructions Lsection_end1: .section __DWARF,__debug_frame,regular,debug Ldebug_frame_common: Lset0 = Ldebug_frame_common_end-Ldebug_frame_common_begin .long Lset0 Ldebug_frame_common_begin: .long 4294967295 .byte 1 .byte 0 .byte 1 .byte 124 .byte 8 .byte 12 .byte 4 .byte 4 .byte 136 .byte 1 .align 2 Ldebug_frame_common_end: Lset1 = Ldebug_frame_end1-Ldebug_frame_begin1 .long Lset1 Ldebug_frame_begin1: Lset2 = Ldebug_frame_common-Lsection_debug_frame .long Lset2 .long Lfunc_begin1 Lset3 = Lfunc_end1-Lfunc_begin1 .long Lset3 .byte 4 Lset4 = Ltmp0-Lfunc_begin1 .long Lset4 .byte 14 .byte 8 .byte 133 .byte 2 .byte 4 Lset5 = Ltmp1-Ltmp0 .long Lset5 .byte 13 .byte 5 .byte 4 Lset6 = Ltmp2-Ltmp1 .long Lset6 .byte 134 .byte 3 .align 2 Ldebug_frame_end1: Lset7 = Ldebug_frame_end2-Ldebug_frame_begin2 .long Lset7 Ldebug_frame_begin2: Lset8 = Ldebug_frame_common-Lsection_debug_frame .long Lset8 .long Lfunc_begin2 Lset9 = Lfunc_end2-Lfunc_begin2 .long Lset9 .byte 4 Lset10 = Ltmp14-Lfunc_begin2 .long Lset10 .byte 14 .byte 8 .byte 133 .byte 2 .byte 4 Lset11 = Ltmp15-Ltmp14 .long Lset11 .byte 13 .byte 5 .align 2 Ldebug_frame_end2: Lset12 = Ldebug_frame_end3-Ldebug_frame_begin3 .long Lset12 Ldebug_frame_begin3: Lset13 = Ldebug_frame_common-Lsection_debug_frame .long Lset13 .long Lfunc_begin3 Lset14 = Lfunc_end3-Lfunc_begin3 .long Lset14 .byte 4 Lset15 = Ltmp30-Lfunc_begin3 .long Lset15 .byte 14 .byte 8 .byte 133 .byte 2 .byte 4 Lset16 = Ltmp31-Ltmp30 .long Lset16 .byte 13 .byte 5 .byte 4 Lset17 = Ltmp32-Ltmp31 .long Lset17 .byte 134 .byte 5 .byte 135 .byte 4 .byte 131 .byte 3 .align 2 Ldebug_frame_end3: .section __DWARF,__debug_info,regular,debug Linfo_begin1: .long 577 .short 2 Lset18 = Labbrev_begin-Lsection_abbrev .long Lset18 .byte 4 .byte 1 .ascii "4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)" .byte 0 .byte 1 .ascii "switch.c" .byte 0 .long 0 .long 0 .ascii "/Users/aykut/Documents/Academic/Courses/Hacettepe/BIL220/2012/codes/asm-procedures/" .byte 0 .byte 1 .byte 2 .byte 5 .ascii "long int" .byte 0 .byte 4 .byte 3 .long 294 .ascii "switch_eg" .byte 0 .ascii "switch_eg" .byte 0 .byte 1 .byte 5 .byte 1 .long 177 .byte 1 .long Lfunc_begin1 .long Lfunc_end1 .byte 1 .byte 85 .byte 4 .byte 120 .byte 0 .byte 1 .byte 5 .long 177 .byte 2 .byte 145 .byte 8 .byte 4 .byte 121 .byte 0 .byte 1 .byte 5 .long 177 .byte 2 .byte 145 .byte 12 .byte 4 .byte 122 .byte 0 .byte 1 .byte 5 .long 177 .byte 2 .byte 145 .byte 16 .byte 5 .long Ltmp4 .long Ltmp13 .byte 6 .byte 119 .byte 0 .byte 1 .byte 6 .long 177 .byte 1 .byte 1 .long Ltmp5 .byte 0 .byte 0 .byte 3 .long 411 .ascii "sparse_switch_eg" .byte 0 .ascii "sparse_switch_eg" .byte 0 .byte 1 .byte 28 .byte 1 .long 177 .byte 1 .long Lfunc_begin2 .long Lfunc_end2 .byte 1 .byte 85 .byte 4 .byte 120 .byte 0 .byte 1 .byte 28 .long 177 .byte 2 .byte 145 .byte 8 .byte 4 .byte 121 .byte 0 .byte 1 .byte 28 .long 177 .byte 2 .byte 145 .byte 12 .byte 4 .byte 122 .byte 0 .byte 1 .byte 28 .long 177 .byte 2 .byte 145 .byte 16 .byte 5 .long Ltmp17 .long Ltmp29 .byte 7 .byte 119 .byte 0 .byte 1 .byte 29 .long 177 Lset19 = Ldebug_loc-Lsection_loc .long Lset19 .byte 0 .byte 0 .byte 2 .byte 5 .ascii "int" .byte 0 .byte 4 .byte 3 .long 552 .ascii "main" .byte 0 .ascii "main" .byte 0 .byte 1 .byte 50 .byte 1 .long 411 .byte 1 .long Lfunc_begin3 .long Lfunc_end3 .byte 1 .byte 85 .byte 4 .ascii "argc" .byte 0 .byte 1 .byte 50 .long 411 .byte 2 .byte 145 .byte 8 .byte 4 .ascii "argv" .byte 0 .byte 1 .byte 50 .long 568 .byte 2 .byte 145 .byte 12 .byte 5 .long Ltmp34 .long Ltmp46 .byte 8 .byte 120 .byte 0 .byte 1 .byte 51 .long 177 .byte 1 .byte 87 .long Ltmp36 .byte 8 .byte 121 .byte 0 .byte 1 .byte 52 .long 177 .byte 1 .byte 83 .long Ltmp39 .byte 8 .byte 122 .byte 0 .byte 1 .byte 53 .long 177 .byte 1 .byte 86 .long Ltmp41 .byte 8 .byte 119 .byte 0 .byte 1 .byte 54 .long 177 .byte 1 .byte 80 .long Ltmp43 .byte 0 .byte 0 .byte 2 .byte 6 .ascii "char" .byte 0 .byte 1 .byte 9 .long 552 .byte 4 .byte 1 .byte 0 .byte 9 .long 560 .byte 4 .byte 1 .byte 0 .byte 0 .byte 0 .byte 0 .byte 0 .byte 0 Linfo_end1: .section __DWARF,__debug_abbrev,regular,debug Labbrev_begin: .byte 1 .byte 17 .byte 1 .byte 37 .byte 8 .byte 19 .byte 11 .byte 3 .byte 8 .byte 82 .byte 1 .byte 16 .byte 6 .byte 27 .byte 8 .byte 225 .byte 127 .byte 12 .byte 0 .byte 0 .byte 2 .byte 36 .byte 0 .byte 62 .byte 11 .byte 3 .byte 8 .byte 11 .byte 11 .byte 0 .byte 0 .byte 3 .byte 46 .byte 1 .byte 1 .byte 19 .byte 3 .byte 8 .byte 135 .byte 64 .byte 8 .byte 58 .byte 11 .byte 59 .byte 11 .byte 39 .byte 12 .byte 73 .byte 19 .byte 63 .byte 12 .byte 17 .byte 1 .byte 18 .byte 1 .byte 64 .byte 10 .byte 0 .byte 0 .byte 4 .byte 5 .byte 0 .byte 3 .byte 8 .byte 58 .byte 11 .byte 59 .byte 11 .byte 73 .byte 19 .byte 2 .byte 10 .byte 0 .byte 0 .byte 5 .byte 11 .byte 1 .byte 17 .byte 1 .byte 18 .byte 1 .byte 0 .byte 0 .byte 6 .byte 52 .byte 0 .byte 3 .byte 8 .byte 58 .byte 11 .byte 59 .byte 11 .byte 73 .byte 19 .byte 28 .byte 10 .byte 44 .byte 1 .byte 0 .byte 0 .byte 7 .byte 52 .byte 0 .byte 3 .byte 8 .byte 58 .byte 11 .byte 59 .byte 11 .byte 73 .byte 19 .byte 2 .byte 6 .byte 0 .byte 0 .byte 8 .byte 52 .byte 0 .byte 3 .byte 8 .byte 58 .byte 11 .byte 59 .byte 11 .byte 73 .byte 19 .byte 2 .byte 10 .byte 44 .byte 1 .byte 0 .byte 0 .byte 9 .byte 15 .byte 0 .byte 73 .byte 19 .byte 11 .byte 11 .byte 58 .byte 11 .byte 59 .byte 11 .byte 0 .byte 0 .byte 0 Labbrev_end: .section __DWARF,__debug_line,regular,debug Lset20 = Lline_end-Lline_begin .long Lset20 Lline_begin: .short 2 Lset21 = Lline_prolog_end-Lline_prolog_begin .long Lset21 Lline_prolog_begin: .byte 1 .byte 1 .byte 246 .byte 245 .byte 10 .byte 0 .byte 1 .byte 1 .byte 1 .byte 1 .byte 0 .byte 0 .byte 0 .byte 1 .asciz "/Users/aykut/Documents/Academic/Courses/Hacettepe/BIL220/2012/codes/asm-procedures/" .byte 0 .asciz "switch.c" .byte 1 .byte 0 .byte 0 .byte 0 Lline_prolog_end: .byte 0 .byte 5 .byte 2 .long Ltmp3 .byte 24 .byte 0 .byte 5 .byte 2 .long Ltmp4 .byte 22 .byte 0 .byte 5 .byte 2 .long Ltmp5 .byte 19 .byte 0 .byte 5 .byte 2 .long Ltmp7 .byte 23 .byte 0 .byte 5 .byte 2 .long Ltmp8 .byte 23 .byte 0 .byte 5 .byte 2 .long Ltmp9 .byte 23 .byte 0 .byte 5 .byte 2 .long Ltmp10 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp11 .byte 29 .byte 0 .byte 5 .byte 2 .long Ltmp12 .byte 15 .byte 0 .byte 5 .byte 2 .long Ltmp16 .byte 29 .byte 0 .byte 5 .byte 2 .long Ltmp17 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp18 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp19 .byte 22 .byte 0 .byte 5 .byte 2 .long Ltmp20 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp21 .byte 35 .byte 0 .byte 5 .byte 2 .long Ltmp22 .byte 3 .byte 116 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp23 .byte 23 .byte 0 .byte 5 .byte 2 .long Ltmp24 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp25 .byte 29 .byte 0 .byte 5 .byte 2 .long Ltmp26 .byte 15 .byte 0 .byte 5 .byte 2 .long Ltmp27 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp28 .byte 25 .byte 0 .byte 5 .byte 2 .long Ltmp33 .byte 23 .byte 0 .byte 5 .byte 2 .long Ltmp34 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp35 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp36 .byte 19 .byte 0 .byte 5 .byte 2 .long Ltmp37 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp38 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp39 .byte 19 .byte 0 .byte 5 .byte 2 .long Ltmp40 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp41 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp42 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp43 .byte 1 .byte 0 .byte 5 .byte 2 .long Ltmp44 .byte 21 .byte 0 .byte 5 .byte 2 .long Ltmp45 .byte 22 .byte 0 .byte 5 .byte 2 .long Lsection_end1 .byte 0 .byte 1 .byte 1 Lline_end: .section __DWARF,__debug_pubnames,regular,debug Lset22 = Lpubnames_end1-Lpubnames_begin1 .long Lset22 Lpubnames_begin1: .short 2 Lset23 = Linfo_begin1-Lsection_info .long Lset23 Lset24 = Linfo_end1-Linfo_begin1 .long Lset24 .long 418 .asciz "main" .long 294 .asciz "sparse_switch_eg" .long 189 .asciz "switch_eg" .long 0 Lpubnames_end1: .section __DWARF,__debug_pubtypes,regular,debug Lset25 = Lpubtypes_end1-Lpubtypes_begin1 .long Lset25 Lpubtypes_begin1: .short 2 Lset26 = Linfo_begin1-Lsection_info .long Lset26 Lset27 = Linfo_end1-Linfo_begin1 .long Lset27 .long 0 Lpubtypes_end1: .section __DWARF,__debug_loc,regular,debug Ldebug_loc: .long Ltmp20 .long Ltmp24 .short 1 .byte 80 .long Ltmp24 .long Ltmp27 .short 1 .byte 80 .long Ltmp27 .long Lfunc_end2 .short 1 .byte 80 .long 0 .long 0 Ldebug_loc4: .section __DWARF,__debug_aranges,regular,debug .section __DWARF,__debug_ranges,regular,debug .section __DWARF,__debug_macinfo,regular,debug .section __DWARF,__debug_inlined,regular,debug Lset28 = Ldebug_inlined_end1-Ldebug_inlined_begin1 .long Lset28 Ldebug_inlined_begin1: .short 2 .byte 4 Ldebug_inlined_end1: .subsections_via_symbols