我正在尝试使用 自己学习 MIPS 汇编语言火星模拟器 .
出于教学原因,我限制自己不使用伪指令。
在尝试将某些数据的地址放入寄存器时,我遇到了一个问题,因为我无法使用 la
.
我尝试使用 lui
结合 ori
,就像我直接加载一个数字一样,无济于事:
.data
arr:
.byte 0xa1
.byte 0xb2
.byte 0xc3
.byte 0xd4
.byte 0xe5
.byte 0xf6
.byte 0x7a
.byte 0x8b
.byte 0x9c
.byte 0xad
.text
lui $s0, mem # <--- mars just gives me errors here :(
ori $s0, mem # ?? ...
在没有伪指令的情况下,使用专门的 MARS 是否可行?如何?
提前致谢!
最佳答案
要回答修改后的问题“这是否可以专门使用 MARS,而无需伪指令?”:从 MARS 文档的快速扫描来看,似乎不是。 MARS 似乎是出于教学目的而有意限制的。
如果您想在完整的 MIPS 模拟器上尝试此操作,该模拟器将模拟在 MIPS 上运行的 Linux 操作系统并运行使用 gnu 工具链构建的代码,请查看 OVP Simulator .这是免费的,可在 Linux 和 Windows 上运行,但它可能比您需要的要多得多。
关于assembly - 如何在不使用伪指令的情况下加载内存地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7264532/