Пока что я написал одну программу на ассемблере, которая вообще не использовала память данных. Теперь я пытаюсь написать очень простую программу, которая хранит значение, а затем загружает это значение в другой регистр (и печатает что-то, чтобы убедиться, что я в здравом уме).
li $t0, 13 # data that I want to store
li $v0, 1
move $a0, $t0
syscall
sw $t0, 0($zero) # error
#lw $t1, 32
#li $v0, 1
#move $a0, $t1
#syscall
Я получаю сообщение об ошибке «адрес вне диапазона». Я попытался изменить смещение на разные значения (4, 8, 32) и даже попытался загрузить немедленные значения в регистр, поэтому я не использую регистр $ zero.
Что я могу использовать в качестве базового адреса, если в моей программе есть данные? Что плохого в хранении значения данных по адресу ноль? Мой учебник / мозг заставил меня поверить, что это было абсолютно нормально ..