loong64asm

Imports

Imports #

"encoding/binary"
"fmt"
"strings"
"fmt"
"strings"
"fmt"
"strings"

Constants & Variables

ADDI_D const #

const ADDI_D

ADDI_W const #

const ADDI_W

ADDU16I_D const #

const ADDU16I_D

ADD_D const #

const ADD_D

ADD_W const #

const ADD_W

ALSL_D const #

const ALSL_D

ALSL_W const #

const ALSL_W

ALSL_WU const #

const ALSL_WU

AMADD_B const #

const AMADD_B

AMADD_D const #

const AMADD_D

AMADD_DB_B const #

const AMADD_DB_B

AMADD_DB_D const #

const AMADD_DB_D

AMADD_DB_H const #

const AMADD_DB_H

AMADD_DB_W const #

const AMADD_DB_W

AMADD_H const #

const AMADD_H

AMADD_W const #

const AMADD_W

AMAND_D const #

const AMAND_D

AMAND_DB_D const #

const AMAND_DB_D

AMAND_DB_W const #

const AMAND_DB_W

AMAND_W const #

const AMAND_W

AMCAS_B const #

const AMCAS_B

AMCAS_D const #

const AMCAS_D

AMCAS_DB_B const #

const AMCAS_DB_B

AMCAS_DB_D const #

const AMCAS_DB_D

AMCAS_DB_H const #

const AMCAS_DB_H

AMCAS_DB_W const #

const AMCAS_DB_W

AMCAS_H const #

const AMCAS_H

AMCAS_W const #

const AMCAS_W

AMMAX_D const #

const AMMAX_D

AMMAX_DB_D const #

const AMMAX_DB_D

AMMAX_DB_DU const #

const AMMAX_DB_DU

AMMAX_DB_W const #

const AMMAX_DB_W

AMMAX_DB_WU const #

const AMMAX_DB_WU

AMMAX_DU const #

const AMMAX_DU

AMMAX_W const #

const AMMAX_W

AMMAX_WU const #

const AMMAX_WU

AMMIN_D const #

const AMMIN_D

AMMIN_DB_D const #

const AMMIN_DB_D

AMMIN_DB_DU const #

const AMMIN_DB_DU

AMMIN_DB_W const #

const AMMIN_DB_W

AMMIN_DB_WU const #

const AMMIN_DB_WU

AMMIN_DU const #

const AMMIN_DU

AMMIN_W const #

const AMMIN_W

AMMIN_WU const #

const AMMIN_WU

AMOR_D const #

const AMOR_D

AMOR_DB_D const #

const AMOR_DB_D

AMOR_DB_W const #

const AMOR_DB_W

AMOR_W const #

const AMOR_W

AMSWAP_B const #

const AMSWAP_B

AMSWAP_D const #

const AMSWAP_D

AMSWAP_DB_B const #

const AMSWAP_DB_B

AMSWAP_DB_D const #

const AMSWAP_DB_D

AMSWAP_DB_H const #

const AMSWAP_DB_H

AMSWAP_DB_W const #

const AMSWAP_DB_W

AMSWAP_H const #

const AMSWAP_H

AMSWAP_W const #

const AMSWAP_W

AMXOR_D const #

const AMXOR_D

AMXOR_DB_D const #

const AMXOR_DB_D

AMXOR_DB_W const #

const AMXOR_DB_W

AMXOR_W const #

const AMXOR_W

AND const #

const AND

ANDI const #

const ANDI

ANDN const #

const ANDN

ASRTGT_D const #

const ASRTGT_D

ASRTLE_D const #

const ASRTLE_D

B const #

const B

BCEQZ const #

const BCEQZ

BCNEZ const #

const BCNEZ

BEQ const #

const BEQ

BEQZ const #

const BEQZ

BGE const #

const BGE

BGEU const #

const BGEU

BITREV_4B const #

const BITREV_4B

BITREV_8B const #

const BITREV_8B

