• 2022-10-30
    第15题中的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函数没有使用被调用者保存寄存器
  • 举一反三