MAX 返回 0/1 吗?
不。它返回 rs1 或 rs2 中按比较规则被选中的原始 XLEN 位值。
返回 rs1 和 rs2 按有符号比较的最大值。
MAX 使用 opcode 0110011(0x33)、funct3 110、funct7 0000101。rs1 和 rs2 字段选择两个源寄存器,rd 字段选择目标寄存器。
MAX 是 Zbb 整数最值指令,比较 x[rs1] 与 x[rs2] 后把按有符号关系较大的原始 XLEN 位值写入 rd。它不设置条件码,也不分支。
MAX 常用于无分支 clamp、min/max 选择和比较后保留原值的场景。它直接返回被选中的 rs1 或 rs2 位模式,而不是比较结果位。
结合 «max x10, x11, x12 ; x10 = signed_max(x11, x12)» 等实际代码理解该场景。
结合 «max x10, x11, x12 ; x10 = signed_max(x11, x12)» 等实际代码理解该场景。
不。它返回 rs1 或 rs2 中按比较规则被选中的原始 XLEN 位值。
数据应按有符号二进制补码解释时用不带 U 的形式;按无符号大小解释时用带 U 的形式。