Arrays 基于用户输入MIPS创建数组
我试图找出如何创建二维数组,然后根据用户输入搜索数组 它将提示用户输入(行、列):(2、7) 然后它将从该索引返回随机数 这就是我到目前为止所做的,它将创建一个10x10数组,其中填充随机数。我似乎不知道如何用行、列编号提示用户,并返回索引中的编号。如果用户从行或列中输入0,程序将退出Arrays 基于用户输入MIPS创建数组,arrays,assembly,multidimensional-array,mips,Arrays,Assembly,Multidimensional Array,Mips,我试图找出如何创建二维数组,然后根据用户输入搜索数组 它将提示用户输入(行、列):(2、7) 然后它将从该索引返回随机数 这就是我到目前为止所做的,它将创建一个10x10数组,其中填充随机数。我似乎不知道如何用行、列编号提示用户,并返回索引中的编号。如果用户从行或列中输入0,程序将退出 .data list: .space 400 stew: .word 100 .text main: lw $s0, stew la $s1, list li $a0, 1
.data
list: .space 400
stew: .word 100
.text
main:
lw $s0, stew
la $s1, list
li $a0, 1
jal array
li $t0, 0
array:
beq $t0, $s0, return
li $v0, 42
li $a1, 9
syscall
sw $a0, ($s1)
addi $t0, $t0, 1
addi $s1, $s1, 4
j array
return:
jr $ra
哪一部分给你带来了问题?你试过什么?另请参见@Jester I在上面的问题中添加的内容,我为10x10数组保留了一个空间,并将随机数保存为空格。我似乎不知道如何从用户那里获取行、列并在该索引中搜索数字。我假设您知道如何从用户那里获取数字(syscall#5)。然后在索引
10*行+列
处获取项目,我希望您也可以计算。如果您仍然有一些问题,请说得更具体些。@Jester我不需要将行条目乘以10,将列条目乘以4吗?由于每行由10个数字组成,因此每行有40个内存,那么该列乘以4以获得该特定列中的数字?我的下一个问题是,如果用户输入(1,1)怎么办?它不会给它们索引1中的值,因为存在乘法。是的,你需要对两个字节进行缩放,我只是告诉你要获取哪个项。如果希望用户输入基于1的索引,则还需要偏移1。