0

我是 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 
4

1 回答 1

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
于 2017-02-28T18:03:46.100 回答