MIPS (or SPIM): Loading floating point numbers

前端 未结 2 623
醉话见心
醉话见心 2020-12-19 07:57

I am working on a little mini compiler while trying to learn some MIPS here. Here\'s my issue:

MIPS has an instruction li (load immediate) which would work like thi

相关标签:
2条回答
  • 2020-12-19 08:18

    You will need to use the floating point registers to load your floats.

    Instead of:

    li $5,2.5
    

    Try:

    li.s $f5,2.5
    

    Take a look at mfc1 and mtc1 instructions to move between integer and floating point registers.

    0 讨论(0)
  • 2020-12-19 08:38

    MARS does not appear to have any instructions/pseudo instructions that load floating point immediate values into floating registers. Instead, you need to put the floating point value in memory and load the register from memory:

    .data
    fp1: .double 2.5
    fp2: .double -0.75
    
    .text   
    l.d $f0, fp1
    l.d $f2, fp2
    
    0 讨论(0)
提交回复
热议问题