RISC-V:12位即时逻辑运算是否在整个寄存器上运行?



我正在尝试为 RISC-V CPU 编写一个模拟器,但找不到我问题的明确答案。

假设我想使用

ANDI rs1, rd, 0xFFF 

rs1 包含0xFFFFFFFF,即时值0xFFF。

ANDI是否在完整的寄存器上运行,并且只用零填充直接的剩余20位,以便0x000000FFF rd中的结果?

还是忽略较高的 20 位,并且 rd 中的结果仍将0xFFFFFFFF?

XORI和ORI命令也有同样的问题。

立即值是符号扩展, 12位FFF将转换为RV32的32'hFFFFF_FFF

所以被 AND 编辑的值将是

rs1_data & 0xFFFFF_FFF

相关内容

  • 没有找到相关文章

最新更新