C.LI 能加载哪些立即数?
C.LI 的 CI 立即数字段是 6 位有符号数,因此可加载 -32 到 31。
将有符号 6 位立即数加载到非零 rd:rd = imm。CI 格式。
C.LI 使用 CI 格式,将 6 位符号扩展立即数写入非零 rd,并展开为 addi rd, x0, imm。rd 是完整 5 位字段;rd=x0 的编码是 HINT,而不是普通 C.LI 写回。
按实际 CR 或 CI 16 位编码解码,并分清普通指令、HINT 与共享编码。
动画直接展示 C 扩展的 16 位字段,而不是把它伪装成 32 位标量指令。
0x556D = 0101010101101101x10 = 0xFFFFFFFB
动画只展示官方定义的解码、寄存器读取、算术和架构状态,不表示实现的流水线、缓存、预测或时序。
C.LI 是把一个 6 位有符号立即数写入 rd 的 16 位 CI 编码;常规形式要求 rd 非零。
结合 «c.li x10, 5 # x10 = 5» 等实际代码理解该场景。
C.LI 的 CI 立即数字段是 6 位有符号数,因此可加载 -32 到 31。