Я читал в руководстве MIPS, что: «Обратите внимание, что мы используем« неподписанную »версию инструкции« добавить немедленную », потому что мы имеем дело с адресом, который является двоичным числом без знака. не хотел бы генерировать исключение только потому, что вычисляемый адрес пересекал среднюю точку пространства памяти ».MIPS: Использование стека
Что это значит? Конкретно пересекая среднюю точку пространства памяти.
А также, в следующем коде, я не понимаю, почему он пропускает от 8 ($ sp) до 20 ($ sp). Код загружается с 12 ($ sp) и 16 ($ sp) позже, но когда он делает что-то с этими частями памяти. Я думал о возможности в jal JILL, но на самом деле не так много объяснений.
addiu $sp, $sp, -24
sw $t1, 0($sp)
sw $t2, 4($sp)
sw $t3, 8($sp)
sw $ra, 20($sp)
jal JILL
lw $ra, 20($sp)
lw $t4, 12($sp)
lw $t5, 16($sp)
addiu $sp, $sp, 24
это не «без знака добавление» его является дополнением с «неподписанным исключением». Сама операция добавления не знает о интерпретации битов. –