我试图弄清楚这个程序做了什么,但我感觉 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
谢谢!