汇编转机器码

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..25
rs2源寄存器 2
bits 24..20
rs1源寄存器 1
bits 19..15
funct3功能码
bits 14..12
rd目标寄存器
bits 11..7
opcode操作码
bits 6..0
0000 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