在MIPS中,我使用.byte创建了一个用值初始化的数组。
array: .byte 1,2,3,4,5,6,7,8,9
这些值作为8位整数存储在内存中,例如:
0x04030201
如何访问各个值以求求整数?使用位掩码是唯一的方法吗?有没有更简单的方法呢?
答案 0 :(得分:4)
您可以使用操作码lb $t, offset($s)
。它与lw $t, offset($s)
的工作方式相同,但它将一个字节而不是一个4字节的字加载到$ t。
所以,让我们假设您要加载数组的第6个字节。你会这样做:
la $t0, array # load the array address
lb $t1, 5($t0) # get 6th byte through an offset
# then do whatever you want with it here
编辑:对于2字节半字,您还有lh
。另外,这里是我用来回答你问题的MIPS指令参考:http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html