我正在 mars 4.5 上进行 mips 编程。这是示例代码:
.data
half: .float 0.1
.text
l.s $f12, half
li $v0, 2
syscall
我的目的是打印数字 0.1,当我在行中使用 $f12 时它起作用了
l.s $f12, half
但是,当我尝试使用其他寄存器(例如$f1,$f13,...)时,打印结果是0.0。 我对这些寄存器的工作方式感到沮丧。请帮我解释一下。非常感谢您的回复
文档说,
v0
中带有2的系统调用会打印float
中的f12
。就这些。它与浮点的行为方式或处理器如何处理寄存器无关。有人只是决定系统调用 2 将在 float
中打印 f12
值,并且他们为系统调用 2 编写了代码来执行此操作,所以这就是它的作用。