C.SEXT.H 需要哪些扩展?
它是 Zcb 指令,官方手册还将 Zbb 列为前提;Zcb 本身依赖 Zca。
16位编码的符号扩展半字(bit 15复制到高位)
C.SEXT.H 使用 Zcb 的 CU 格式,将 rd'/rs1' 最低半字符号扩展到 XLEN 位,并将半字的 bit 15 复制到所有高位。rd'/rs1' 仅表示 x8-x15;还需要 Zbb。
只展示官方定义的 16 位字段、操作数、条件和架构状态;不模拟流水线、缓存或时序。
C.SEXT.H 读取 rd'/rs1' 的低 16 位,并以 bit 15 为符号位扩展到 XLEN;结果写回同一寄存器。
结合 «c.sext.h x10 # x10 = EXTS(x10[15:0])» 等实际代码理解该场景。
它是 Zcb 指令,官方手册还将 Zbb 列为前提;Zcb 本身依赖 Zca。
只使用 rd'/rs1' 原值的低 16 位;bit 15 复制到所有更高位,结果覆盖同一 x8-x15 寄存器。