所以我在MIPS中有一个简单的程序,它接受用户输入的内存中存在的字数组的索引值。所以说这个词是这样加载的:
Array: .word 0xAABBCCDD:16
所以我把它用户输入并存储在$ t0。我的问题是如何从我的单词中加载特定的索引?我想不出一种方法来获取寄存器中第三个字节的值。例如,假设用户在提示
中输入值3Input value: 3
然后我想返回值0xAA。
Output: 0xAA
我想不出一种方法来获得正确的偏移量,索引值在寄存器中。我知道在使用lw时我不能使用两个寄存器,因为它没有足够的内存。那么,我在这里可以忽略一些简单的程序吗?感谢。
答案 0 :(得分:2)
假设用户输入值在寄存器$t1
中:
la $t0,ARRAY # starting address of array
addu $t1,$t0 # add starting address to user input value
lb $t2,($t1) # load $t2 with the byte at (ARRAY + user_input)