上一篇,我们用模拟流程的方式,解决了跳转问题. 不过静态跳转,好歹事先是知道来龙去脉的.而动态跳转,只有运行时才知道要去哪.既然流程都是未知的,翻译从何谈起? 动态跳转,平时出现的多吗?非常多!除了 JMP 指令,还有一个更常用的,就是 RTS 指令. 它用于子流程的返回 -- 从栈上取出数据给程序计数器 PC,回到之前执行 JSR 指令的位置(相当于 call / return).如果把栈上数据改了,那也是可以任意跳转的. 动态跳转很常用,因此必须得支持. 已有流程 动态跳转,理论上可以跳到任