跳转至

微指令列表

灵犀指令集中,不同类型的块指令可以从多种扩展指令集中选取部分特定的指令来获取本块块体,不需要支持所有指令。

当前版本,整型标量块块体中提供的微指令列表如下:

公共指令列表

包含所有的16位压缩指令:

分类 指令
注册移动 C.MOVR
立即数移动 C.MOVI
PC相对 C.SETRET
跳转参数设置 C.SETC.EQC.SETC.NEC.SETC.TGT
算术侵犯 C.ADDC.SUBC.ANDC.OR
立即带来数·算术攻击 C.ADDI
内存访问 C.LWIC.LDIC.SWIC.SDI
低位扩展 C.SEXT.BC.SEXT.HC.SEXT.WC.ZEXT.BC.ZEXT.HC.ZEXT.W
带即时数据·比较 C.CMP.EQI, C.CMP.NEI
升降操作 C.SLLI, C.SRLI
系统注册访问 C.SSRGET

包含的32bit指令如下:

分类 指令
64位装甲 ADDSUBANDORXORSRLSRASLL
带立即数·64位攻击 ADDISUBIANDIORIXORISRLISRAISLLI
32位装甲 ADDWSUBWANDWORWXORWSRLWSRAWSLLW
带立即数·32位攻击 ADDIWSUBIWANDIWORIWXORIWSRLIWSRAIWSLLIW
比较操作 CMP.EQCMP.NECMP.ANDCMP.ORCMP.LTCMP.GECMP.LTU, CMP.GEU
带即时数·比较操作 CMP.EQICMP.NEICMP.ANDICMP.ORICMP.LTICMP.GEICMP.LTUI, CMP.GEUI
跳转参数设置 SETC.EQSETC.NESETC.ANDSETC.ORSETC.LTSETC.GESETC.LTU, SETC.GEU
立即带来数字·跳转参数设置 SETC.EQISETC.NEISETC.ANDISETC.ORISETC.LTISETC.GEISETC.LTUI, SETC.GEUI
地址计算 ADDTPCSETRET
高位立即数据加载
乘法侵犯 MULMULUMULWMULUWMADDMADDW
除法操作 DIVDIVUDIVWDIVUW
求余操作 REMREMUREMWREMUW
条件选择 CSEL
比特位操作 BXSBXUBISBICCTZCLZBCNT, REV
内存加载·创建偏移 LBLHLWLDLBULHULWU
内存加载·立即数偏移 LBILHILWILDILBUILHUILWUI
LHI.ULWI.ULDI.ULHUI.ULWUI.U
内存加载·PC相对占用 LB.PCRLH.PCRLW.PCRLD.PCRLBU.PCRLHU.PCRLWU.PCR
内存存储·转移偏移 SBSHSWSDSH.USW.USD.U
内存存储·立即数据偏移 SBISHISWISDISHI.USWI.USDI.U
内存存储·PC相对定位 SB.PCRSH.PCRSW.PCRSD.PCR
系统注册访问 SSRGETSSRSETSSRSWAPLSRGETSETC.TGT

包含的48bit指令如下:

