0

有人可以解释将字符串(数据)放入寄存器的概念吗?我只是想将 .data 中的一行打印到屏幕上。这似乎很容易,但我无法完全理解我在做什么。

这是一些代码:

.data 
 input: .asciiz "Welcome to class 4"

.text
  main:
     addi $v0, $0, 4
     lui $v0, prompt 
     lui $a0, $v0 
     syscall

这是裸露的(如问题所述),所以我没有伪指令。我目前的想法是我正在使用 addi 来替换“li”伪指令。我将 4 添加到寄存器 $v0 中以获得一点偏移量(我不完全确定为什么需要这样做)。TA告诉我这是必要的。然后我将数据加载到 $v0 和从 $v0 到 $a0。然后系统调用打印到控制台。

我做错了什么,我怎样才能更好地理解这些概念?

4

0 回答 0