汇编转机器码
RISC-V 指令编码器
输入一条 RISC-V 汇编指令,实时查看对应的 32-bit 机器码、十六进制结果、二进制位串和字段拆解,适合学习 opcode、funct、寄存器字段与立即数编码。当前工具仅覆盖已验证的整数指令子集。
输入
示例
!支持范围
当前支持已验证的 32-bit R/I/S/B/U/J 整数指令子集,包含 x0-x31 与 ABI 寄存器名、十进制/十六进制立即数、load/store 的 offset(base) 写法、常用 CSR 名称,以及部分 RV64 指令。暂不支持伪指令、标签、多行汇编、压缩指令、A/F/D/C/V 扩展和大部分特权/FENCE 指令。
编码结果
Hex
0x003100B3
Format
R-type
Extension
RV32I
32-bit 字段布局
0000000
00011
00010
000
00001
0110011
310
funct7功能码
bits 31..25rs2源寄存器 2
bits 24..20rs1源寄存器 1
bits 19..15funct3功能码
bits 14..12rd目标寄存器
bits 11..7opcode操作码
bits 6..00000 0000 0011 0001 0000 0000 1011 0011
字段拆解
funct7
bits 31..25
0x0
0000000
rs2
bits 24..20
3
00011
rs1
bits 19..15
2
00010
funct3
bits 14..12
0x0
000
rd
bits 11..7
1
00001
opcode
bits 6..0
51
0110011
内置准确性检查
这些固定样例覆盖 R/I/S/B/U/J 六类格式,作为当前编码器核心路径的回归检查。
add x1, x2, x3
0x003100B30x003100B3
addi x1, x2, 10
0x00A100930x00A10093
sw x1, 8(x2)
0x001124230x00112423
beq x1, x2, 16
0x002088630x00208863
lui x1, 0x10
0x000100B70x000100B7
jal x1, 32
0x020000EF0x020000EF
官方规范来源
本页参考以下官方 RISC-V 文档组织架构、ABI、CSR 和伪指令说明;平台或操作系统 ABI 差异仍需按对应规范核验。