代码如下
call next
next:
popl %eax
- 寄存器 %eax 设置为什么值?
- 解释为什么这个调用没有匹配的 ret 指令?
- 这个代码片段有什么有用的用途?
书中的答案如下。我不明白。这部分代码有更详细的解释吗?
- %eax 设置为 popl 指令的地址。
- 这不是一个真正的子程序调用,因为控制遵循与指令相同的顺序,并且返回地址从堆栈中弹出。
- 这是 IA32 中将程序计数器的值放入整数寄存器的唯一方法。
代码如下
call next
next:
popl %eax
书中的答案如下。我不明白。这部分代码有更详细的解释吗?