.file "p1.c" .section .rodata .LC0: .string "You are a wizard\n" .LC1: .string "You are wrong\n" .text .globl checkguess .type checkguess,@function checkguess: pushl %ebp movl %esp, %ebp subl $8, %esp movl $31, -4(%ebp) movl 8(%ebp), %edx leal -4(%ebp), %eax addl %edx, (%eax) movl 8(%ebp), %eax sall $1, %eax cmpl -4(%ebp), %eax jne .L2 subl $12, %esp pushl $.LC0 call printf addl $16, %esp jmp .L1 .L2: subl $12, %esp pushl $.LC1 call printf addl $16, %esp .L1: leave ret .Lfe1: .size checkguess,.Lfe1-checkguess .section .rodata .align 32 .LC2: .string "You need to enter a number on the command line\n" .text .globl main .type main,@function main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax subl %eax, %esp cmpl $1, 8(%ebp) jg .L5 subl $12, %esp pushl $.LC2 call printf addl $16, %esp movl $1, -8(%ebp) jmp .L4 .L5: subl $12, %esp movl 12(%ebp), %eax addl $4, %eax pushl (%eax) call atoi addl $16, %esp movl %eax, -4(%ebp) subl $12, %esp pushl -4(%ebp) call checkguess addl $16, %esp movl $0, -8(%ebp) .L4: movl -8(%ebp), %eax leave ret .Lfe2: .size main,.Lfe2-main .ident "GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"