BITREV_D const #

const BITREV_D

BITREV_W const #

const BITREV_W

BL const #

const BL

BLT const #

const BLT

BLTU const #

const BLTU

BNE const #

const BNE

BNEZ const #

const BNEZ

BREAK const #

const BREAK

BSTRINS_D const #

const BSTRINS_D

BSTRINS_W const #

const BSTRINS_W

BSTRPICK_D const #

const BSTRPICK_D

BSTRPICK_W const #

const BSTRPICK_W

BYTEPICK_D const #

const BYTEPICK_D

BYTEPICK_W const #

const BYTEPICK_W

CACOP const #

const CACOP

CLO_D const #

const CLO_D

CLO_W const #

const CLO_W

CLZ_D const #

const CLZ_D

CLZ_W const #

const CLZ_W

CPUCFG const #

const CPUCFG

CRCC_W_B_W const #

const CRCC_W_B_W

CRCC_W_D_W const #

const CRCC_W_D_W

CRCC_W_H_W const #

const CRCC_W_H_W

CRCC_W_W_W const #

const CRCC_W_W_W

CRC_W_B_W const #

const CRC_W_B_W

CRC_W_D_W const #

const CRC_W_D_W

CRC_W_H_W const #

const CRC_W_H_W

CRC_W_W_W const #

const CRC_W_W_W

CSRRD const #

const CSRRD

CSRWR const #

const CSRWR

CSRXCHG const #

const CSRXCHG

CTO_D const #

const CTO_D

CTO_W const #

const CTO_W

CTZ_D const #

const CTZ_D

CTZ_W const #

const CTZ_W

DBAR const #

const DBAR

DBCL const #

const DBCL

DIV_D const #

const DIV_D

DIV_DU const #

const DIV_DU

DIV_W const #

const DIV_W

DIV_WU const #

const DIV_WU

ERTN const #

const ERTN

EXT_W_B const #

const EXT_W_B

EXT_W_H const #

const EXT_W_H

F0 const #

Float point register

const F0

F1 const #

const F1

F10 const #

const F10

F11 const #

const F11

F12 const #

const F12

F13 const #

const F13

F14 const #

const F14

F15 const #

const F15

F16 const #

const F16

F17 const #

const F17

F18 const #

const F18

F19 const #

const F19

F2 const #

const F2

F20 const #

const F20

F21 const #

const F21

F22 const #

const F22

F23 const #

const F23

F24 const #

const F24

F25 const #

const F25

F26 const #

const F26

F27 const #

const F27

F28 const #

const F28

F29 const #

const F29

F3 const #

const F3

F30 const #

const F30

F31 const #

const F31

F4 const #

const F4

F5 const #

const F5

F6 const #

const F6

F7 const #

const F7

F8 const #

const F8

F9 const #

const F9

FABS_D const #

const FABS_D

FABS_S const #

const FABS_S

FADD_D const #

const FADD_D

FADD_S const #

const FADD_S

FCC0 const #

const FCC0 Fcc = iota

FCC1 const #

const FCC1

FCC2 const #

const FCC2

FCC3 const #

const FCC3

FCC4 const #

const FCC4

FCC5 const #

const FCC5

FCC6 const #

const FCC6

FCC7 const #

const FCC7

FCLASS_D const #

const FCLASS_D

FCLASS_S const #

const FCLASS_S

FCMP_CAF_D const #

const FCMP_CAF_D

FCMP_CAF_S const #

const FCMP_CAF_S

FCMP_CEQ_D const #

const FCMP_CEQ_D

FCMP_CEQ_S const #

const FCMP_CEQ_S

FCMP_CLE_D const #

const FCMP_CLE_D

FCMP_CLE_S const #

const FCMP_CLE_S

FCMP_CLT_D const #

const FCMP_CLT_D

FCMP_CLT_S const #

const FCMP_CLT_S

FCMP_CNE_D const #

const FCMP_CNE_D

