在 RISC V 中将值连接到 float64

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

我在 0(sp) 中有 0x40347ae1,在 4(sp) 中有 0x4ccccccd。如何在 RiscV32 中连接这些值并将其存储在双寄存器中,例如 fa0。

我希望该值连接起来并变成这样的 0x40347ae14ccccccd 并将其存储在 fa0 中,以便我可以将其显示为浮点数。

floating-point riscv riscv32
1个回答
0
投票

您需要

fld
指令,它将执行 64 位加载。

但是,如果您希望结果为 0x40347ae14ccccccd,则需要交换单词,因为作为小端机器,它将加载 0x4ccccccd40347ae1,而不是考虑到 0(sp) 中的 0x40347ae1 和 4(sp) 中的 0x4ccccccd ).

如果你在 64 位 RISC V 机器上,你可以将值从 64 位整数寄存器移动到 64 位浮点寄存器,但如果你在 32 位机器上,我相信唯一的方法访问所有 64 位浮点寄存器都是通过内存进行的,实现 Q — 四精度扩展的 32 位和 64 位机器也是如此。

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