Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 将值存储到MIPS中的数据段中_Assembly_Mips - Fatal编程技术网

Assembly 将值存储到MIPS中的数据段中

Assembly 将值存储到MIPS中的数据段中,assembly,mips,Assembly,Mips,您好,我是一个全新的使用MIPS的人,我只是对这个措辞感到困惑,它可能非常简单,但我无法在我的笔记或网上找到任何专门针对这个问题的内容 这是我的代码: .data val1: .word 1 val2: .word 2 val3: .word 3 .asciiz "Daniel" .asciiz "Enter a number " .asciiz "\n" .globl main .text main: addi $s0, $0, 23 # initializes the registe

您好,我是一个全新的使用MIPS的人,我只是对这个措辞感到困惑,它可能非常简单,但我无法在我的笔记或网上找到任何专门针对这个问题的内容

这是我的代码:

.data
val1: .word 1
val2: .word 2
val3: .word 3

.asciiz "Daniel"
.asciiz "Enter a number "
.asciiz "\n"

.globl main
.text

main:

addi $s0, $0, 23 # initializes the register $s0 to 23

lui $a0, 0x1001
ori $a0, $a0, 19
ori $v0, $0, 4
syscall
addi $v0, $0, 5
syscall
addi $s1, $v0, 0
我的问题是:我该怎么做。将$s1中的值存储到标记为“val1”的数据段中??我知道如何将它存储到另一个寄存器中,但不是一个值,请和谢谢

la $t0, val1
sw $s1, 0($t0)

$t0是任意选择的,选择使用哪个寄存器保存val1数组的基址并不重要。此外,la(加载地址)是一个伪操作,因此请确保您能够首先使用它。

MIPS没有太多的指令,很容易确定您需要哪一条指令。提示:查看
sw
。还有很多例子。注释代码有助于理解它;)如果您未被禁止,您可能还希望使用
la