Я пытаюсь выяснить, что делает эта программа, но у меня ощущение, что MARS неправильно обрабатывает директиву .data.
Что хранится в сегменте данных, если дана инструкция по сборкев соответствии с директивой .data?Когда я запускаю это в MARS (ассемблер MIPS и симулятор времени выполнения), он просто сохраняет нулевое значение в 0x10010000 (где должны храниться статические данные).Я ожидал, что он будет хранить машинный код для lui $r1, 0xFFC0
(т.е. 00111100000010011111111111000000).
.data
info: lui $r1, 0xFFC0
.text
.globl main
main:
la $s1, info
lw $a0, 0($s1)
jal process
sb $v0, 4($s1)
process:
lui $t1, 0xFFC0
and $v0, $a0, $t1
srl $v0,$v0,26
jr $ra
Спасибо!