火星上的Mips汇编语言

火星上的Mips汇编语言,mips,mars-simulator,Mips,Mars Simulator,我正在尝试创建一个程序,该程序将采用FP数(5.2)并以1.0的增量输出,直到达到最高值(20.2) 所以最小值是5.2,最大值是20.2,应该有一个循环 输出应为: 5.2、6.2、7.2等等,直到20.2,请尝试以下代码: .data spaces: .asciiz " " fp1: .double 5.2 fp2: .double 20.2 fp3: .double 1.0 .text main: l.d $f0,fp1 # $f0 regi

我正在尝试创建一个程序,该程序将采用FP数(5.2)并以1.0的增量输出,直到达到最高值(20.2)

所以最小值是5.2,最大值是20.2,应该有一个循环

输出应为:

5.2、6.2、7.2等等,直到20.2,请尝试以下代码:

    .data
spaces: .asciiz " "

fp1: .double 5.2
fp2: .double 20.2
fp3: .double 1.0


.text
main:
  
  l.d $f0,fp1   # $f0 register contains 5.2
  l.d $f2,fp2    # $f2 register contains 20.2
  l.d $f4,fp3     # $f4 register contains 1.0
  loop:
    li $v0, 3
        mov.d $f12,$f0
    syscall                 # syscall print floating point number
    
    li $v0 , 4 
        la $a0 , spaces
        syscall                   # syscall print space
         
    c.eq.d   $f0,$f2       # if $f0 == $f2 jump to EXIT
    bc1t EXIT
    add.d $f0,$f0,$f4      # else $f0 = $f0+$f4
  j loop
  
EXIT:        
  

  li $a0, 0
  li $v0, 17              #exit
  syscall

谢谢,这就是我要找的。您还知道如何读取用户输入,然后存储它并相应地进行分支吗。例如,如果用户输入了“a”-转到目的地1如果用户输入了“b”-转到目的地2,如果用户输入了“c”-转到目的地3,则提示消息为“选择正确答案?”,因此只有三个可能的答案是a b或c,并且应相应地分支到下一段代码。