Imports #
"fmt"
"strings"
"fmt"
"io"
"strconv"
"strings"
"strconv"
"encoding/binary"
"errors"
"strings"
"fmt"
"strings"
"fmt"
"io"
"strconv"
"strings"
"strconv"
"encoding/binary"
"errors"
"strings"
const ADD
const ADDI
const ADDIW
const ADDW
const ADD_UW
const AMOADD_D
const AMOADD_D_AQ
const AMOADD_D_AQRL
const AMOADD_D_RL
const AMOADD_W
const AMOADD_W_AQ
const AMOADD_W_AQRL
const AMOADD_W_RL
const AMOAND_D
const AMOAND_D_AQ
const AMOAND_D_AQRL
const AMOAND_D_RL
const AMOAND_W
const AMOAND_W_AQ
const AMOAND_W_AQRL
const AMOAND_W_RL
const AMOMAXU_D
const AMOMAXU_D_AQ
const AMOMAXU_D_AQRL
const AMOMAXU_D_RL
const AMOMAXU_W
const AMOMAXU_W_AQ
const AMOMAXU_W_AQRL
const AMOMAXU_W_RL
const AMOMAX_D
const AMOMAX_D_AQ
const AMOMAX_D_AQRL
const AMOMAX_D_RL
const AMOMAX_W
const AMOMAX_W_AQ
const AMOMAX_W_AQRL
const AMOMAX_W_RL
const AMOMINU_D
const AMOMINU_D_AQ
const AMOMINU_D_AQRL
const AMOMINU_D_RL
const AMOMINU_W
const AMOMINU_W_AQ
const AMOMINU_W_AQRL
const AMOMINU_W_RL
const AMOMIN_D
const AMOMIN_D_AQ
const AMOMIN_D_AQRL
const AMOMIN_D_RL
const AMOMIN_W
const AMOMIN_W_AQ
const AMOMIN_W_AQRL
const AMOMIN_W_RL
const AMOOR_D
const AMOOR_D_AQ
const AMOOR_D_AQRL
const AMOOR_D_RL
const AMOOR_W
const AMOOR_W_AQ
const AMOOR_W_AQRL
const AMOOR_W_RL
const AMOSWAP_D
const AMOSWAP_D_AQ
const AMOSWAP_D_AQRL
const AMOSWAP_D_RL
const AMOSWAP_W
const AMOSWAP_W_AQ
const AMOSWAP_W_AQRL
const AMOSWAP_W_RL
const AMOXOR_D
const AMOXOR_D_AQ
const AMOXOR_D_AQRL
const AMOXOR_D_RL
const AMOXOR_W
const AMOXOR_W_AQ
const AMOXOR_W_AQRL
const AMOXOR_W_RL
const AND
const ANDI
const ANDN
const AUIPC
const BCLR
const BCLRI
const BEQ
const BEXT
const BEXTI
const BGE
const BGEU
const BINV
const BINVI
const BLT
const BLTU
const BNE
const BSET
const BSETI
const CLZ
const CLZW
const CPOP
const CPOPW
const CSRRC
const CSRRCI
const CSRRS
const CSRRSI
const CSRRW
const CSRRWI
const CTZ
const CTZW
const CYCLE CSR = 0x0c00
const CYCLEH CSR = 0x0c80
const C_ADD
const C_ADDI
const C_ADDI16SP
const C_ADDI4SPN
const C_ADDIW
const C_ADDW
const C_AND
const C_ANDI
const C_BEQZ
const C_BNEZ
const C_EBREAK
const C_FLD
const C_FLDSP
const C_FSD
const C_FSDSP
const C_J
const C_JALR
const C_JR
const C_LD
const C_LDSP
const C_LI
const C_LUI
const C_LW
const C_LWSP
const C_MV
const C_NOP
const C_OR
const C_SD
const C_SDSP
const C_SLLI
const C_SRAI
const C_SRLI
const C_SUB
const C_SUBW
const C_SW
const C_SWSP
const C_UNIMP
const C_XOR
const DCSR CSR = 0x07b0
const DIV
const DIVU
const DIVUW
const DIVW
const DPC CSR = 0x07b1
const DSCRATCH0 CSR = 0x07b2
const DSCRATCH1 CSR = 0x07b3
const EBREAK
const ECALL
Float point register
const F0
const F1
const F10
const F11
const F12
const F13
const F14
const F15
const F16
const F17
const F18
const F19
const F2
const F20
const F21
const F22
const F23
const F24
const F25
const F26
const F27
const F28
const F29
const F3
const F30
const F31
const F4
const F5
const F6
const F7
const F8
const F9
const FADD_D
const FADD_H
const FADD_Q
const FADD_S
const FCLASS_D
const FCLASS_H
const FCLASS_Q
const FCLASS_S
const FCSR CSR = 0x0003
const FCVT_D_L
const FCVT_D_LU
const FCVT_D_Q
const FCVT_D_S
const FCVT_D_W
const FCVT_D_WU
const FCVT_H_L
const FCVT_H_LU
const FCVT_H_S
const FCVT_H_W
const FCVT_H_WU
const FCVT_LU_D
const FCVT_LU_H
const FCVT_LU_Q
const FCVT_LU_S
const FCVT_L_D
const FCVT_L_H
const FCVT_L_Q
const FCVT_L_S
const FCVT_Q_D
const FCVT_Q_L
const FCVT_Q_LU
const FCVT_Q_S
const FCVT_Q_W
const FCVT_Q_WU
const FCVT_S_D
const FCVT_S_H
const FCVT_S_L
const FCVT_S_LU
const FCVT_S_Q
const FCVT_S_W
const FCVT_S_WU
const FCVT_WU_D
const FCVT_WU_H
const FCVT_WU_Q
const FCVT_WU_S
const FCVT_W_D
const FCVT_W_H
const FCVT_W_Q
const FCVT_W_S
const FDIV_D
const FDIV_H
const FDIV_Q
const FDIV_S
const FENCE
const FENCE_I
const FEQ_D
const FEQ_H
const FEQ_Q
const FEQ_S
const FFLAGS CSR = 0x0001
const FLD
const FLE_D
const FLE_H
const FLE_Q
const FLE_S
const FLH
const FLQ
const FLT_D
const FLT_H
const FLT_Q
const FLT_S
const FLW
const FMADD_D
const FMADD_H
const FMADD_Q
const FMADD_S
const FMAX_D
const FMAX_H
const FMAX_Q
const FMAX_S
const FMIN_D
const FMIN_H
const FMIN_Q
const FMIN_S
const FMSUB_D
const FMSUB_H
const FMSUB_Q
const FMSUB_S
const FMUL_D
const FMUL_H
const FMUL_Q
const FMUL_S
const FMV_D_X
const FMV_H_X
const FMV_W_X
const FMV_X_D
const FMV_X_H
const FMV_X_W
const FNMADD_D
const FNMADD_H
const FNMADD_Q
const FNMADD_S
const FNMSUB_D
const FNMSUB_H
const FNMSUB_Q
const FNMSUB_S
const FRM CSR = 0x0002
const FSD
const FSGNJN_D
const FSGNJN_H
const FSGNJN_Q
const FSGNJN_S
const FSGNJX_D
const FSGNJX_H
const FSGNJX_Q
const FSGNJX_S
const FSGNJ_D
const FSGNJ_H
const FSGNJ_Q
const FSGNJ_S
const FSH
const FSQ
const FSQRT_D
const FSQRT_H
const FSQRT_Q
const FSQRT_S
const FSUB_D
const FSUB_H
const FSUB_Q
const FSUB_S
const FSW
const HCOUNTEREN CSR = 0x0606
const HEDELEG CSR = 0x0602
const HGATP CSR = 0x0680
const HGEIE CSR = 0x0607
const HGEIP CSR = 0x0e12
const HIDELEG CSR = 0x0603
const HIE CSR = 0x0604
const HIP CSR = 0x0644
const HPMCOUNTER10 CSR = 0x0c0a
const HPMCOUNTER10H CSR = 0x0c8a
const HPMCOUNTER11 CSR = 0x0c0b
const HPMCOUNTER11H CSR = 0x0c8b
const HPMCOUNTER12 CSR = 0x0c0c
const HPMCOUNTER12H CSR = 0x0c8c
const HPMCOUNTER13 CSR = 0x0c0d
const HPMCOUNTER13H CSR = 0x0c8d
const HPMCOUNTER14 CSR = 0x0c0e
const HPMCOUNTER14H CSR = 0x0c8e
const HPMCOUNTER15 CSR = 0x0c0f
const HPMCOUNTER15H CSR = 0x0c8f
const HPMCOUNTER16 CSR = 0x0c10
const HPMCOUNTER16H CSR = 0x0c90
const HPMCOUNTER17 CSR = 0x0c11
const HPMCOUNTER17H CSR = 0x0c91
const HPMCOUNTER18 CSR = 0x0c12
const HPMCOUNTER18H CSR = 0x0c92
const HPMCOUNTER19 CSR = 0x0c13
const HPMCOUNTER19H CSR = 0x0c93
const HPMCOUNTER20 CSR = 0x0c14
const HPMCOUNTER20H CSR = 0x0c94
const HPMCOUNTER21 CSR = 0x0c15
const HPMCOUNTER21H CSR = 0x0c95
const HPMCOUNTER22 CSR = 0x0c16
const HPMCOUNTER22H CSR = 0x0c96
const HPMCOUNTER23 CSR = 0x0c17
const HPMCOUNTER23H CSR = 0x0c97
const HPMCOUNTER24 CSR = 0x0c18
const HPMCOUNTER24H CSR = 0x0c98
const HPMCOUNTER25 CSR = 0x0c19
const HPMCOUNTER25H CSR = 0x0c99
const HPMCOUNTER26 CSR = 0x0c1a
const HPMCOUNTER26H CSR = 0x0c9a
const HPMCOUNTER27 CSR = 0x0c1b
const HPMCOUNTER27H CSR = 0x0c9b
const HPMCOUNTER28 CSR = 0x0c1c
const HPMCOUNTER28H CSR = 0x0c9c
const HPMCOUNTER29 CSR = 0x0c1d
const HPMCOUNTER29H CSR = 0x0c9d
const HPMCOUNTER3 CSR = 0x0c03
const HPMCOUNTER30 CSR = 0x0c1e
const HPMCOUNTER30H CSR = 0x0c9e
const HPMCOUNTER31 CSR = 0x0c1f
const HPMCOUNTER31H CSR = 0x0c9f
const HPMCOUNTER3H CSR = 0x0c83
const HPMCOUNTER4 CSR = 0x0c04
const HPMCOUNTER4H CSR = 0x0c84
const HPMCOUNTER5 CSR = 0x0c05
const HPMCOUNTER5H CSR = 0x0c85
const HPMCOUNTER6 CSR = 0x0c06
const HPMCOUNTER6H CSR = 0x0c86
const HPMCOUNTER7 CSR = 0x0c07
const HPMCOUNTER7H CSR = 0x0c87
const HPMCOUNTER8 CSR = 0x0c08
const HPMCOUNTER8H CSR = 0x0c88
const HPMCOUNTER9 CSR = 0x0c09
const HPMCOUNTER9H CSR = 0x0c89
const HSTATUS CSR = 0x0600
const HTIMEDELTA CSR = 0x0605
const HTIMEDELTAH CSR = 0x0615
const HTINST CSR = 0x064a
const HTVAL CSR = 0x0643
const HVIP CSR = 0x0645
const INSTRET CSR = 0x0c02
const INSTRETH CSR = 0x0c82
const JAL
const JALR
const LB
const LBU
const LD
const LH
const LHU
const LR_D
const LR_D_AQ
const LR_D_AQRL
const LR_D_RL
const LR_W
const LR_W_AQ
const LR_W_AQRL
const LR_W_RL
const LUI
const LW
const LWU
const MARCHID CSR = 0x0f12
const MAX
const MAXU
const MCAUSE CSR = 0x0342
const MCONTEXT CSR = 0x07a8
const MCOUNTEREN CSR = 0x0306
const MCOUNTINHIBIT CSR = 0x0320
const MCYCLE CSR = 0x0b00
const MCYCLEH CSR = 0x0b80
const MEDELEG CSR = 0x0302
const MENTROPY CSR = 0x0f15
const MEPC CSR = 0x0341
const MHARTID CSR = 0x0f14
const MHPMCOUNTER10 CSR = 0x0b0a
const MHPMCOUNTER10H CSR = 0x0b8a
const MHPMCOUNTER11 CSR = 0x0b0b
const MHPMCOUNTER11H CSR = 0x0b8b
const MHPMCOUNTER12 CSR = 0x0b0c
const MHPMCOUNTER12H CSR = 0x0b8c
const MHPMCOUNTER13 CSR = 0x0b0d
const MHPMCOUNTER13H CSR = 0x0b8d
const MHPMCOUNTER14 CSR = 0x0b0e
const MHPMCOUNTER14H CSR = 0x0b8e
const MHPMCOUNTER15 CSR = 0x0b0f
const MHPMCOUNTER15H CSR = 0x0b8f
const MHPMCOUNTER16 CSR = 0x0b10
const MHPMCOUNTER16H CSR = 0x0b90
const MHPMCOUNTER17 CSR = 0x0b11
const MHPMCOUNTER17H CSR = 0x0b91
const MHPMCOUNTER18 CSR = 0x0b12
const MHPMCOUNTER18H CSR = 0x0b92
const MHPMCOUNTER19 CSR = 0x0b13
const MHPMCOUNTER19H CSR = 0x0b93
const MHPMCOUNTER20 CSR = 0x0b14
const MHPMCOUNTER20H CSR = 0x0b94
const MHPMCOUNTER21 CSR = 0x0b15
const MHPMCOUNTER21H CSR = 0x0b95
const MHPMCOUNTER22 CSR = 0x0b16
const MHPMCOUNTER22H CSR = 0x0b96
const MHPMCOUNTER23 CSR = 0x0b17
const MHPMCOUNTER23H CSR = 0x0b97
const MHPMCOUNTER24 CSR = 0x0b18
const MHPMCOUNTER24H CSR = 0x0b98
const MHPMCOUNTER25 CSR = 0x0b19
const MHPMCOUNTER25H CSR = 0x0b99
const MHPMCOUNTER26 CSR = 0x0b1a
const MHPMCOUNTER26H CSR = 0x0b9a
const MHPMCOUNTER27 CSR = 0x0b1b
const MHPMCOUNTER27H CSR = 0x0b9b
const MHPMCOUNTER28 CSR = 0x0b1c
const MHPMCOUNTER28H CSR = 0x0b9c
const MHPMCOUNTER29 CSR = 0x0b1d
const MHPMCOUNTER29H CSR = 0x0b9d
const MHPMCOUNTER3 CSR = 0x0b03
const MHPMCOUNTER30 CSR = 0x0b1e
const MHPMCOUNTER30H CSR = 0x0b9e
const MHPMCOUNTER31 CSR = 0x0b1f
const MHPMCOUNTER31H CSR = 0x0b9f
const MHPMCOUNTER3H CSR = 0x0b83
const MHPMCOUNTER4 CSR = 0x0b04
const MHPMCOUNTER4H CSR = 0x0b84
const MHPMCOUNTER5 CSR = 0x0b05
const MHPMCOUNTER5H CSR = 0x0b85
const MHPMCOUNTER6 CSR = 0x0b06
const MHPMCOUNTER6H CSR = 0x0b86
const MHPMCOUNTER7 CSR = 0x0b07
const MHPMCOUNTER7H CSR = 0x0b87
const MHPMCOUNTER8 CSR = 0x0b08
const MHPMCOUNTER8H CSR = 0x0b88
const MHPMCOUNTER9 CSR = 0x0b09
const MHPMCOUNTER9H CSR = 0x0b89
const MHPMEVENT10 CSR = 0x032a
const MHPMEVENT11 CSR = 0x032b
const MHPMEVENT12 CSR = 0x032c
const MHPMEVENT13 CSR = 0x032d
const MHPMEVENT14 CSR = 0x032e
const MHPMEVENT15 CSR = 0x032f
const MHPMEVENT16 CSR = 0x0330
const MHPMEVENT17 CSR = 0x0331
const MHPMEVENT18 CSR = 0x0332
const MHPMEVENT19 CSR = 0x0333
const MHPMEVENT20 CSR = 0x0334
const MHPMEVENT21 CSR = 0x0335
const MHPMEVENT22 CSR = 0x0336
const MHPMEVENT23 CSR = 0x0337
const MHPMEVENT24 CSR = 0x0338
const MHPMEVENT25 CSR = 0x0339
const MHPMEVENT26 CSR = 0x033a
const MHPMEVENT27 CSR = 0x033b
const MHPMEVENT28 CSR = 0x033c
const MHPMEVENT29 CSR = 0x033d
const MHPMEVENT3 CSR = 0x0323
const MHPMEVENT30 CSR = 0x033e
const MHPMEVENT31 CSR = 0x033f
const MHPMEVENT4 CSR = 0x0324
const MHPMEVENT5 CSR = 0x0325
const MHPMEVENT6 CSR = 0x0326
const MHPMEVENT7 CSR = 0x0327
const MHPMEVENT8 CSR = 0x0328
const MHPMEVENT9 CSR = 0x0329
const MIDELEG CSR = 0x0303
const MIE CSR = 0x0304
const MIMPID CSR = 0x0f13
const MIN
const MINSTRET CSR = 0x0b02
const MINSTRETH CSR = 0x0b82
const MINTSTATUS CSR = 0x0346
const MINU
const MIP CSR = 0x0344
const MISA CSR = 0x0301
const MNOISE CSR = 0x07a9
const MNXTI CSR = 0x0345
const MSCRATCH CSR = 0x0340
const MSCRATCHCSW CSR = 0x0348
const MSCRATCHCSWL CSR = 0x0349
const MSTATUS CSR = 0x0300
const MSTATUSH CSR = 0x0310
const MTINST CSR = 0x034a
const MTVAL CSR = 0x0343
const MTVAL2 CSR = 0x034b
const MTVEC CSR = 0x0305
const MTVT CSR = 0x0307
const MUL
const MULH
const MULHSU
const MULHU
const MULW
const MVENDORID CSR = 0x0f11
const OR
const ORC_B
const ORI
const ORN
const PMPADDR0 CSR = 0x03b0
const PMPADDR1 CSR = 0x03b1
const PMPADDR10 CSR = 0x03ba
const PMPADDR11 CSR = 0x03bb
const PMPADDR12 CSR = 0x03bc
const PMPADDR13 CSR = 0x03bd
const PMPADDR14 CSR = 0x03be
const PMPADDR15 CSR = 0x03bf
const PMPADDR2 CSR = 0x03b2
const PMPADDR3 CSR = 0x03b3
const PMPADDR4 CSR = 0x03b4
const PMPADDR5 CSR = 0x03b5
const PMPADDR6 CSR = 0x03b6
const PMPADDR7 CSR = 0x03b7
const PMPADDR8 CSR = 0x03b8
const PMPADDR9 CSR = 0x03b9
const PMPCFG0 CSR = 0x03a0
const PMPCFG1 CSR = 0x03a1
const PMPCFG2 CSR = 0x03a2
const PMPCFG3 CSR = 0x03a3
const REM
const REMU
const REMUW
const REMW
const REV8
const ROL
const ROLW
const ROR
const RORI
const RORIW
const RORW
const SATP CSR = 0x0180
const SB
const SCAUSE CSR = 0x0142
const SCONTEXT CSR = 0x07aa
const SCOUNTEREN CSR = 0x0106
const SC_D
const SC_D_AQ
const SC_D_AQRL
const SC_D_RL
const SC_W
const SC_W_AQ
const SC_W_AQRL
const SC_W_RL
const SD
const SEDELEG CSR = 0x0102
const SEPC CSR = 0x0141
const SEXT_B
const SEXT_H
const SH
const SH1ADD
const SH1ADD_UW
const SH2ADD
const SH2ADD_UW
const SH3ADD
const SH3ADD_UW
const SIDELEG CSR = 0x0103
const SIE CSR = 0x0104
const SINTSTATUS CSR = 0x0146
const SIP CSR = 0x0144
const SLL
const SLLI
const SLLIW
const SLLI_UW
const SLLW
const SLT
const SLTI
const SLTIU
const SLTU
const SNXTI CSR = 0x0145
const SRA
const SRAI
const SRAIW
const SRAW
const SRL
const SRLI
const SRLIW
const SRLW
const SSCRATCH CSR = 0x0140
const SSCRATCHCSW CSR = 0x0148
const SSCRATCHCSWL CSR = 0x0149
const SSTATUS CSR = 0x0100
const STVAL CSR = 0x0143
const STVEC CSR = 0x0105
const STVT CSR = 0x0107
const SUB
const SUBW
const SW
const TCONTROL CSR = 0x07a5
const TDATA1 CSR = 0x07a1
const TDATA2 CSR = 0x07a2
const TDATA3 CSR = 0x07a3
const TIME CSR = 0x0c01
const TIMEH CSR = 0x0c81
const TINFO CSR = 0x07a4
const TSELECT CSR = 0x07a0
const UCAUSE CSR = 0x0042
const UEPC CSR = 0x0041
const UIE CSR = 0x0004
const UINTSTATUS CSR = 0x0046
const UIP CSR = 0x0044
const UNXTI CSR = 0x0045
const USCRATCH CSR = 0x0040
const USCRATCHCSW CSR = 0x0048
const USCRATCHCSWL CSR = 0x0049
Control status register
const USTATUS CSR = 0x0000
const UTVAL CSR = 0x0043
const UTVEC CSR = 0x0005
const UTVT CSR = 0x0007
const VCSR CSR = 0x000f
const VL CSR = 0x0c20
const VLENB CSR = 0x0c22
const VSATP CSR = 0x0280
const VSCAUSE CSR = 0x0242
const VSEPC CSR = 0x0241
const VSIE CSR = 0x0204
const VSIP CSR = 0x0244
const VSSCRATCH CSR = 0x0240
const VSSTATUS CSR = 0x0200
const VSTART CSR = 0x0008
const VSTVAL CSR = 0x0243
const VSTVEC CSR = 0x0205
const VTYPE CSR = 0x0c21
const VXRM CSR = 0x000a
const VXSAT CSR = 0x0009
General-purpose register
const X0 Reg = iota
const X1
const X10
const X11
const X12
const X13
const X14
const X15
const X16
const X17
const X18
const X19
const X2
const X20
const X21
const X22
const X23
const X24
const X25
const X26
const X27
const X28
const X29
const X3
const X30
const X31
const X4
const X5
const X6
const X7
const X8
const X9
const XNOR
const XOR
const XORI
const ZEXT_H
const _ Op = iota
const _ argType = iota
var _CSR_map = map[CSR]string{...}
const _CSR_name = "USTATUSFFLAGSFRMFCSRUIEUTVECUTVTVSTARTVXSATVXRMVCSRUSCRATCHUEPCUCAUSEUTVALUIPUNXTIUINTSTATUSUSCRATCHCSWUSCRATCHCSWLSSTATUSSEDELEGSIDELEGSIESTVECSCOUNTERENSTVTSSCRATCHSEPCSCAUSESTVALSIPSNXTISINTSTATUSSSCRATCHCSWSSCRATCHCSWLSATPVSSTATUSVSIEVSTVECVSSCRATCHVSEPCVSCAUSEVSTVALVSIPVSATPMSTATUSMISAMEDELEGMIDELEGMIEMTVECMCOUNTERENMTVTMSTATUSHMCOUNTINHIBITMHPMEVENT3MHPMEVENT4MHPMEVENT5MHPMEVENT6MHPMEVENT7MHPMEVENT8MHPMEVENT9MHPMEVENT10MHPMEVENT11MHPMEVENT12MHPMEVENT13MHPMEVENT14MHPMEVENT15MHPMEVENT16MHPMEVENT17MHPMEVENT18MHPMEVENT19MHPMEVENT20MHPMEVENT21MHPMEVENT22MHPMEVENT23MHPMEVENT24MHPMEVENT25MHPMEVENT26MHPMEVENT27MHPMEVENT28MHPMEVENT29MHPMEVENT30MHPMEVENT31MSCRATCHMEPCMCAUSEMTVALMIPMNXTIMINTSTATUSMSCRATCHCSWMSCRATCHCSWLMTINSTMTVAL2PMPCFG0PMPCFG1PMPCFG2PMPCFG3PMPADDR0PMPADDR1PMPADDR2PMPADDR3PMPADDR4PMPADDR5PMPADDR6PMPADDR7PMPADDR8PMPADDR9PMPADDR10PMPADDR11PMPADDR12PMPADDR13PMPADDR14PMPADDR15HSTATUSHEDELEGHIDELEGHIEHTIMEDELTAHCOUNTERENHGEIEHTIMEDELTAHHTVALHIPHVIPHTINSTHGATPTSELECTTDATA1TDATA2TDATA3TINFOTCONTROLMCONTEXTMNOISESCONTEXTDCSRDPCDSCRATCH0DSCRATCH1MCYCLEMINSTRETMHPMCOUNTER3MHPMCOUNTER4MHPMCOUNTER5MHPMCOUNTER6MHPMCOUNTER7MHPMCOUNTER8MHPMCOUNTER9MHPMCOUNTER10MHPMCOUNTER11MHPMCOUNTER12MHPMCOUNTER13MHPMCOUNTER14MHPMCOUNTER15MHPMCOUNTER16MHPMCOUNTER17MHPMCOUNTER18MHPMCOUNTER19MHPMCOUNTER20MHPMCOUNTER21MHPMCOUNTER22MHPMCOUNTER23MHPMCOUNTER24MHPMCOUNTER25MHPMCOUNTER26MHPMCOUNTER27MHPMCOUNTER28MHPMCOUNTER29MHPMCOUNTER30MHPMCOUNTER31MCYCLEHMINSTRETHMHPMCOUNTER3HMHPMCOUNTER4HMHPMCOUNTER5HMHPMCOUNTER6HMHPMCOUNTER7HMHPMCOUNTER8HMHPMCOUNTER9HMHPMCOUNTER10HMHPMCOUNTER11HMHPMCOUNTER12HMHPMCOUNTER13HMHPMCOUNTER14HMHPMCOUNTER15HMHPMCOUNTER16HMHPMCOUNTER17HMHPMCOUNTER18HMHPMCOUNTER19HMHPMCOUNTER20HMHPMCOUNTER21HMHPMCOUNTER22HMHPMCOUNTER23HMHPMCOUNTER24HMHPMCOUNTER25HMHPMCOUNTER26HMHPMCOUNTER27HMHPMCOUNTER28HMHPMCOUNTER29HMHPMCOUNTER30HMHPMCOUNTER31HCYCLETIMEINSTRETHPMCOUNTER3HPMCOUNTER4HPMCOUNTER5HPMCOUNTER6HPMCOUNTER7HPMCOUNTER8HPMCOUNTER9HPMCOUNTER10HPMCOUNTER11HPMCOUNTER12HPMCOUNTER13HPMCOUNTER14HPMCOUNTER15HPMCOUNTER16HPMCOUNTER17HPMCOUNTER18HPMCOUNTER19HPMCOUNTER20HPMCOUNTER21HPMCOUNTER22HPMCOUNTER23HPMCOUNTER24HPMCOUNTER25HPMCOUNTER26HPMCOUNTER27HPMCOUNTER28HPMCOUNTER29HPMCOUNTER30HPMCOUNTER31VLVTYPEVLENBCYCLEHTIMEHINSTRETHHPMCOUNTER3HHPMCOUNTER4HHPMCOUNTER5HHPMCOUNTER6HHPMCOUNTER7HHPMCOUNTER8HHPMCOUNTER9HHPMCOUNTER10HHPMCOUNTER11HHPMCOUNTER12HHPMCOUNTER13HHPMCOUNTER14HHPMCOUNTER15HHPMCOUNTER16HHPMCOUNTER17HHPMCOUNTER18HHPMCOUNTER19HHPMCOUNTER20HHPMCOUNTER21HHPMCOUNTER22HHPMCOUNTER23HHPMCOUNTER24HHPMCOUNTER25HHPMCOUNTER26HHPMCOUNTER27HHPMCOUNTER28HHPMCOUNTER29HHPMCOUNTER30HHPMCOUNTER31HHGEIPMVENDORIDMARCHIDMIMPIDMHARTIDMENTROPY"
const arg_bimm12
const arg_c_bimm9
const arg_c_fs2
const arg_c_imm12
const arg_c_imm6
const arg_c_nzimm10
const arg_c_nzimm18
const arg_c_nzimm6
const arg_c_nzuimm10
const arg_c_nzuimm6
const arg_c_rs1_n0
const arg_c_rs2
const arg_c_rs2_n0
const arg_c_uimm7
const arg_c_uimm8
const arg_c_uimm8sp
const arg_c_uimm8sp_s
const arg_c_uimm9sp
const arg_c_uimm9sp_s
const arg_csr
const arg_fd
const arg_fd_p
const arg_fs1
const arg_fs2
const arg_fs2_p
const arg_fs3
const arg_imm12
const arg_imm20
const arg_jimm20
const arg_pred
const arg_rd
const arg_rd_n0
const arg_rd_n2
RISC-V Compressed Extension Args
const arg_rd_p
const arg_rd_rs1_n0
const arg_rd_rs1_p
const arg_rs1
const arg_rs1_amo
const arg_rs1_mem
const arg_rs1_n0
const arg_rs1_p
const arg_rs1_store
const arg_rs2
const arg_rs2_p
const arg_rs3
const arg_shamt5
const arg_shamt6
const arg_simm12
const arg_succ
const arg_zimm
var decoderCover []bool
var errShort = *ast.CallExpr
var errUnknown = *ast.CallExpr
var instFormats = [...]instFormat{...}
var opstr = [...]string{...}
An Args holds the instruction arguments. If an instruction has fewer than 6 arguments, the final elements in the array are nil.
type Args [6]Arg
A CSR is a single control and status register. Use stringer to generate CSR match table. go:generate stringer -type=CSR
type CSR uint16
A MemOrder is a memory order hint in fence instruction
type MemOrder uint8
An Op is a RISC-V opcode.
type Op uint16
A Reg is a single register. The zero value denotes X0, not the absence of a register.
type Reg uint16
type argType uint16
type argTypeList [6]argType
An Arg is a single instruction argument.
type Arg interface {
String() string
}
An AmoReg is an atomic address register used in AMO instructions
type AmoReg struct {
reg Reg
}
An Inst is a single instruction.
type Inst struct {
Op Op
Enc uint32
Args Args
Len int
}
A RegOffset is a register with offset value
type RegOffset struct {
OfsReg Reg
Ofs Simm
}
A Simm is a signed immediate number
type Simm struct {
Imm int32
Decimal bool
Width uint8
}
An Uimm is an unsigned immediate number
type Uimm struct {
Imm uint32
Decimal bool
}
An instFormat describes the format of an instruction encoding.
type instFormat struct {
mask uint32
value uint32
op Op
args argTypeList
}
Decode decodes the 4 bytes in src as a single instruction.
func Decode(src []byte) (Inst, error)
GNUSyntax returns the GNU assembler syntax for the instruction, as defined by GNU binutils. This form typically matches the syntax defined in the RISC-V Instruction Set Manual. See https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf
func GNUSyntax(inst Inst) string
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. The reader text should read from the text segment using text addresses as offsets; it is used to display pc-relative loads as constant loads.
func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64), text io.ReaderAt) string
func (si Simm) String() string
func (r Reg) String() string
func (amoReg AmoReg) String() string
func (regofs RegOffset) String() string
func (memOrder MemOrder) String() string
func (ui Uimm) String() string
func (i Inst) String() string
NOTE: The actual Op values are defined in tables.go.
func (op Op) String() string
func (i CSR) String() string
func _()
convertCompressedIns rewrites the RVC Instruction to regular Instructions
func convertCompressedIns(f *instFormat, args Args) Args
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 argType, x uint32, index int) Arg
func init()
func plan9Arg(inst *Inst, pc uint64, symname func(uint64) (string, uint64), arg Arg) string
Generated with Arrow