编译器如何知道使用哪种寻址模式

时间:2017-03-12 18:40:29

标签: compiler-construction computer-science

体系结构具有不同的寻址模式,其中一些模式限制了它们可以处理的位移量。想象一下,架构有两条指令:

#1 ldw reg, signed imm7(reg) # max displacement = 64 (2^6)

#2 ldw reg, (index-reg, base-reg) # no limit on amount of displacement

我很难理解:编译器如何在这两条指令之间进行选择。在链接时间之前,通常不知道所需的位移。

编译器是否总是采用保守的方法,只有在知道最大位移时才使用指令#1?或者有什么我想念的东西?

0 个答案:

没有答案