我是MIPS的新手。我想问一下如何从用户那里获取2个数字,然后显示这些数字。我知道如何为1号做这个。
.data
promt: .asciiz "Enter one number: "
message: .asciiz "\nNumber1 is: "
.text
#Promt the user to enter number 1.
li $v0, 4
la $a0, promt
syscall
#Get the user's age
li $v0, 5
syscall
#Store the result in $t0
move $t0, $v0
#Display
li $v0, 4
la $a0, message
syscall
#Print or show the number
li $v0, 1
move $a0, $t0
syscall
答案 0 :(得分:0)
只需添加main
和返回地址即可从用户那里获取更多输入并打印更多数字。
如果您只需要打印两个数字,请为第二个数字创建另一个message2: .asciiz
,并像第一个数字一样调用它,请检查我的代码示例。
.data
promt: .asciiz "Enter one number: "
message: .asciiz "\nNumber1 is: "
.text
main:
#Promt the user to enter number 1.
li $v0, 4
la $a0, promt
syscall
#Get the user's age
li $v0, 5
syscall
#Store the result in $t0
move $t0, $v0
#Display
li $v0, 4
la $a0, message
syscall
#Print or show the number
li $v0, 1
move $a0, $t0
syscall
j main
nop
同时检查我的示例代码是代码,这打印两个数字中较大的一个。
.text
.data
message: .asciiz " Enter a number\n"
message2: .asciiz "Enter another number\n"
main:
.text
la $a0, message
li $v0, 4
syscall
li $v0, 5
syscall
move $t0,$v0
la $a0, message2
li $v0,4
syscall
li $v0, 5
syscall
move $t1,$v0
bgt $t0,$t1, bigger
move $t2,$t1
b endif
bigger:
move $t2,$t0
endif:
move $a0,$t2
li $v0, 1
syscall
li $v0,10
syscall