本文介绍了如何不使用伪指令装入内存地址?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用我自己的学习MIPS汇编语言的 MARS模拟器

I'm trying to learn MIPS assembly language by myself using MARS simulator.

有关说教的原因,我限制自己不使用伪指令。

For didactic reasons I'm limiting myself to not using pseudo-instructions.

在试图得到一些数据的地址到寄存器中,我遇到了一个问题,因为我不能使用

While trying to get the address of some data into a register, I ran into a problem because I cannot use la.

我试着用 ORI 组合,一样的,如果我是直接加载一些,不得要领:

I tried using lui in combination with ori, the same as if I was to load a number directly, to no avail:

  .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似乎有意限制用于教导的目的

To answer the modified question "is this doable using specifically MARS, without pseudo-instructions?": From a quick scan of the MARS documentation, it appears not. MARS appears to be intentionally restricted for pedagogical purposes.

如果你想尝试这种在一个完整的MIPS模拟器,可以模拟Linux操作系统在MIPS和GNU工具链建成运行code跑,冒一看的。这是免费的,运行在Linux和Windows,但它可能是一个的很多的比你更需要。

If you want to try this on a full MIPS simulator that will simulate the Linux OS running on MIPS and run code built with the gnu toolchain, take a look at the OVP Simulator. This is free and runs on Linux and Windows, but it's probably a lot more than you need.

这篇关于如何不使用伪指令装入内存地址?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-10 04:41