.file "switch.c" .text .globl apply .type apply, @function apply: pushl %ebp movl %esp, %ebp subl $8, %esp cmpl $4, 8(%ebp) ja .L2 movl 8(%ebp), %eax sall $2, %eax movl .L8(%eax), %eax jmp *%eax .section .rodata .align 4 .align 4 .L8: .long .L3 .long .L4 .long .L5 .long .L6 .long .L7 .text .L3: movl 16(%ebp), %eax movl 12(%ebp), %edx addl %eax, %edx movl %edx, -4(%ebp) jmp .L9 .L4: movl 12(%ebp), %eax movl %eax, %ecx imull 16(%ebp), %ecx movl %ecx, -4(%ebp) jmp .L9 .L5: movl 16(%ebp), %edx movl 12(%ebp), %eax movl %eax, %ecx subl %edx, %ecx movl %ecx, -4(%ebp) jmp .L9 .L6: movl 12(%ebp), %edx movl %edx, %eax sarl $31, %edx idivl 16(%ebp) movl %eax, -4(%ebp) jmp .L9 .L7: movl 12(%ebp), %edx movl %edx, %eax sarl $31, %edx idivl 16(%ebp) movl %edx, -4(%ebp) jmp .L9 .L2: jmp .L1 .L9: movl -4(%ebp), %eax movl %eax, -8(%ebp) .L1: movl -8(%ebp), %eax leave ret .size apply, .-apply .globl sum .type sum, @function sum: pushl %ebp movl %esp, %ebp subl $16, %esp movl 12(%ebp), %eax addl 8(%ebp), %eax movl %eax, -4(%ebp) leave ret .size sum, .-sum .ident "GCC: (GNU) 4.1.2 20080704 (Red Hat 4.1.2-50)" .section .note.GNU-stack,"",@progbits