分类 指令
带立即数·64位攻击 HL.ADDIHL.SUBIHL.ANDIHL.ORIHL.XORI
带立即数·32位攻击 HL.ADDIWHL.SUBIWHL.ANDIWHL.ORIWHL.XORIW
带即时数·比较操作 HL.CMP.EQIHL.CMP.NEIHL.CMP.ANDIHL.CMP.ORIHL.CMP.LTIHL.CMP.GEIHL.CMP.LTUIHL.CMP.GEUI
立即带来数字·跳转参数设置 HL.SETC.EQIHL.SETC.NEIHL.SETC.ANDIHL.SETC.ORIHL.SETC.LTIHL.SETC.GEIHL.SETC.LTUIHL.SETC.GEUI
地址计算 HL.ADDTPCHL.SETRET
立即数据加载 HL.LISHL.LIUHL.LUI
乘法操作 HL.MULHL.MULUHL.MADDHL.MADDW
除法操作 HL.DIVHL.DIVUHL.DIVWHL.DIVUW
求余操作 HL.REMHL.REMUHL.REMWHL.REMUW
内存加载·立即数偏移 HL.LBIHL.LHIHL.LWIHL.LDIHL.LBUIHL.LHUIHL.LWUI
HL.LHI.UHL.LWI.UHL.LDI.UHL.LHUI.UHL.LWUI.U
内存对加载·创建偏移 HL.LBPHL.LHPHL.LWPHL.LDPHL.LBUPHL.LHUPHL.LWUP
内存对加载·立即数偏移 HL.LBIPHL.LHIPHL.LWIPHL.LDIPHL.LBUIPHL.LHUIPHL.LWUIP
HL.LHIP.UHL.LWIP.UHL.LDIP.UHL.LHUIP.U, HL.LWUIP.U
内存加载·创建偏移
前索引
HL.LB.PRHL.LH.PRHL.LW.PRHL.LD.PRHL.LBU.PRHL.LHU.PR, HL.LWU.PR
内存加载·立即数偏移
前索引
HL.LBI.PRHL.LHI.PRHL.LWI.PRHL.LDI.PRHL.LBUI.PRHL.LHUI.PRHL.LWUI.PR
HL.LHI.UPRHL.LWI.UPRHL.LDI.UPRHL.LHUI.UPR, HL.LWUI.UPR
内存加载·创建偏移
后索引
HL.LB.POHL.LH.POHL.LW.POHL.LD.POHL.LBU.POHL.LHU.PO, HL.LWU.PO
内存加载·立即数偏移
后索引
HL.LBI.POHL.LHI.POHL.LWI.POHL.LDI.POHL.LBUI.POHL.LHUI.POHL.LWUI.PO
HL.LHI.UPOHL.LWI.UPOHL.LDI.UPOHL.LHUI.UPO, HL.LWUI.UPO
内存加载·PC相对占用 HL.LB.PCRHL.LH.PCRHL.LW.PCRHL.LD.PCRHL.LBU.PCRHL.LHU.PCR, HL.LWU.PCR
内存存储·立即数据偏移 HL.SBIHL.SHIHL.SWIHL.SDIHL.SHI.UHL.SWI.UHL.SDI.U
内存对存储·转移偏移 HL.SBPHL.SHPHL.SWPHL.SDPHL.SHP.UHL.SWP.UHL.SDP.U
内存对存储·立即数据偏移 HL.SBIPHL.SHIPHL.SWIPHL.SDIPHL.SHIP.UHL.SWIP.U, HL.SDIP.U
内存存储索引·转移偏移
HL.SB.PRHL.SH.PRHL.SW.PRHL.SD.PRHL.SH.UPRHL.SW.UPRHL.SD.UPR
内存存储·当前数据偏移
前索引
HL.SBI.PRHL.SHI.PRHL.SWI.PRHL.SDI.PRHL.SHI.UPRHL.SWI.UPR, HL.SDI.UPR
内存存储索引·转移偏移
HL.SB.POHL.SH.POHL.SW.POHL.SD.POHL.SH.UPOHL.SW.UPO, HL.SD.UPO
内存存储·立即数据偏移
后索引
HL.SBI.POHL.SHI.POHL.SWI.POHL.SDI.POHL.SHI.UPOHL.SWI.UPO, HL.SDI.UPO
内存存储·PC相对定位 HL.SB.PCRHL.SH.PCRHL.SW.PCRHL.SD.PCR
系统注册访问 HL.SSRGETHL.SSRSET

包含的64位指令如下:

分类 指令列表
立即数据加载 L.ADDLI
内存加载·PC相对占用 L.LB.PCRL.LH.PCRL.LW.PCRL.LD.PCRL.LBU.PCRL.LHU.PCR, L.LWU.PCR
内存存储·PC相对定位 L.SB.PCRL.SH.PCRL.SW.PCRL.SD.PCR

特有指令整型标量块内特有的48bit指令如下:

分类 指令列表
立即数乘加减 HL.MIADDHL.MISUB
比特位操作 HL.BFIHL.CCATHL.CCATW
内存预取 HL.PRFHL.PRF.AHL.RRFI.UHL.PRFI.UA

备注

量内暂时不支持超长指令。