在字数组MIPS中指定特定单词

时间:2017-04-28 11:53:37

标签: arrays indexing mips shift

如果我说:

,我说我有一个单词数组
wa:    .word    1, 2, 3, 4

la      $s0, wa
lw      $t0, 8($s0)

$ t0现在是否包含从右到左,从左到右的第三个元素(是3还是2)?

同样,如果我有一个字节,在s0和t3中的常量0,会说:

srlv    $t0, $s0, $t3

将$ t0包含第0位(最右边)或第7位(最左边)>

顺便说一句,如果你有一个想法,我必须做一次读取才能得到一个我可以转移的8位值,就像我上面提到的那样,我应该怎么看? 目前,我读int,但刚刚意识到,移位不起作用,因为它是一个4字节的值。

如果您能回答任何问题,请提前致谢!

1 个答案:

答案 0 :(得分:1)

存储器阵列是字可寻址的。每个32位数据字具有唯一的32位地址。这两个32位字 地址和32位数据值以十六进制写入。 例如,数据0xF2F1AC07存储在存储器地址1中。十六进制常量用前缀0x写入。按照惯例,记忆是 用低内存地址绘制到底部和高内存 向顶部致意。[Petterson&轩尼诗]。

Memory pic by Pettterson and Hennessy

因此,在您的情况下lw $t0, 8($s0)从内存中取出3并将其放入注册$t0