FCMP_CNE_S const #

const FCMP_CNE_S

FCMP_COR_D const #

const FCMP_COR_D

FCMP_COR_S const #

const FCMP_COR_S

FCMP_CUEQ_D const #

const FCMP_CUEQ_D

FCMP_CUEQ_S const #

const FCMP_CUEQ_S

FCMP_CULE_D const #

const FCMP_CULE_D

FCMP_CULE_S const #

const FCMP_CULE_S

FCMP_CULT_D const #

const FCMP_CULT_D

FCMP_CULT_S const #

const FCMP_CULT_S

FCMP_CUNE_D const #

const FCMP_CUNE_D

FCMP_CUNE_S const #

const FCMP_CUNE_S

FCMP_CUN_D const #

const FCMP_CUN_D

FCMP_CUN_S const #

const FCMP_CUN_S

FCMP_SAF_D const #

const FCMP_SAF_D

FCMP_SAF_S const #

const FCMP_SAF_S

FCMP_SEQ_D const #

const FCMP_SEQ_D

FCMP_SEQ_S const #

const FCMP_SEQ_S

FCMP_SLE_D const #

const FCMP_SLE_D

FCMP_SLE_S const #

const FCMP_SLE_S

FCMP_SLT_D const #

const FCMP_SLT_D

FCMP_SLT_S const #

const FCMP_SLT_S

FCMP_SNE_D const #

const FCMP_SNE_D

FCMP_SNE_S const #

const FCMP_SNE_S

FCMP_SOR_D const #

const FCMP_SOR_D

FCMP_SOR_S const #

const FCMP_SOR_S

FCMP_SUEQ_D const #

const FCMP_SUEQ_D

FCMP_SUEQ_S const #

const FCMP_SUEQ_S

FCMP_SULE_D const #

const FCMP_SULE_D

FCMP_SULE_S const #

const FCMP_SULE_S

FCMP_SULT_D const #

const FCMP_SULT_D

FCMP_SULT_S const #

const FCMP_SULT_S

FCMP_SUNE_D const #

const FCMP_SUNE_D

FCMP_SUNE_S const #

const FCMP_SUNE_S

FCMP_SUN_D const #

const FCMP_SUN_D

FCMP_SUN_S const #

const FCMP_SUN_S

FCOPYSIGN_D const #

const FCOPYSIGN_D

FCOPYSIGN_S const #

const FCOPYSIGN_S

FCSR0 const #

const FCSR0 Fcsr = iota

FCSR1 const #

const FCSR1

FCSR2 const #

const FCSR2

FCSR3 const #

const FCSR3

FCVT_D_S const #

const FCVT_D_S

FCVT_S_D const #

const FCVT_S_D

FDIV_D const #

const FDIV_D

FDIV_S const #

const FDIV_S

FFINT_D_L const #

const FFINT_D_L

FFINT_D_W const #

const FFINT_D_W

FFINT_S_L const #

const FFINT_S_L

FFINT_S_W const #

const FFINT_S_W

FLDGT_D const #

const FLDGT_D

FLDGT_S const #

const FLDGT_S

FLDLE_D const #

const FLDLE_D

FLDLE_S const #

const FLDLE_S

FLDX_D const #

const FLDX_D

FLDX_S const #

const FLDX_S

FLD_D const #

const FLD_D

FLD_S const #

const FLD_S

FLOGB_D const #

const FLOGB_D

FLOGB_S const #

const FLOGB_S

FMADD_D const #

const FMADD_D

FMADD_S const #

const FMADD_S

FMAXA_D const #

const FMAXA_D

FMAXA_S const #

const FMAXA_S

FMAX_D const #

const FMAX_D

FMAX_S const #

const FMAX_S

FMINA_D const #

const FMINA_D

FMINA_S const #

const FMINA_S

FMIN_D const #

const FMIN_D

FMIN_S const #

const FMIN_S

FMOV_D const #

