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