2014-10-03 127 views
0

完全新的MIPS和汇编。试图做一个简单的程序来读取一个浮点数然后输出它。有一点麻烦:MIPS输出0.0而不是输入

  .data 
msg2: .asciiz "please enter a value: " 

    .text 
    .globl main 
main: 
    li $v0, 4       #load value for print_string 
    la $a0, msg2     #load address of msg2 into $a0 
    syscall       #print msg2 to screen 

    li $v0, 6       #load value for read_float 
    mov.s $f1, $f0 
    syscall       #read inputted value 


    li $v0, 2   
    syscall  
    jr $ra 

我会投入我漂浮在SPIM和它吐出回来了0.00000000。这看起来应该更简单。我一直在寻求关于MIPS和浮动/双打的帮助,但我找不到太多东西。任何帮助将不胜感激

回答

0

read_float调用(系统调用6)将其结果在$f0

print_float调用(系统调用2)期望其参数在$f12中。

您需要将值移动到适当的位置。

+0

'mov.s $ f12,$ f0'完成了吗? – lastofscreenames 2014-10-03 15:47:41

+0

可能,是的。我想这是一个家庭作业问题,所以我不想给你太多的答案。 :) – duskwuff 2014-10-03 16:34:01

相关问题