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。