现知道某条 RISC-V (指RV32)的机器指令在内存中的值为 b3 05 95 00(16进制),从左往右为从低地址到⾼地址,单位为字节,那么如何将其翻译为对应的汇编指令?
前置知识
- RISC-V不管在32位CPU上还是在64位CPU上,其宽度都是32位,除非是压缩指令集模块
- RISC-V的汇编指令在内存中按小端序排列
- 在RV32中有32个通用寄存器,分别是x0~x31
正文
- 由于
b3 05 95 00
是小端序的,所以需要反过来写,即00 95 05 b3
- 转为二进制串【1】
00000000-10010101-00000101-10110011
- 根据RISC-V非特权指令手册手册24章中的基础指令集表和编码格式表
基础指令集表
编码格式表