Lecture Practice Quiz 19 The assembly listing The C function .file "quiz12.c" int quiz12(int a, int b, int c) { .text int x, y, z; .globl quiz12 x = a - 20; .type quiz12, @function y = b + 30; quiz12: z = c - 40; pushl %ebp return x + y + z; movl %esp, %ebp } subl $16, %esp movl 8(%ebp), %eax subl $20, %eax movl %eax, -12(%ebp) movl 12(%ebp), %eax addl $30, %eax movl %eax, -8(%ebp) movl 16(%ebp), %eax subl $40, %eax movl %eax, -4(%ebp) movl -8(%ebp), %eax movl -12(%ebp), %edx leal (%edx,%eax), %eax # movl %ebp,%esp, then popl %ebp addl -4(%ebp), %eax leave ret .size quiz12, .-quiz12 .ident "GCC: (GNU) 4.4.4 20100630 (Red Hat 4.4.4-10)" .section .note.GNU-stack,"",@progbits 1. ____ 16(%ebp) A. return address 2. ____ 12(%ebp) B. saved %ebp 3. ____ 8(%ebp) C. a 4. ____ 4(%ebp) D. b 5. ____ 0(%ebp) E. c 6. ____ -4(%ebp) F. x 7. ____ -8(%ebp) G. y 8. ____ -12(%ebp) H. z 9. ____ -16(%ebp) I. not used