跳转至

基础指令集

基础指令集是灵犀指令集中用于处理通用运算的指令的最小集合,它包含的指令长度统一为32位,并且可用于不同类型的块指令块体中。

基础指令集不仅提供了通用处理器运行所需要的一系列基础功能,其中包括算术运算、比较、比特位操作、地址计算、立即数加载以及内存访问操作等,还提供了跳转参数设置指令用于完成块指令的特定跳转。具体内容如下:

块头指令

分类 指令
块起始指令 BSTART, XB
块结束指令 BSTOP
块描述指令 B.IOR, B.IOT, B.IOD, B.TEXT, B.CATR, B.DATR, B.HINT, B.DIM
模版块指令 MCOPY, MSET, FENTRY, FRET.RA, FEXIT, FRET.STK

微指令

分类 指令
64位运算 ADD, SUB, AND, OR, XOR, SRL, SRA, SLL
带立即数·64位运算 ADDI, SUBI, ANDI, ORI, XORI, SRLI, SRAI, SLLI
32位运算 ADDW, SUBW, ANDW, ORW, XORW, SRLW, SRAW, SLLW
带立即数·32位运算 ADDIW, SUBIW, ANDIW, ORIW, XORIW, SRLIW, SRAIW, SLLIW
比较操作 CMP.EQ, CMP.NE, CMP.AND, CMP.OR, CMP.LT, CMP.GE, CMP.LTU, CMP.GEU
带立即数·比较操作 CMP.EQI, CMP.NEI, CMP.ANDI, CMP.ORI, CMP.LTI, CMP.GEI, CMP.LTUI, CMP.GEUI
跳转参数设置 SETC.EQ, SETC.NE, SETC.AND, SETC.OR, SETC.LT, SETC.GE, SETC.LTU, SETC.GEU
带立即数·跳转参数设置 SETC.EQI, SETC.NEI, SETC.ANDI, SETC.ORI, SETC.LTI, SETC.GEI, SETC.LTUI, SETC.GEUI
地址计算 ADDTPC, SETRET
高位立即数加载 LUI
乘法运算 MUL, MULU, MULW, MULUW, MADD, MADDW
比特位操作 BXS, BXU, BIS, BIC, CTZ, CLZ, BCNT, REV
内存加载·寄存器偏移 LB, LH, LW, LD, LBU, LHU, LWU
内存加载·立即数偏移 LBI, LHI, LWI, LDI, LBUI, LHUI, LWUI
LHI.U, LWI.U, LDI.U, LHUI.U, LWUI.U
内存加载·PC相对寻址 LB.PCR, LH.PCR, LW.PCR, LD.PCR, LBU.PCR, LHU.PCR, LWU.PCR
内存存储·寄存器偏移 SB, SH, SW, SD, SH.U, SW.U, SD.U
内存存储·立即数偏移 SBI, SHI, SWI, SDI, SHI.U, SWI.U, SDI.U
内存存储·PC相对寻址 SB.PCR, SH.PCR, SW.PCR, SD.PCR
系统寄存器访问 SSRGET, SSRSET, SSRSWAP, LSRGET, SETC.TGT