【单选题】通过堆栈传递参数,在子程序中使用EBP间址取得参数的原因是()。
【判断题】子程序开始压入EBP保护,但返回前忘记弹出,这会导致原EBP内容出错,但子程序还可以正常返回。
【单选题】视频5102子程序subp中[ebp+4]寻址的内存空间中存放的内容是()
【单选题】第2 题中的 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...
A.
第 2 条指令使 BEP 内容指向 caller 栈帧的底部
B.
从上述指令序列可看出, caller 函数没有使用被调用者保存寄存器
C.
第 1 条指令将过程 P 的 EBP 内容压入 caller 栈帧
D.
第 3 条指令将栈指针 ESP 向高地址方向移动,以生成当前栈帧
【单选题】第5题中的caller函数对应的机器级代码如下:1 pushl %ebp2 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, (%e...
A.
第 1 条指令将过程 P 的 EBP 内容压入 caller 栈帧
B.
第 2 条指令使 BEP 内容指向 caller 栈帧的底部
C.
第 3 条指令将栈指针 ESP 向高地址方向移动,以生成当前栈帧
D.
从上述指令序列可看出, caller 函数没有使用被调用者保存寄存器
【单选题】IA-32中指令“popl %ebp”的功能是( )。
A.
R[esp] ← R[esp] - 4 , R[ebp] ← M[R[esp]]
B.
R[esp] ← R[esp] + 4 , R[ebp] ← M[R[esp]]
C.
R[ebp] ← M[R[esp]] , R[esp] ← R[esp] - 4
D.
R[ebp] ← M[R[esp]] , R[esp] ← R[esp] + 4
【单选题】第8 题中的 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...
A.
从上述指令序列可看出, caller 函数没有使用被调用者保存寄存器
B.
第 3 条指令将栈指针 ESP 向高地址方向移动,以生成当前栈帧
C.
第 1 条指令将过程 P 的 EBP 内容压入 caller 栈帧
D.
第 2 条指令使 BEP 内容指向 caller 栈帧的底部