Sorting 对用户在MIPS中输入的3个整数进行排序

Sorting 对用户在MIPS中输入的3个整数进行排序,sorting,mips,cpu-registers,Sorting,Mips,Cpu Registers,嘿,伙计们,我是MIPS编程新手,很难掌握MIPS的语法和规则。我正在尝试编写一个程序,将用户输入的3个整数从最小到最大排序。到目前为止,我的代码是 .data prompt: .asciiz "Enter an integer: " .text .global main main: li $v0, 4 la $a3, prompt syscall li $v0, 5 li $a0, $v0 syscall li $v0, 5 li $a1, $v0 syscall li $v0, 5

嘿,伙计们,我是MIPS编程新手,很难掌握MIPS的语法和规则。我正在尝试编写一个程序,将用户输入的3个整数从最小到最大排序。到目前为止,我的代码是

.data
prompt: .asciiz "Enter an integer: "

.text
.global main

main:
li $v0, 4
la $a3, prompt
syscall

li $v0, 5
li $a0, $v0
syscall

li $v0, 5
li $a1, $v0
syscall

li $v0, 5
li $a2, $v0
syscall
我不知道如何获取输入并将其存储到3个单独的寄存器$a0-$a2中。 另外,我不知道如何声明带有参数的函数。我还想知道上面收集用户输入的代码是否正确,因为我认为我在这里做错了什么。我不习惯这种低级语言,但Java相当流利。任何解释都可以用Java来解释,如果这有助于简化它的话。谢谢这里的几点:

李是用于立即加载的。您可能需要移动两个寄存器。您不必三次加载5

要打印字符串,请将字符串加载到$a0中

如果你精通Java,排序算法应该不会有问题。你甚至不需要函数


函数使用jal保存返回地址,并转到使用$a0-$a3寄存器的函数。如果你不知道它是如何工作的,你应该查阅一个关于它的教程

谢谢你的回复。我必须有一个函数,因为那是我教授想要的。我知道如何用java排序,但我不知道如何将其翻译成MIPS语言。你能给我举一个MIPS排序算法的例子吗?谢谢你advance@Heyya我不确定,但由于您只有3个数字,排序应该是相当简单的。你可能只需要几次交换就可以逃过一劫,这是一个非常简单的冒泡排序。