Mips: слово загрузки

У меня следующий вопрос:

.data
a: .word 12,-5,4,0
x: .byte 5
.text
main: addi $t1, $0, 8
lw $t2, a($0)
lw $t3, a($t1)

Может ли кто-нибудь сказать мне, каково будет значение $ t3? Как вы можете получить доступ к 8-му элементу, если массив имеет длину 4?


person smooth_smoothie    schedule 31.10.2010    source источник


Ответы (1)


Значение будет равно 4. MIPS адресуется по байтам, а не по словам. Слово составляет 4 байта, поэтому смещение в 8 байтов эквивалентно смещению в слове на 2.

person sxeraverx    schedule 31.10.2010
comment
Также стоит отметить, что сборка x86 также имеет байтовую адресацию (и, вероятно, многие другие языки сборки), поэтому OP должен ознакомиться с этим смещением. - person Kizaru; 31.10.2010