MIPS汇编语言,带MARS

MIPS汇编语言,带MARS,mips,mars-simulator,Mips,Mars Simulator,这里是新的,装配也是新的 我正在做我的第一份作业,看起来很简单,但我仍然缺乏对MIPS的理解 我当前的问题是尝试读取提示并打印整数。我必须在没有伪指令(即la、li等)的情况下执行此操作,因此只能使用lui、add、addi、sw。。。如果没有伪代码,我会丢失,因为现在我必须按地址调用字符串,我猜地址是0x1001。我的另一个问题是,我如何移动到下一个地址 tl;dr…必须能够计算函数val3=$s0-$s1+$s2,其中$s0=27、$s1=val1和$s2=val2,不带伪指令 这只是我代码

这里是新的,装配也是新的

我正在做我的第一份作业,看起来很简单,但我仍然缺乏对MIPS的理解

我当前的问题是尝试读取提示并打印整数。我必须在没有伪指令(即la、li等)的情况下执行此操作,因此只能使用lui、add、addi、sw。。。如果没有伪代码,我会丢失,因为现在我必须按地址调用字符串,我猜地址是0x1001。我的另一个问题是,我如何移动到下一个地址

tl;dr…必须能够计算函数val3=$s0-$s1+$s2,其中$s0=27、$s1=val1和$s2=val2,不带伪指令

这只是我代码的开始部分,如果您能提供英语帮助(以便我理解XD),我将不胜感激)


如果一开始比较容易,只需使用伪指令编写代码,然后用等效的TAL指令替换每个伪指令:

例如:

li $t0, 5
可替换为:

addi $t0, $0, 5

最后,作为一个一般性建议,远离绝对寻址,对于现实生活中的代码,您实际上总是依赖相对寻址进行打包,或者更准确地说,您的代码可以通过操作系统或任何其他代码轻松地在内存中传递(在某些极端情况下,可能会自我修改代码)

伪指令是:伪指令。它们总是转换为本机指令,所以只需替换它们即可。看见
addi $t0, $0, 5