0

对 MIPS 和汇编来说是全新的。尝试制作一个简单的程序来读取浮点数并输出它。有点麻烦:

           .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 和浮点数/双精度数的帮助,但找不到太多。任何帮助将不胜感激

4

1 回答 1

0

read_float调用(系统调用 6)将其结果放入$f0.

调用 (syscall 2) 期望其print_float参数位于$f12.

您需要一些东西来将值移动到适当的位置。

于 2014-10-03T04:41:23.440 回答