MIPS:如何将值存储到数组中

时间:2016-02-23 06:27:34

标签: assembly io mips

我已将程序编码为从用户获取4个值并存储它。但是,我无法弄清楚如何将其列入“排行榜”列表中。 (。空间):

.data 
list:  .space 16
msg: .asciiz "Enter 4 numbers: "
.text

main: 
la $a0,msg # display prompt string
li $v0,4
syscall

li $v0, 5 # read integer 
syscall
add $s0, $v0, $zero #store input1 to s0

li $v0, 5 # read integer 
syscall
add $s1, $v0, $zero #store input2 to s1

li $v0, 5 # read integer 
syscall
add $s2, $v0, $zero #store input3 to s2

li $v0, 5 # read integer 
syscall
add $s3, $v0, $zero #store input4 to s3




exit:    
    li $v0, 10 # exit system call 
sysca

1 个答案:

答案 0 :(得分:4)

  

我无法弄清楚如何将它放入'list'

通过将数组的基址加载到某个寄存器中,然后使用sw指令在那里存储数据:

la $a1, list

# ... read the integers ...

sw $s0, 0($a1)
sw $s1, 4($a1)
sw $s2, 8($a1)
sw $s3, 12($a1)

我建议您下载 MIPS32™Architecture For Programmers 第二卷:MIPS32™指令集