const FMOV_D

FMOV_S const #

const FMOV_S

FMSUB_D const #

const FMSUB_D

FMSUB_S const #

const FMSUB_S

FMUL_D const #

const FMUL_D

FMUL_S const #

const FMUL_S

FNEG_D const #

const FNEG_D

FNEG_S const #

const FNEG_S

FNMADD_D const #

const FNMADD_D

FNMADD_S const #

const FNMADD_S

FNMSUB_D const #

const FNMSUB_D

FNMSUB_S const #

const FNMSUB_S

FRECIPE_D const #

const FRECIPE_D

FRECIPE_S const #

const FRECIPE_S

FRECIP_D const #

const FRECIP_D

FRECIP_S const #

const FRECIP_S

FRINT_D const #

const FRINT_D

FRINT_S const #

const FRINT_S

FRSQRTE_D const #

const FRSQRTE_D

FRSQRTE_S const #

const FRSQRTE_S

FRSQRT_D const #

const FRSQRT_D

FRSQRT_S const #

const FRSQRT_S

FSCALEB_D const #

const FSCALEB_D

FSCALEB_S const #

const FSCALEB_S

FSEL const #

const FSEL

FSQRT_D const #

const FSQRT_D

FSQRT_S const #

const FSQRT_S

FSTGT_D const #

const FSTGT_D

FSTGT_S const #

const FSTGT_S

FSTLE_D const #

const FSTLE_D

FSTLE_S const #

const FSTLE_S

FSTX_D const #

const FSTX_D

FSTX_S const #

const FSTX_S

FST_D const #

const FST_D

FST_S const #

const FST_S

FSUB_D const #

const FSUB_D

FSUB_S const #

const FSUB_S

FTINTRM_L_D const #

const FTINTRM_L_D

FTINTRM_L_S const #

const FTINTRM_L_S

FTINTRM_W_D const #

const FTINTRM_W_D

FTINTRM_W_S const #

const FTINTRM_W_S

FTINTRNE_L_D const #

const FTINTRNE_L_D

FTINTRNE_L_S const #

const FTINTRNE_L_S

FTINTRNE_W_D const #

const FTINTRNE_W_D

FTINTRNE_W_S const #

const FTINTRNE_W_S

FTINTRP_L_D const #

const FTINTRP_L_D

FTINTRP_L_S const #

const FTINTRP_L_S

FTINTRP_W_D const #

const FTINTRP_W_D

FTINTRP_W_S const #

const FTINTRP_W_S

FTINTRZ_L_D const #

const FTINTRZ_L_D

FTINTRZ_L_S const #

const FTINTRZ_L_S

FTINTRZ_W_D const #

const FTINTRZ_W_D

FTINTRZ_W_S const #

const FTINTRZ_W_S

FTINT_L_D const #

const FTINT_L_D

FTINT_L_S const #

const FTINT_L_S

FTINT_W_D const #

const FTINT_W_D

FTINT_W_S const #

const FTINT_W_S

IBAR const #

const IBAR

IDLE const #

const IDLE

INVTLB const #

const INVTLB

IOCSRRD_B const #

const IOCSRRD_B

IOCSRRD_D const #

const IOCSRRD_D

IOCSRRD_H const #

const IOCSRRD_H

IOCSRRD_W const #

const IOCSRRD_W

IOCSRWR_B const #

const IOCSRWR_B

IOCSRWR_D const #

const IOCSRWR_D

IOCSRWR_H const #

const IOCSRWR_H

IOCSRWR_W const #

const IOCSRWR_W

JIRL const #

const JIRL

LDDIR const #

const LDDIR

LDGT_B const #

const LDGT_B

LDGT_D const #

const LDGT_D

LDGT_H const #

const LDGT_H

LDGT_W const #

const LDGT_W

LDLE_B const #

const LDLE_B

LDLE_D const #

const LDLE_D

LDLE_H const #

const LDLE_H

