【问题标题】:RISC-V: Do 12-bit immediate logical operations operate on the whole register?RISC-V:12 位立即数逻辑运算是否对整个寄存器进行操作?
【发布时间】:2020-06-17 13:24:48
【问题描述】:

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

假设我想使用

ANDI rs1, rd, 0xFFF 

rs1 包含 0xFFFFFFFF 并且立即值为 0xFFF。

ANDI 是否对完整寄存器进行操作,并仅用零填充立即数的剩余 20 位,因此 rd 中的结果将为 0x000000FFF?

还是忽略高 20 位,rd 中的结果仍然是 0xFFFFFFFF?

XORI 和 ORI 命令的问题相同。

【问题讨论】:

标签: riscv immediate-operand sign-extension riscv32


【解决方案1】:

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

所以被AND-ed的值将是

rs1_data & 0xFFFFF_FFF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-27
    • 2020-04-18
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2017-01-18
    • 2012-06-30
    相关资源
    最近更新 更多