地址寄存器是浮点寄存器吗?
不是。基址 rs1 是整数寄存器,数据源/目的才是浮点寄存器。
FLW 使用 opcode 0000111(0x07)、funct3 010。rs1 字段选择源寄存器,12 位立即数提供第二操作数,rd 选择目标寄存器。
FLW 指令使用基地址+偏移量寻址模式,从内存中加载一个单精度浮点值到浮点寄存器 rd。有效地址为 rs1 中的基地址加上12位有符号字节偏移量。FLW 仅在有效地址自然对齐时保证原子性执行。该指令不修改传输中的比特位,特别是非规范 NaN 的有效载荷会被保留。
FLW 是浮点加载/存储指令,使用整数寄存器 rs1 加 12 位有符号偏移形成有效地址,并在内存与浮点寄存器之间传输位模式。
结合 «flw f0, 0(x10)» 等实际代码理解该场景。
不是。基址 rs1 是整数寄存器,数据源/目的才是浮点寄存器。
偏移是 12 位有符号立即数,编码范围为 -2048 到 2047 字节。