我有以下两个问题:
1)如果在MIPS64汇编程序中使用MIPS32指令,会发生什么情况?MIPS64汇编器会汇编混合程序吗?
2) MIPS64汇编器可以汇编MIPS32汇编程序吗?如果是这样,它是否能正确运行,即产生与MIPS32架构的机器相同的输出?
非常感谢!
发布于 2014-02-04 03:41:56
64位MIPS处理器具有64位寄存器,但它仍然执行以32位指令字编码的指令。例如,add $t0,$t1,$t2在32位处理器中添加32位寄存器,但同一指令添加64位寄存器,在64位处理器中得到64位结果。有了符号扩展支持,为MIPS32编译的程序应该可以在MIPS64处理器上不加修改地正确运行。
这与使用完全不同指令编码的英特尔x86和x64体系结构完全不同。为x64编译的程序根本不能在x86处理器上运行。
发布于 2016-07-22 10:23:58
可以在Mips64汇编程序中使用mips32指令。
事实上,对Mips64的更改使得旧的mips32程序必须以向上兼容的方式工作,而不会出现任何问题。
如果您的代码使用了正确的助记符,例如:为32位添加x,x,y为32位添加dadd x,x,y为64位添加ori x,为32位添加ori x为0xf00,为64位为OR-immed添加0xf00
然后汇编器将自动生成正确的目标代码,即使在相同的程序中使用。Mips64将同时满足这两种需求,并获得正确的结果。Mips32 (特定的)汇编程序会报错。
如上所述,第二个问题的答案是“是”。
Paxym
https://stackoverflow.com/questions/21512801
复制相似问题