如何在不使用伪指令的情况下加载内存地址?

Tri*_*dad 5 assembly mips mips32 mars-simulator

我正在尝试使用MARS模拟器自己学习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 # ?? ... 
Run Code Online (Sandbox Code Playgroud)

这是否可以使用专门的MARS,没有伪指令?怎么样?

提前致谢!

mar*_*kgz 7

要回答修改过的问题" 这是否可以使用专门的MARS,没有伪指令? ":从快速扫描MARS文档来看,它似乎没有.MARS似乎是出于教学目的而故意限制的.

如果你想在一个完整的MIPS模拟器上尝试这个,模拟器将模拟在MIPS上运行的Linux操作系统并运行使用gnu工具链构建的代码,请查看OVP模拟器.这是免费的,运行在Linux和Windows,但它可能是一个很多比你更需要.