Assembly 我试图在MARS MIPS中进行划分,但它';It’他给我的答案不对

Assembly 我试图在MARS MIPS中进行划分,但它';It’他给我的答案不对,assembly,mars-simulator,Assembly,Mars Simulator,我的代码的目标是要求用户输入两个输入,并将这两个输入分开。然而,当我在输入“1”中运行程序时,我的输出是一个非常高的数字。我看到了一些事情: 除法指令之后还有一个额外的系统调用 当您想要打印$t0的值时,回想一下print_int系统调用将打印$a0中的任何内容,而不是$t0。现在,$v0(即1)的内容被移动到$t0中,但print_int系统调用正在打印$a0,这是垃圾 请尝试以下操作(除了删除上述额外的系统调用): 希望这能有所帮助。我看到了一些事情: 除法指令之后还有一个额外的系统调用 当

我的代码的目标是要求用户输入两个输入,并将这两个输入分开。然而,当我在输入“1”中运行程序时,我的输出是一个非常高的数字。

我看到了一些事情:

  • 除法指令之后还有一个额外的系统调用
  • 当您想要打印$t0的值时,回想一下print_int系统调用将打印$a0中的任何内容,而不是$t0。现在,$v0(即1)的内容被移动到$t0中,但print_int系统调用正在打印$a0,这是垃圾
  • 请尝试以下操作(除了删除上述额外的系统调用):


    希望这能有所帮助。

    我看到了一些事情:

  • 除法指令之后还有一个额外的系统调用
  • 当您想要打印$t0的值时,回想一下print_int系统调用将打印$a0中的任何内容,而不是$t0。现在,$v0(即1)的内容被移动到$t0中,但print_int系统调用正在打印$a0,这是垃圾
  • 请尝试以下操作(除了删除上述额外的系统调用):

    希望有帮助

    .data
    prompt1: .asciiz "Enter your first number:"
    prompt2: .asciiz "Enter your second number:"
    .text
    main:
    
    #displays "Enter your first number:"
    li $v0 4
    la $a0 prompt1
    syscall
    
    #Reads the next int and stores in $s0
    li $v0 5
    syscall
    move $s0 $v0
    
    #displays "Enter your second number:"
    li $v0 4
    la $a0 prompt2
    syscall
    
    #Reads next int and stores in $s1
    li $v0 5
    syscall 
    move $s1 $v0
    
    
    #Divides user input $s0/$s1 and stores in $t0
    div $t0 $s0 $s1
    syscall
    
    
    #Print value of $t0
    li $v0 1
    move $t0 $v0
    syscall
    
    li $v0 10
    syscall
    
    #Print value of $t0
    li $v0 1
    move $a0 $t0
    syscall