数据指令中的MIPS指令

问题描述

| 我正在尝试弄清楚该程序的作用,但是我觉得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
谢谢!     

解决方法

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