0

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

谢谢!

4

1 回答 1

1

$r1不是 MIPS 中的有效寄存器名称。将指令更改为lui $1,0xffc0lui $t1,0xffc0导致机器代码存储在该.data部分中。

于 2011-05-31T23:49:56.157 回答