SLT 写入什么结果?
比较成立时写入 1,否则写入 0。
若rs1有符号比较小于rs2,则置rd为1,否则置0
SLT 指令采用 R-type 格式。将 rs1 和 rs2 作为有符号整数比较,若 rs1<rs2 则在 rd 写入 1,否则写入 0。opcode=0110011,funct7=0000000,funct3=010。
从机器码字段解析开始,依次展示操作数读取、该指令专属语义计算和 ISA 可见状态更新。
本例使用固定寄存器初值和初始 PC=0x2000;取指成功,没有异步中断或额外扩展检查。异常分支只显示普通提交停止,陷入后的 PC 和处理程序状态由 EEI 决定。
机器码按当前指令格式切成字段,动画从 encoding/decode 开始。
该动画展示 ISA 可见的解码和状态变化,不表示任何特定 CPU 的流水线、缓存、预测或时序实现。
SLT 执行有符号比较 rs1 < rs2;条件为真时 rd=1,否则 rd=0。它适合把比较结果转成可继续参与运算或分支的整数值。
RV32I/RV64I,x6=-16、x7=2:slt x5, x6, x7 按有符号数比较,得到 x5=1;相等时结果为零。
比较成立时写入 1,否则写入 0。
SLT/SLTI 按有符号整数比较;SLTU/SLTIU 按无符号整数比较。