2015-11-12 2 views
0

Я пытаюсь загрузить переменную sum здесь $ s1 в мою самую большую переменную S $ $ s0. Я посмотрел немного о том, как загрузить переменные в другие переменные, как это от here, но он по-прежнему не работает, дает сообщение об ошибкеХранение одного значения переменной в другом MIP

Ошибка в mips1.asm строке 45: время выполнения исключение в 0x0040008c: адрес из диапазона 0x00000000

Теперь я не совсем уверен, что происходит дальше. Разве это не правильный способ сделать это? Я неправильно сохранил эти переменные с самого начала?

ответ

0

Я использовал стек, хранящий в нем сумму, а затем сохранил стек в большом количестве.

subi $t7, $t7, 1 #reset the sgt variable to 0 
sw $s1, 4($sp) #Store the sum into the stack 
lw $s0, 4($sp) #Store the sum into the largestSum 
b innerLoop 
0

Вопрос, который вы связываете, касается переменных, хранящихся в памяти, а не в регистрах. Вы держите свои переменные sum и largestSum в двух регистрах ($s1, $s0 соответственно).

Просто используйте move $s0, $s1, чтобы скопировать содержимое суммы в mostSum.