跳跃如何运作?
它设置IP寄存器还是增加IP寄存器?
执行代码是相对的还是绝对的变更?
最佳答案
在Intel上,既有增加IP的近跳转,也有使用绝对地址的远跳转。所以答案是-两者都有。
通常,在其他体系结构上,两种形式的跳转也都可用,但不一定是同一命令。例如,在ARM上,对于远跳,您只需分配给PC寄存器(mov pc, rx
)。或从内存中加载它。另一方面,B
(分支)命令将增量添加到同一PC寄存器。
关于assembly - 汇编程序和跳转指令(如何工作),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2169036/