2014-10-03 61 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