配列があるとしましょう
ar .space 15
(配列arの各要素はchar、4バイトです)したがって、実行すると:
la $r0, ar
add $r0,$r0,1
lb $r1, 8($r0)
2行目は4バイトを追加し、2番目の要素またはarを指していますか?3行目は2番目の要素のアドレスを8バイトオフセットしているので、arの4番目の要素を指しているのでしょうか。
ありがとうございました
配列があるとしましょう
ar .space 15
(配列arの各要素はchar、4バイトです)したがって、実行すると:
la $r0, ar
add $r0,$r0,1
lb $r1, 8($r0)
2行目は4バイトを追加し、2番目の要素またはarを指していますか?3行目は2番目の要素のアドレスを8バイトオフセットしているので、arの4番目の要素を指しているのでしょうか。
ありがとうございました
Ar
実際には「要素」はありません。15 バイトのスペースです。中身は使い方次第で決まります。
文字のリスト (1 バイト!) の場合、2 番目の命令はアドレスを 1 増やし、2 番目の文字を指します。3 番目の命令のアドレスは、9 番目の文字を指します (2 番目のアドレスが実行される場合)。
単語のリスト (4 バイト) の場合、2 番目のアドレスは単語内のアドレスを生成するため、無効なデータが提供されます。その場合、2 番目または 3 番目の命令の方法を使用するかどうかに関係なく、アドレスを 4 ずつ増やす必要があります。さらに、その場合はlw
代わりにすべきlb
です。