問答題
第5題中的caller函數對應的機器級代碼如下: 1 pushl %ebp 2 movl %esp, %ebp 3 subl $24, %esp 4 movl $100, -12(%ebp) 5 movl $200, -8(%ebp) 6 movl -8(%ebp), %eax 7 movl %eax, 4(%esp) 8 movl -12(%ebp), %eax 9 movl %eax, (%esp) 10 call add 11 movl %eax, -4(%ebp) 12 movl -4(%ebp), %eax 13 leave 14 ret 假定caller的調用過程為P,對于上述指令序列,以下敘述中錯誤的是( )。
A、第1條指令將過程P的EBP內容壓入caller棧幀
B、第2條指令使BEP內容指向caller棧幀的底部
C、第3條指令將棧指針ESP向高地址方向移動,以生成當前棧幀
D、從上述指令序列可看出,caller函數沒有使用被調用者保存寄存器