• 2022-10-31
    第22题中caller函数对应的机器级代码如下:1 pushl %ebp2 movl %esp, %ebp3 subl $24, %esp4 movl $100, -12(%ebp)5 movl $200, -8(%ebp)6 movl -8(%ebp), %eax7 movl %eax, 4(%esp)8 movl -12(%ebp), %eax9 movl %eax, (%esp)10 call add11 movl %eax, -4(%esp)12 movl -4(%ebp), %eax13 leave14 ret假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是()。
    A: 第1条指令将过程P的EBP内容压入caller栈帧
    B: 第2条指令使EBP内容指向caller栈帧的底部
    C: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧
    D: 从上述指令序列可看出,caller函数没有使用被调用者保存寄存器
  • 举一反三