MIPS Input floating point number

10.4k views Asked by At

How do you take in an input of a floating number in MIPS? I have tried using:

li.s $f0, 6 
syscall

But I just keep getting that there is an error with the line.

3

There are 3 answers

0
Arunachalam Muthupalaniappan On BEST ANSWER

li $v0, 6

syscall

//the float value that is read will be in $f0 register

0
Peter Stallinga On

You can also place the float in the data segment:

.data
  pi: .float 3.1415926535 # place value of pi in the data segment
.text
  lwc1 $f12, pi           # load pi from data segment into $f12
  li $v0, 2
  syscall                 # print $f12

Output will be:

3.1415927
-- program is finished running
0
Peter Stallinga On

you cannot load-immediate a number into float registers

li $t0, 6           # load-immediate 6 into an int register
mtc1 $t0, $f0       # copies the bit pattern "...110". It is NOT 6.0!!
cvt.s.w. $f12, $f0  # convert word to (single) float. $f12 now contains 6.0