在研究ARM体系结构组装时,我经常看到指令EAFFFFFE(这意味着跳转到当前PC地址)。
这是什么意思,为什么需要转移到当前的PC地址?
答案 0 :(得分:2)
例如,将生成到当前地址的分支
while(1);
或
for(;;);
在C中。这两个循环永远运行,什么也不做。
您为什么要这个?好吧,在生产代码中,您可能不会。但是在示例或测试代码中,到达正在运行的程序的“末端”是很常见的。 CPU应该怎么办?可以暂停大多数CPU来节省功率,但是在运行简单的测试代码时几乎不需要这样做,而且无论如何它通常与调试器的交互性很差。进入无限循环是使CPU不执行任何操作的最简单方法。
(我相信您会说EAFFFFFE
就是您所说的-您未指定ARM体系结构或指令集。)