.file "switch1.c" gcc2_compiled.: ___gnu_compiled_c: .def ___main; .scl 2; .type 32; .endef .text .align 32 LC0: .ascii "Enter 1. Add, 2. Sub, 3. Mul, 4. Div: \0" LC1: .ascii "%d\0" LC2: .ascii "Add!\12\0" LC3: .ascii "Sub!\12\0" LC4: .ascii "Mul\12\0" LC5: .ascii "Div\12\0" LC6: .ascii "Bad choice\12\0" LC7: .ascii "Done.\12\0" .align 4 .globl _main .def _main; .scl 2; .type 32; .endef _main: pushl %ebp movl %esp,%ebp subl $24,%esp call ___main addl $-12,%esp pushl $LC0 call _printf addl $16,%esp addl $-8,%esp leal -4(%ebp),%eax pushl %eax pushl $LC1 call _scanf addl $16,%esp movl -4(%ebp),%eax cmpl $2,%eax je L5 cmpl $2,%eax jg L10 cmpl $1,%eax je L4 jmp L8 .p2align 4,,7 L10: cmpl $3,%eax je L6 cmpl $4,%eax je L7 jmp L8 .p2align 4,,7 L4: addl $-12,%esp pushl $LC2 call _printf addl $16,%esp jmp L3 .p2align 4,,7 L5: addl $-12,%esp pushl $LC3 call _printf addl $16,%esp jmp L3 .p2align 4,,7 L6: addl $-12,%esp pushl $LC4 call _printf addl $16,%esp jmp L3 .p2align 4,,7 L7: addl $-12,%esp pushl $LC5 call _printf addl $16,%esp jmp L3 .p2align 4,,7 L8: addl $-12,%esp pushl $LC6 call _printf addl $16,%esp jmp L3 .p2align 4,,7 L3: addl $-12,%esp pushl $LC7 call _printf addl $16,%esp L2: leave ret .def _scanf; .scl 2; .type 32; .endef .def _printf; .scl 2; .type 32; .endef