Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 接收用户整数,存储,然后打印它MIPS程序集_Assembly_Mips - Fatal编程技术网

Assembly 接收用户整数,存储,然后打印它MIPS程序集

Assembly 接收用户整数,存储,然后打印它MIPS程序集,assembly,mips,Assembly,Mips,我可以接受用户输入: addi $v0, $zero, 4 la $a0, str.num2 syscall addi $v0, $zero, 5 syscall add $s1, $zero, $v0 是1美元,我只是不知道怎么打印出来。我怎样才能做到这一点呢?您有MARS中系统调用的参考。接下来,代码应该是: # Print message (syscall 4) addi $v0, $zero, 4 la $a0, str.num2 syscall # Read number (sys

我可以接受用户输入:

addi $v0, $zero, 4
la $a0, str.num2
syscall
addi $v0, $zero, 5
syscall
add $s1, $zero, $v0
是1美元,我只是不知道怎么打印出来。我怎样才能做到这一点呢?

您有MARS中系统调用的参考。接下来,代码应该是:

# Print message (syscall 4)
addi $v0, $zero, 4
la $a0, str.num2
syscall

# Read number (syscall 5)
addi $v0, $zero, 5
syscall

# Print number (syscall 0)
add $a0, $zero, $v0  # Get number read from previous syscall and put it in $a0, argument for next syscall
addi $v0, $zero, 1   # Prepare syscall 0
syscall              # System call

始终注释您的代码,特别是如果它是程序集。

这些系统调用是什么?SPIM模拟器系统调用?我用MARS来编码,如果这是你的意思的话,谢谢你,伙计,是的,我知道我有,我只是不想把我的信息弄得乱七八糟。很高兴它成功了。评论会让我们更快地了解你在做什么和你想做什么:)好吧,我开始更好地理解这一点。我在这个程序中使用分支,我希望显示的数字以前已经输入并存储在$s1中。如何打印$s1,而不是新输入的整数?抱歉:((我自己一直在玩它——我可以用java编写代码——但我就是不明白这一点。这很正常,汇编与java(一种更高级的语言)无关。)。使用
add$a0,$zero,$s1
而不是
add$a0,$zero,$v0
。打印的数字是我之前给你的链接中指定的$a0中的数字。太棒了,它正在工作。非常感谢你的帮助。但是,当我打印数字时,它是(假设数字是134)我真的觉得有必要问所有这些问题,但如果你能回答这个问题,我将永远非常感激