LDLE_W const #

const LDLE_W

LDPTE const #

const LDPTE

LDPTR_D const #

const LDPTR_D

LDPTR_W const #

const LDPTR_W

LDX_B const #

const LDX_B

LDX_BU const #

const LDX_BU

LDX_D const #

const LDX_D

LDX_H const #

const LDX_H

LDX_HU const #

const LDX_HU

LDX_W const #

const LDX_W

LDX_WU const #

const LDX_WU

LD_B const #

const LD_B

LD_BU const #

const LD_BU

LD_D const #

const LD_D

LD_H const #

const LD_H

LD_HU const #

const LD_HU

LD_W const #

const LD_W

LD_WU const #

const LD_WU

LLACQ_D const #

const LLACQ_D

LLACQ_W const #

const LLACQ_W

LL_D const #

const LL_D

LL_W const #

const LL_W

LU12I_W const #

const LU12I_W

LU32I_D const #

const LU32I_D

LU52I_D const #

const LU52I_D

MASKEQZ const #

const MASKEQZ

MASKNEZ const #

const MASKNEZ

MOD_D const #

const MOD_D

MOD_DU const #

const MOD_DU

MOD_W const #

const MOD_W

MOD_WU const #

const MOD_WU

MOVCF2FR const #

const MOVCF2FR

MOVCF2GR const #

const MOVCF2GR

MOVFCSR2GR const #

const MOVFCSR2GR

MOVFR2CF const #

const MOVFR2CF

MOVFR2GR_D const #

const MOVFR2GR_D

MOVFR2GR_S const #

const MOVFR2GR_S

MOVFRH2GR_S const #

const MOVFRH2GR_S

MOVGR2CF const #

const MOVGR2CF

MOVGR2FCSR const #

const MOVGR2FCSR

MOVGR2FRH_W const #

const MOVGR2FRH_W

MOVGR2FR_D const #

const MOVGR2FR_D

MOVGR2FR_W const #

const MOVGR2FR_W

MULH_D const #

const MULH_D

MULH_DU const #

const MULH_DU

MULH_W const #

const MULH_W

MULH_WU const #

const MULH_WU

MULW_D_W const #

const MULW_D_W

MULW_D_WU const #

const MULW_D_WU

MUL_D const #

const MUL_D

MUL_W const #

const MUL_W

NOR const #

const NOR

OR const #

const OR

ORI const #

const ORI

ORN const #

const ORN

PCADDI const #

const PCADDI

PCADDU12I const #

const PCADDU12I

PCADDU18I const #

const PCADDU18I

PCALAU12I const #

const PCALAU12I

PRELD const #

const PRELD

PRELDX const #

const PRELDX

R0 const #

General-purpose register

const R0 Reg = iota

R1 const #

const R1

R10 const #

const R10

R11 const #

const R11

R12 const #

const R12

R13 const #

const R13

R14 const #

const R14

R15 const #

const R15

R16 const #

const R16

R17 const #

const R17

R18 const #

const R18

R19 const #

const R19

R2 const #

const R2

R20 const #

const R20

R21 const #

const R21

R22 const #

const R22

R23 const #

const R23

R24 const #

const R24

R25 const #

const R25

R26 const #

const R26

R27 const #

const R27

R28 const #

const R28

R29 const #

const R29

R3 const #

const R3

R30 const #

const R30

R31 const #

const R31

R4 const #

const R4

R5 const #

const R5

R6 const #

const R6

R7 const #

const R7

R8 const #

const R8

R9 const #

const R9

RDTIMEH_W const #

const RDTIMEH_W

RDTIMEL_W const #

const RDTIMEL_W

RDTIME_D const #

const RDTIME_D

REVB_2H const #

const REVB_2H

REVB_2W const #

const REVB_2W

REVB_4H const #

const REVB_4H

REVB_D const #

const REVB_D

REVH_2W const #

const REVH_2W

REVH_D const #

