sgtz

RISC-V sgtz 伪指令详解

汇编器伪指令

RISC-V sgtz 伪指令展开为 slt rd, x0, rs。SLT 进行有符号比较;当 rs 大于零时该形式向 rd 写入 1,否则写入 0。

你写下的是
sgtz rd, rs
常见真实展开
slt rd, x0, rs

这条伪指令到底在帮你省什么

把常见的符号判断写成一条直观伪指令,实际利用 SLT 与 x0 比较产生 0/1 布尔结果。

sgtz 是汇编器层面的简写;按官方展开 slt rd, x0, rs 阅读,并以 SLT 的 ISA 定义判断行为。

官方语义核对重点

RISC-V Assembly Programmer's Manual把 sgtz 作为汇编器层面的伪指令/别名处理,硬件执行的是展开后的真实指令序列。
真实语义以 SLT 等展开指令的 ISA 定义为准;本页不把 sgtz 当作独立硬件 opcode。

展开过程怎么理解

步骤 1
汇编器展开为 slt rd, x0, rs

汇编写法与真实指令

RISC-V Assembly Programmer's Manual 给出的展开为 slt rd, x0, rs。

官方依据与阅读顺序

本页把伪指令当作汇编器层面的别名或宏来解释:先看它会展开成哪些真实指令,再回到官方 ISA 手册理解真实指令的行为。涉及 ABI、重定位或链接器松弛时,以 psABI 文档为准。

什么时候优先想到它

需要在 rs 有符号大于零时向 rd 写入 1
使用官方汇编写法 sgtz rd, rs

容易混淆 / 常见误区

SGTZ 的展开使用有符号比较 SLT。
SLT 在 rs1 小于 rs2 时写入 1,否则写入 0。

常见问题

sgtz 是真实 RISC-V 指令吗?

sgtz 是汇编器伪指令或别名,不是单独硬件 opcode。页面中的“常见真实展开”列出官方展开,真实行为由展开后的 ISA 指令决定。

使用 sgtz 时最容易误解什么?

使用有符号 SLT;如果需要无符号判断,应使用 SLTU 相关形式