根据用户的整数输入,我设置所需的字节数并将值放在寄存器$ s7中。
li $v0,9
lw $a0,$s7
syscall
#store the memory address of allocated memory
但是,当我尝试使用MARS运行代码时,它表示第二行有语法错误。
我做错了什么,我怎么能绕过这个?我也试过了:
li $a0,$s7
更新:我想我修好了,我只需要:
lw $a0,($s7)
MIPS,我讨厌你。
更新2:我还有另一个问题......如果我尝试使用带偏移量的sw进行保存,我该怎么做?
sw $a0,$s7($s1)
给了我一个错误,在括号中加上$ s7不会让我离开这个。
答案 0 :(得分:0)
关于更新的问题:您确定MIPS具有内存寻址模式,例如$r1($r2)
吗?仔细检查你的教程并检查(除非你使用一些MIPS的扩展版本,这些版本经常作为实现的任务给出,并且经常会产生你上面描述的强烈感受。)
如果没有,因为大多数RISC语言不允许这样做,你必须找到另一种方法,更多手动,添加$ s1和$ s7。我可以建议add
吗?