2016-01-26 7 views
0

Оператор MIPS ошибки неправильного типа. Загрузка данных в регистрОператор MIPS ошибки неправильного типа. Загрузка данных в регистр

.data 
    myMessage: .word 2 
    myMessage2: .word 24 
.text 
    add $t0, $zero, myMessage 
    add $t1, $zero, myMessage2 

Почему он говорит неправильный тип? Я думал, так как MyMessage является целым числом, было бы хорошо ... (Первый раз с использованием MIPS)

ответ

0

Технически myMessage является адрес адрес памяти, где слово 2 находится.

MIPS использует нагрузку/магазин-архитектуру, а это означает, что если вы хотите использовать некоторые данные в памяти в качестве операнда, вы должны загрузить его в регистр первого:

la $a0, myMessage # Get the address 
lw $t0, ($a0)  # Get the value at that address 

Вы могли бы быть в состоянии уйти с записью lw $t0, myMessage, если ассемблер может позаботиться о том, чтобы преобразовать это в правильную последовательность команд для вас.