练习要求写下执行此代码后修改的内存的十六进制(包括地址)中的每个字节:
.data 0xFEC
.half -127, 0x127
arr: .word -40
.space 5
.align 3
str: .asciiz "ABBA"
.text
...
但问题是,在.data
(0xFEC)之后指定地址,在火星(MIPS模拟器)中给我一个错误。我想这是因为它不是通常用于数据的地址,如果我错了,请纠正我。顺便说一句,我从那里开始做那部分,并在没有指定地址的情况下在火星上进行测试。在那之后,我必须写出str
的值,它应该是它的初始地址(如果我错了,再次纠正我),以及在第一次使用系统调用sbrk时给出的值即可。
我尝试添加此代码:
.text
.globl main
main: li $v0, 9
li $a0, 4
syscall
没有0xFEC
(无法使用它执行)但是,无论我做什么,值都将始终为0x10040000
。我该怎么做?