seqz

RISC-V seqz 伪指令详解

汇编器伪指令

RISC-V seqz 伪指令展开为 sltiu rd, rs, 1。SLTIU 进行无符号比较;该形式仅在 rs 为零时向 rd 写入 1,否则写入 0。

你写下的是
seqz rd, rs
常见真实展开
sltiu rd, rs, 1

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

直接表达「等于零」的比较逻辑:SLTIU 使用无符号比较,rs < 1 当且仅当 rs == 0。结果表示 rs 是否等于零。

seqz 是汇编器层面的简写;按官方展开 sltiu rd, rs, 1 阅读,并以 SLTIU 的 ISA 定义判断行为。

官方语义核对重点

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

展开过程怎么理解

步骤 1
汇编器展开为 sltiu rd, rs, 1。
步骤 2
SLTIU 执行无符号比较:若 rs < 1(即 rs == 0),则 rd = 1;否则 rd = 0。

汇编写法与真实指令

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

官方依据与阅读顺序

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

什么时候优先想到它

需要在 rs 为零时向 rd 写入 1,否则写入 0
使用官方汇编写法 seqz rd, rs

容易混淆 / 常见误区

seqz 只在 rs 为零时向 rd 写入 1;否则写入 0。
SLTIU 将符号扩展后的立即数作为无符号数比较。

常见问题

seqz 是真实 RISC-V 指令吗?

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

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

seqz 仅在 rs 为零时向 rd 写入 1;否则写入 0。