const REVH_D

ROTRI_D const #

const ROTRI_D

ROTRI_W const #

const ROTRI_W

ROTR_D const #

const ROTR_D

ROTR_W const #

const ROTR_W

SCREL_D const #

const SCREL_D

SCREL_W const #

const SCREL_W

SC_D const #

const SC_D

SC_Q const #

const SC_Q

SC_W const #

const SC_W

SLLI_D const #

const SLLI_D

SLLI_W const #

const SLLI_W

SLL_D const #

const SLL_D

SLL_W const #

const SLL_W

SLT const #

const SLT

SLTI const #

const SLTI

SLTU const #

const SLTU

SLTUI const #

const SLTUI

SRAI_D const #

const SRAI_D

SRAI_W const #

const SRAI_W

SRA_D const #

const SRA_D

SRA_W const #

const SRA_W

SRLI_D const #

const SRLI_D

SRLI_W const #

const SRLI_W

SRL_D const #

const SRL_D

SRL_W const #

const SRL_W

STGT_B const #

const STGT_B

STGT_D const #

const STGT_D

STGT_H const #

const STGT_H

STGT_W const #

const STGT_W

STLE_B const #

const STLE_B

STLE_D const #

const STLE_D

STLE_H const #

const STLE_H

STLE_W const #

const STLE_W

STPTR_D const #

const STPTR_D

STPTR_W const #

const STPTR_W

STX_B const #

const STX_B

STX_D const #

const STX_D

STX_H const #

const STX_H

STX_W const #

const STX_W

ST_B const #

const ST_B

ST_D const #

const ST_D

ST_H const #

const ST_H

ST_W const #

const ST_W

SUB_D const #

const SUB_D

SUB_W const #

const SUB_W

SYSCALL const #

const SYSCALL

TLBCLR const #

const TLBCLR

TLBFILL const #

const TLBFILL

TLBFLUSH const #

const TLBFLUSH

TLBRD const #

const TLBRD

TLBSRCH const #

const TLBSRCH

TLBWR const #

const TLBWR

XOR const #

const XOR

XORI const #

const XORI

_ const #

const _ Op = iota

_ const #

const _ instArg = iota

arg_ca const #

const arg_ca

arg_cd const #

const arg_cd

arg_cj const #

const arg_cj

arg_code_14_0 const #

const arg_code_14_0

arg_code_4_0 const #

const arg_code_4_0

arg_csr_23_10 const #

11-15

const arg_csr_23_10

arg_fa const #

const arg_fa

arg_fcsr_4_0 const #

const arg_fcsr_4_0

arg_fcsr_9_5 const #

const arg_fcsr_9_5

arg_fd const #

1-5

const arg_fd

arg_fj const #

const arg_fj

arg_fk const #

const arg_fk

arg_hint_14_0 const #

const arg_hint_14_0

arg_hint_4_0 const #

26-30

const arg_hint_4_0

arg_level_14_0 const #

const arg_level_14_0

arg_level_17_10 const #

const arg_level_17_10

arg_lsbd const #

const arg_lsbd

arg_lsbw const #

const arg_lsbw

arg_msbd const #

const arg_msbd

arg_msbw const #

const arg_msbw

arg_offset_15_0 const #

const arg_offset_15_0

arg_offset_20_0 const #

const arg_offset_20_0

arg_offset_25_0 const #

36~

const arg_offset_25_0

arg_op_4_0 const #

const arg_op_4_0

arg_rd const #

const arg_rd

arg_rj const #

6-10

const arg_rj

arg_rk const #

const arg_rk

arg_sa2_16_15 const #

const arg_sa2_16_15

arg_sa3_17_15 const #

16-20

const arg_sa3_17_15

arg_seq_17_10 const #

const arg_seq_17_10

arg_si12_21_10 const #

31-35

const arg_si12_21_10

arg_si14_23_10 const #

const arg_si14_23_10

arg_si16_25_10 const #

