在汇编代码中的返回地址(The return address in the assembly cod

2019-09-19 10:05发布

汇编代码是这样的:

  call next
next:
  popl %eax

我想了想之后call next ,返回地址将被压入堆栈,对不对? 但是,在上面的代码中,有什么返回地址?

Answer 1:

该代码执行后EAX%将有标签的地址“下一步”

  1. 呼叫转移到这恰巧是下一顺序指令以及将返回地址的目标,这始终是一个顺序指令的地址
  2. 该popl等会弹出从堆栈中的返回地址到%EAX寄存器

最终的效果是%EAX点标注“下一步”



Answer 2:

这是紧接的下一条指令的地址call指令。 查看如何你的CPU的文档call的作品。



文章来源: The return address in the assembly code