mips 编程中的浮点数

问题描述 投票:0回答:1

我正在 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。 我对这些寄存器的工作方式感到沮丧。请帮我解释一下。非常感谢您的回复

assembly floating-point mips
1个回答
0
投票

文档说,

v0
中带有2的系统调用会打印
float
中的
f12
。就这些。它与浮点的行为方式或处理器如何处理寄存器无关。有人只是决定系统调用 2 将在
float
中打印
f12
值,并且他们为系统调用 2 编写了代码来执行此操作,所以这就是它的作用。

© www.soinside.com 2019 - 2024. All rights reserved.