const arg_si16_25_10

arg_si20_24_5 const #

const arg_si20_24_5

arg_ui12_21_10 const #

21-25

const arg_ui12_21_10

arg_ui5_14_10 const #

const arg_ui5_14_10

arg_ui6_15_10 const #

const arg_ui6_15_10

decoderCover var #

var decoderCover []bool

errShort var #

var errShort = *ast.CallExpr

errUnknown var #

var errUnknown = *ast.CallExpr

instFormats var #

var instFormats = [...]instFormat{...}

opstr var #

var opstr = [...]string{...}

plan9OpMap var #

var plan9OpMap = map[Op]string{...}

Type Aliases

Args type #

An Args holds the instruction arguments. If an instruction has fewer than 5 arguments, the final elements in the array are nil.

type Args [5]Arg

CodeSimm type #

type CodeSimm int16

Fcc type #

float condition flags register

type Fcc uint8

Fcsr type #

float control status register

type Fcsr uint8

Op type #

An Op is an Loong64 opcode.

type Op uint16

Reg type #

A Reg is a single register. The zero value denotes R0, not the absence of a register.

type Reg uint16

SaSimm type #

type SaSimm int16

instArg type #

type instArg uint16

instArgs type #

type instArgs [5]instArg

Interfaces

Arg interface #

An Arg is a single instruction argument

type Arg interface {
String() string
}

Structs

Inst struct #

An Inst is a single instruction.

type Inst struct {
Op Op
Enc uint32
Args Args
}

OffsetSimm struct #

type OffsetSimm struct {
Imm int32
Width uint8
}

Simm16 struct #

type Simm16 struct {
Imm int16
Width uint8
}

Simm32 struct #

type Simm32 struct {
Imm int32
Width uint8
}

Uimm struct #

An Imm is an integer constant.

type Uimm struct {
Imm uint32
Decimal bool
}

instFormat struct #

An instFormat describes the format of an instruction encoding.

type instFormat struct {
mask uint32
value uint32
op Op
args instArgs
}

Functions

Decode function #

Decode decodes the 4 bytes in src as a single instruction.

func Decode(src []byte) (inst Inst, err error)

GNUSyntax function #

GNUSyntax returns the GNU assembler syntax for the instruction, as defined by GNU binutils. This form typically matches the syntax defined in the Loong64 Reference Manual. See https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html

func GNUSyntax(inst Inst) string

GoSyntax function #

GoSyntax returns the Go assembler syntax for the instruction. The syntax was originally defined by Plan 9. The pc is the program counter of the instruction, used for expanding PC-relative addresses into absolute ones. The symname function queries the symbol table for the program being disassembled. Given a target address it returns the name and base address of the symbol containing the target, if any; otherwise it returns "", 0.

func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64)) string

String method #

func (f Fcc) String() string

String method #

func (si Simm16) String() string

String method #

NOTE: The actual Op values are defined in tables.go. They are chosen to simplify instruction decoding and are not a dense packing from 0 to N, although the density is high, probably at least 90%.

func (op Op) String() string

String method #

func (r Reg) String() string

String method #

func (f Fcsr) String() string

String method #

func (c CodeSimm) String() string

String method #

func (i Uimm) String() string

String method #

func (i Inst) String() string

String method #

func (si Simm32) String() string

String method #

func (o OffsetSimm) String() string

String method #

func (s SaSimm) String() string

decodeArg function #

decodeArg decodes the arg described by aop from the instruction bits x. It returns nil if x cannot be decoded according to aop.

func decodeArg(aop instArg, x uint32, index int) Arg

init function #

func init()

offsConvInt32 function #

func offsConvInt32(imm int32, width uint8) int32

plan9Arg function #

func plan9Arg(inst *Inst, pc uint64, symname func(uint64) (string, uint64), arg Arg) string

signumConvInt32 function #

func signumConvInt32(imm int32, width uint8) int32

Generated with Arrow