压缩指令扩展¶
为了能在一系列的程序上得到良好的代码压缩效果,我们基于标准指令集精心挑选了一系列热度比较高的指令添加到压缩扩展。
块头指令¶
| 分类 | 指令 |
|---|---|
| 块结束指令 | C.BSTOP |
| 块起始指令 | C.BSTART |
微指令¶
| 分类 | 指令 |
|---|---|
| 寄存器移动 | C.MOVR |
| 立即数移动 | C.MOVI |
| PC相对寻址 | C.SETRET |
| 跳转参数设置 | C.SETC.EQ, C.SETC.NE, C.SETC.TGT |
| 算术运算 | C.ADD, C.SUB, C.AND, C.OR |
| 带立即数·算术运算 | C.ADDI |
| 内存访问 | C.LWI, C.LDI, C.SWI, C.SDI |
| 低位扩展 | C.SEXT.B, C.SEXT.H, C.SEXT.W, C.ZEXT.B, C.ZEXT.H, C.ZEXT.W |
| 带立即数·比较 | C.CMP.EQI, C.CMP.NEI |
| 移位操作 | C.SLLI, C.SRLI |
| 系统寄存器访问 | C.SSRGET |
| 软件断点 | C.EBREAK |