...

Package s390xasm

import "cmd/vendor/golang.org/x/arch/s390x/s390xasm"
Overview
Index

Overview ▾

Index ▾

func GNUSyntax(inst Inst, pc uint64) string
func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64)) string
func HandleExtndMnemonic(inst *Inst) string
type Arg
type ArgType
    func (t ArgType) GoString() string
    func (t ArgType) String() string
type Args
type Base
    func (Base) IsArg()
    func (r Base) String(pc uint64) string
type BitField
    func (b BitField) Parse(i uint64) uint64
    func (b BitField) ParseSigned(i uint64) int64
    func (b BitField) String() string
type Disp12
    func (Disp12) IsArg()
    func (r Disp12) String(pc uint64) string
type Disp20
    func (Disp20) IsArg()
    func (r Disp20) String(pc uint64) string
type Imm
    func (Imm) IsArg()
    func (i Imm) String(pc uint64) string
type Index
    func (Index) IsArg()
    func (r Index) String(pc uint64) string
type Inst
    func Decode(src []byte) (inst Inst, err error)
    func (i Inst) String(pc uint64) string
type Len
    func (Len) IsArg()
    func (i Len) String(pc uint64) string
type Mask
    func (Mask) IsArg()
    func (i Mask) String(pc uint64) string
type Op
    func (o Op) String() string
type Reg
    func (Reg) IsArg()
    func (r Reg) String(pc uint64) string
type RegIm12
    func (RegIm12) IsArg()
    func (r RegIm12) String(pc uint64) string
type RegIm16
    func (RegIm16) IsArg()
    func (r RegIm16) String(pc uint64) string
type RegIm24
    func (RegIm24) IsArg()
    func (r RegIm24) String(pc uint64) string
type RegIm32
    func (RegIm32) IsArg()
    func (r RegIm32) String(pc uint64) string
type Sign16
    func (Sign16) IsArg()
    func (i Sign16) String(pc uint64) string
type Sign32
    func (Sign32) IsArg()
    func (i Sign32) String(pc uint64) string
type Sign8
    func (Sign8) IsArg()
    func (i Sign8) String(pc uint64) string
type VReg
    func (VReg) IsArg()
    func (r VReg) String(pc uint64) string

Package files

decode.go field.go gnu.go inst.go plan9.go tables.go

func GNUSyntax

func GNUSyntax(inst Inst, pc uint64) string

This is the function that is called to print the disassembled instruction in the GNU (AT&T) syntax form.

func GoSyntax

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

GoSyntax returns the Go assembler syntax for the instruction. The syntax was originally defined by Plan 9. The inst relates to single instruction. 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 HandleExtndMnemonic

func HandleExtndMnemonic(inst *Inst) string

"func Handleextndmnemonic" - This is the function where the extended mnemonic logic is implemented. This function defines various structures to keep a list of base instructions and their extended mnemonic strings. These structure will also have M-field values and offset values defined, based on their type. HandleExtndMnemonic takes "inst" structure as the input variable. Inst structure will have all the details related to an instruction. Based on the opcode base string, a switch-case statement is executed. In that, based on the M-field value and the offset value of that particular M-field, extended mnemonic string is either searched or constructed by adding couple of extra strings to the base opcode string from one of the structure defined below.

type Arg

An Arg is a single instruction argument. One of these types: Reg, Base, Index, Disp20, Disp12, Len, Mask, Sign8, Sign16, Sign32, RegIm12, RegIm16, RegIm24, RegIm32.

type Arg interface {
    IsArg()
    String(pc uint64) string
}

type ArgType

type ArgType int8
const (
    TypeUnknown       ArgType = iota
    TypeReg                   // integer register
    TypeFPReg                 // floating point register
    TypeACReg                 // access register
    TypeCReg                  // control register
    TypeVecReg                // vector register
    TypeImmUnsigned           // unsigned immediate/flag/mask, this is the catch-all type
    TypeImmSigned8            // Signed 8-bit Immdediate
    TypeImmSigned16           // Signed 16-bit Immdediate
    TypeImmSigned32           // Signed 32-bit Immdediate
    TypeBaseReg               // Base Register for accessing memory
    TypeIndexReg              // Index Register
    TypeDispUnsigned          // Displacement 12-bit unsigned for memory address
    TypeDispSigned20          // Displacement 20-bit signed for memory address
    TypeRegImSigned12         // RegisterImmediate 12-bit signed data
    TypeRegImSigned16         // RegisterImmediate 16-bit signed data
    TypeRegImSigned24         // RegisterImmediate 24-bit signed data
    TypeRegImSigned32         // RegisterImmediate 32-bit signed data
    TypeMask                  // 4-bit Mask
    TypeLen                   // Length of Memory Operand
    TypeLast
)

func (ArgType) GoString

func (t ArgType) GoString() string

func (ArgType) String

func (t ArgType) String() string

type Args

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

type Args [8]Arg

type Base

Base represents an 4-bit Base Register field

type Base uint8
const (
    B0 Base = iota
    B1
    B2
    B3
    B4
    B5
    B6
    B7
    B8
    B9
    B10
    B11
    B12
    B13
    B14
    B15
)

func (Base) IsArg

func (Base) IsArg()

func (Base) String

func (r Base) String(pc uint64) string

type BitField

A BitField is a bit-field in a 64-bit double word. Bits are counted from 0 from the MSB to 63 as the LSB.

type BitField struct {
    Offs uint8 // the offset of the left-most bit.
    Bits uint8 // length in bits.
}

func (BitField) Parse

func (b BitField) Parse(i uint64) uint64

Parse extracts the bitfield b from i, and return it as an unsigned integer. Parse will panic if b is invalid.

func (BitField) ParseSigned

func (b BitField) ParseSigned(i uint64) int64

ParseSigned extracts the bitfield b from i, and return it as a signed integer. ParseSigned will panic if b is invalid.

func (BitField) String

func (b BitField) String() string

type Disp12

Disp12 represents an 12-bit Unsigned Displacement

type Disp12 uint16

func (Disp12) IsArg

func (Disp12) IsArg()

func (Disp12) String

func (r Disp12) String(pc uint64) string

type Disp20

Disp20 represents an 20-bit Unsigned Displacement

type Disp20 uint32

func (Disp20) IsArg

func (Disp20) IsArg()

func (Disp20) String

func (r Disp20) String(pc uint64) string

type Imm

Imm represents an immediate number.

type Imm uint32

func (Imm) IsArg

func (Imm) IsArg()

func (Imm) String

func (i Imm) String(pc uint64) string

type Index

Index represents an 4-bit Index Register field

type Index uint8
const (
    X0 Index = iota
    X1
    X2
    X3
    X4
    X5
    X6
    X7
    X8
    X9
    X10
    X11
    X12
    X13
    X14
    X15
)

func (Index) IsArg

func (Index) IsArg()

func (Index) String

func (r Index) String(pc uint64) string

type Inst

type Inst struct {
    Op   Op     // Opcode mnemonic
    Enc  uint64 // Raw encoding bits
    Len  int    // Length of encoding in bytes.
    Args Args   // Instruction arguments, in s390x ISA manual order.
}

func Decode

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

Decode decodes the leading bytes in src as a single instruction using byte order ord.

func (Inst) String

func (i Inst) String(pc uint64) string

type Len

Len represents an 8-bit type holds 4/8-bit Len argument

type Len uint8

func (Len) IsArg

func (Len) IsArg()

func (Len) String

func (i Len) String(pc uint64) string

type Mask

Mask represents an 4-bit mask value

type Mask uint8

func (Mask) IsArg

func (Mask) IsArg()

func (Mask) String

func (i Mask) String(pc uint64) string

type Op

An Op is an instruction operation.

type Op uint16
const (
    A Op
    AR
    ARK
    AY
    AG
    AGR
    AGRK
    AGF
    AGFR
    AXBR
    AXTR
    AXTRA
    ADB
    ADBR
    ADTR
    ADTRA
    AEB
    AEBR
    AP
    AH
    AHY
    AGH
    AHI
    AGHI
    AHHHR
    AHHLR
    AFI
    AHIK
    ASI
    AGHIK
    AGFI
    AGSI
    AIH
    AL
    ALR
    ALRK
    ALY
    ALG
    ALGR
    ALGRK
    ALGF
    ALGFR
    ALHHHR
    ALHHLR
    ALFI
    ALGFI
    ALC
    ALCR
    ALCG
    ALCGR
    ALHSIK
    ALSI
    ALGHSIK
    ALGSI
    ALSIH
    ALSIHN
    AXR
    
    ADR
    AE
    AER
    AW
    AWR
    AU
    AUR
    N
    NR
    NRK
    NY
    NG
    NGR
    NGRK
    NC
    NI
    NIY
    NIHH
    NIHL
    NIHF
    NILH
    NILL
    NILF
    NCRK
    NCGRK
    BAL
    BALR
    BAS
    BASR
    BASSM
    BSA
    BSM
    BAKR
    BSG
    BIC
    BC
    BCR
    BCT
    BCTR
    BCTG
    BCTGR
    BXH
    BXHG
    BXLE
    BXLEG
    BPP
    BPRP
    BRAS
    BRASL
    BRC
    BRCL
    BRCT
    BRCTG
    BRCTH
    BRXH
    BRXHG
    BRXLE
    BRXLG
    XSCH
    CKSM
    KM
    KMA
    KMC
    KMF
    KMCTR
    KMO
    CSCH
    C
    CR
    CY
    CG
    CGR
    CGF
    CGFR
    CXBR
    CXTR
    CXR
    CDB
    CDBR
    CDTR
    CD
    CDR
    CEB
    CEBR
    CE
    CER
    CRB
    CGRB
    CRJ
    CGRJ
    CFC
    CRDTE
    KXBR
    KXTR
    KDB
    KDBR
    KDTR
    KEB
    KEBR
    CS
    CSY
    CSG
    CSP
    CSPG
    CSST
    CRT
    CGRT
    CEXTR
    CEDTR
    CP
    CDS
    CDSY
    CDSG
    CH
    CHY
    CGH
    CHHSI
    CHI
    CHSI
    CGHI
    CGHSI
    CHRL
    CGHRL
    CHF
    CHHR
    CHLR
    CFI
    CGFI
    CIB
    CGIB
    CIJ
    CGIJ
    CIT
    CGIT
    CIH
    CL
    CLR
    CLY
    CLG
    CLGR
    CLGF
    CLGFR
    CLC
    CLI
    CLIY
    CLRB
    CLGRB
    CLRJ
    CLGRJ
    CLRT
    CLT
    CLGRT
    CLGT
    CLMH
    CLM
    CLMY
    CLHF
    CLHHR
    CLHLR
    CLHHSI
    CLFI
    CLFHSI
    CLGHSI
    CLGFI
    CLIB
    CLGIB
    CLIJ
    CLGIJ
    CLFIT
    CLGIT
    CLIH
    CLCL
    CLCLE
    CLCLU
    CLRL
    CLHRL
    CLGRL
    CLGHRL
    CLGFRL
    CLST
    CRL
    CGRL
    CGFRL
    CUSE
    CMPSC
    KDSA
    KIMD
    KLMD
    KMAC
    THDR
    THDER
    CXFBR
    CXFBRA
    CXFTR
    CXFR
    CDFBR
    CDFBRA
    CDFTR
    CDFR
    CEFBR
    CEFBRA
    CEFR
    CXGBR
    CXGBRA
    CXGTR
    CXGTRA
    CXGR
    CDGBR
    CDGBRA
    CDGTR
    CDGTRA
    CDGR
    CEGBR
    CEGBRA
    CEGR
    CXLFBR
    CXLFTR
    CDLFBR
    CDLFTR
    CELFBR
    CXLGBR
    CXLGTR
    CDLGBR
    CDLGTR
    CELGBR
    CXPT
    CDPT
    CXSTR
    CDSTR
    CXUTR
    CDUTR
    CXZT
    CDZT
    TBEDR
    TBDR
    CVB
    CVBY
    CVBG
    CVD
    CVDY
    CVDG
    CFXBR
    CFXBRA
    CGXBR
    CGXBRA
    CFXTR
    CGXTR
    CGXTRA
    CFXR
    CGXR
    CFDBR
    CFDBRA
    CGDBR
    CGDBRA
    CFDTR
    CGDTR
    CGDTRA
    CFDR
    CGDR
    CFEBR
    CFEBRA
    CGEBR
    CGEBRA
    CFER
    CGER
    CLFXBR
    CLGXBR
    CLFXTR
    CLGXTR
    CLFDBR
    CLGDBR
    CLFDTR
    CLGDTR
    CLFEBR
    CLGEBR
    CPXT
    CPDT
    CSXTR
    CSDTR
    CUXTR
    CUDTR
    CZXT
    CZDT
    CU24
    CU21
    CU12
    CU14
    CU42
    CU41
    CPYA
    CPSDR
    VSCSHP
    VSCHP
    DFLTCC
    D
    DR
    DXBR
    DXTR
    DXTRA
    DXR
    DDB
    DDBR
    DDTR
    DDTRA
    DD
    DDR
    DEB
    DEBR
    DE
    DER
    DP
    DL
    DLR
    DLG
    DLGR
    DSG
    DSGR
    DSGF
    DSGFR
    DIDBR
    DIEBR
    ED
    EDMK
    X
    XR
    XRK
    XY
    XG
    XGR
    XGRK
    XC
    XI
    XIY
    XIHF
    XILF
    EX
    EXRL
    EAR
    ESEA
    EEXTR
    EEDTR
    ECAG
    ECTG
    EFPC
    EPAR
    EPAIR
    EPSW
    ESAR
    ESAIR
    ESXTR
    ESDTR
    EREG
    EREGG
    ESTA
    ETND
    FLOGR
    HSCH
    HDR
    HER
    IAC
    IEXTR
    IEDTR
    IC
    ICY
    ICMH
    ICM
    ICMY
    IIHH
    IIHL
    IIHF
    IILH
    IILL
    IILF
    IPM
    IPK
    IRBM
    ISKE
    IVSK
    IDTE
    IPTE
    L
    LR
    LY
    LG
    LGR
    LGF
    LGFR
    LXR
    LD
    LDR
    LDY
    LE
    LER
    LEY
    LAM
    LAMY
    LA
    LAY
    LAE
    LAEY
    LARL
    LASP
    LAA
    LAAG
    LAAL
    LAALG
    LAN
    LANG
    LAX
    LAXG
    LAO
    LAOG
    LT
    LTR
    LTG
    LTGR
    LTGF
    LTGFR
    LTXBR
    LTXTR
    LTXR
    LTDBR
    LTDTR
    LTDR
    LTEBR
    LTER
    LAT
    LGAT
    LZRF
    LZRG
    LBEAR
    LB
    LBR
    LGB
    LGBR
    LBH
    LCR
    LCGR
    LCGFR
    LCXBR
    LCXR
    LCDBR
    LCDR
    LCDFR
    LCEBR
    LCER
    LCTL
    LCTLG
    LCBB
    FIXBR
    FIXBRA
    FIXTR
    FIXR
    FIDBR
    FIDBRA
    FIDTR
    FIDR
    FIEBR
    FIEBRA
    FIER
    LFPC
    LFAS
    LDGR
    LGDR
    LGG
    LGSC
    LH
    LHR
    LHY
    LGH
    LGHR
    LHH
    LOCHHI
    LHI
    LGHI
    LOCHI
    LOCGHI
    LHRL
    LGHRL
    LFH
    LFHAT
    LOCFH
    LOCFHR
    LGFI
    LXDB
    LXDBR
    LXDTR
    LXD
    LXDR
    LXEB
    LXEBR
    LXE
    LXER
    LDEB
    LDEBR
    LDETR
    LDE
    LDER
    LLGF
    LLGFR
    LLGFSG
    LLGFAT
    LLZRGF
    LLC
    LLCR
    LLGC
    LLGCR
    LLCH
    LLH
    LLHR
    LLGH
    LLGHR
    LLHH
    LLHRL
    LLGHRL
    LLIHH
    LLIHL
    LLIHF
    LLILH
    LLILL
    LLILF
    LLGFRL
    LLGT
    LLGTR
    LLGTAT
    LM
    LMY
    LMG
    LMD
    LMH
    LNR
    LNGR
    LNGFR
    LNXBR
    LNXR
    LNDBR
    LNDR
    LNDFR
    LNEBR
    LNER
    LOC
    LOCR
    LOCG
    LOCGR
    LPTEA
    LPD
    LPDG
    LPQ
    LPR
    LPGR
    LPGFR
    LPXBR
    LPXR
    LPDBR
    LPDR
    LPDFR
    LPEBR
    LPER
    LPSW
    LPSWE
    LPSWEY
    LRA
    LRAY
    LRAG
    LRL
    LGRL
    LGFRL
    LRVH
    LRV
    LRVR
    LRVG
    LRVGR
    LDXBR
    LDXBRA
    LDXTR
    LDXR
    LRDR
    LEXBR
    LEXBRA
    LEXR
    LEDBR
    LEDBRA
    LEDTR
    LEDR
    LRER
    LURA
    LURAG
    LZXR
    LZDR
    LZER
    MSTA
    MSCH
    MC
    MVHHI
    MVHI
    MVGHI
    MVC
    MVI
    MVIY
    MVCIN
    MVCL
    MVCLE
    MVCLU
    MVN
    MVPG
    MVCRL
    MVST
    MVCP
    MVCS
    MVCDK
    MVCK
    MVO
    MVCOS
    MVCSK
    MVZ
    MG
    MGRK
    M
    MFY
    MR
    MXBR
    MXTR
    MXTRA
    MXR
    MDB
    MDBR
    MDTR
    MDTRA
    MD
    MDR
    MXDB
    MXDBR
    MXD
    MXDR
    MEEB
    MEEBR
    MEE
    MEER
    MDEB
    MDEBR
    MDE
    MDER
    ME
    MER
    MAY
    MAYR
    MADB
    MADBR
    MAD
    MADR
    MAEB
    MAEBR
    MAE
    MAER
    MAYH
    MAYHR
    MAYL
    MAYLR
    MSDB
    MSDBR
    MSD
    MSDR
    MSEB
    MSEBR
    MSE
    MSER
    MP
    MH
    MHY
    MGH
    MHI
    MGHI
    MLG
    MLGR
    ML
    MLR
    MS
    MSC
    MSR
    MSRKC
    MSY
    MSG
    MSGC
    MSGR
    MSGRKC
    MSGF
    MSGFR
    MSFI
    MSGFI
    MYH
    MYHR
    MYL
    MYLR
    MY
    MYR
    NNRK
    NNGRK
    NNPA
    NIAI
    NTSTG
    NORK
    NOGRK
    NXRK
    NXGRK
    O
    OR
    ORK
    OY
    OG
    OGR
    OGRK
    OC
    OI
    OIY
    OIHH
    OIHL
    OIHF
    OILH
    OILL
    OILF
    OCRK
    OCGRK
    PACK
    PKA
    PKU
    PGIN
    PGOUT
    PCC
    PCKMO
    PFPO
    PFMF
    PLO
    PPA
    PRNO
    PTFF
    PTF
    POPCNT
    PFD
    PFDRL
    PC
    PR
    PT
    PTI
    PALB
    PTLB
    QAXTR
    QADTR
    QPACI
    RRXTR
    RRDTR
    RCHP
    RDP
    RRBE
    RRBM
    RP
    RSCH
    RLL
    RLLG
    RNSBG
    RXSBG
    RISBG
    RISBGN
    RISBHG
    RISBLG
    ROSBG
    SRST
    SRSTU
    SELR
    SELGR
    SELFHR
    SAR
    SAL
    SAC
    SACF
    SAM24
    SAM31
    SAM64
    SRNM
    SRNMB
    SCHM
    SCK
    SCKC
    SCKPF
    SPT
    SRNMT
    SFPC
    SFASR
    SPX
    SPM
    SPKA
    SSAR
    SSAIR
    SSKE
    SSM
    SRP
    SLDA
    SLDL
    SLA
    SLAK
    SLAG
    SLL
    SLLK
    SLLG
    SRDA
    SRDL
    SRA
    SRAK
    SRAG
    SRL
    SRLK
    SRLG
    SLXT
    SLDT
    SRXT
    SRDT
    SIGP
    SORTL
    SQXBR
    SQXR
    SQDB
    SQDBR
    SQD
    SQDR
    SQEB
    SQEBR
    SQE
    SQER
    SSCH
    ST
    STY
    STG
    STD
    STDY
    STE
    STEY
    STAM
    STAMY
    STBEAR
    STCPS
    STCRW
    STC
    STCY
    STCH
    STCMH
    STCM
    STCMY
    STCK
    STCKC
    STCKE
    STCKF
    STCTL
    STCTG
    STAP
    STIDP
    STPT
    STFL
    STFLE
    STFPC
    STGSC
    STH
    STHY
    STHH
    STHRL
    STFH
    STOCFH
    STM
    STMY
    STMG
    STMH
    STOC
    STOCG
    STPQ
    STPX
    STRAG
    STRL
    STGRL
    STRVH
    STRV
    STRVG
    STSCH
    STSI
    STNSM
    STOSM
    STURA
    STURG
    S
    SR
    SRK
    SY
    SG
    SGR
    SGRK
    SGF
    SGFR
    SXBR
    SXTR
    SXTRA
    SDB
    SDBR
    SDTR
    SDTRA
    SEB
    SEBR
    SP
    SH
    SHY
    SGH
    SHHHR
    SHHLR
    SL
    SLR
    SLRK
    SLY
    SLG
    SLGR
    SLGRK
    SLGF
    SLGFR
    SLHHHR
    SLHHLR
    SLFI
    SLGFI
    SLB
    SLBR
    SLBG
    SLBGR
    SXR
    SD
    SDR
    SE
    SER
    SW
    SWR
    SU
    SUR
    SVC
    TAR
    TAM
    TS
    TB
    TCXB
    TDCXT
    TCDB
    TDCDT
    TCEB
    TDCET
    TDGXT
    TDGDT
    TDGET
    TP
    TPEI
    TPI
    TPROT
    TSCH
    TM
    TMY
    TMHH
    TMHL
    TMLH
    TMLL
    TMH
    TML
    TRACE
    TRACG
    TABORT
    TBEGINC
    TBEGIN
    TEND
    TR
    TRT
    TRTE
    TRTR
    TRTRE
    TRE
    TROO
    TROT
    TRTO
    TRTT
    TRAP2
    TRAP4
    UNPK
    UNPKA
    UNPKU
    UPT
    VA
    VACC
    VAP
    VAC
    VACCC
    VN
    VNC
    VAVG
    VAVGL
    VBPERM
    VCKSM
    VCP
    VCEQ
    VCH
    VCHL
    VCSPH
    VCVB
    VCVBG
    VCVD
    VCVDG
    VCLZDP
    VCLZ
    VCTZ
    VDP
    VEC
    VECL
    VERIM
    VERLL
    VERLLV
    VESLV
    VESL
    VESRA
    VESRAV
    VESRL
    VESRLV
    VX
    VFAE
    VFEE
    VFENE
    VFA
    WFK
    VFCE
    VFCH
    VFCHE
    WFC
    VCLFNH
    VCLFNL
    VCRNF
    VCFPS
    VCDG
    VCFPL
    VCDLG
    VCFN
    VCSFP
    VCGD
    VCLFP
    VCLGD
    VCNF
    VFD
    VFLL
    VFLR
    VFMAX
    VFMIN
    VFM
    VFMA
    VFMS
    VFNMA
    VFNMS
    VFPSO
    VFSQ
    VFS
    VFTCI
    VGFM
    VGFMA
    VGEF
    VGEG
    VGBM
    VGM
    VISTR
    VL
    VLR
    VLREP
    VLEBRH
    VLEBRF
    VLEBRG
    VLBRREP
    VLLEBRZ
    VLBR
    VLC
    VLEH
    VLEF
    VLEG
    VLEB
    VLEIH
    VLEIF
    VLEIG
    VLEIB
    VLER
    VFI
    VLGV
    VLIP
    VLLEZ
    VLM
    VLP
    VLRL
    VLRLR
    VLBB
    VLVG
    VLVGP
    VLL
    VMX
    VMXL
    VMRH
    VMRL
    VMN
    VMNL
    VMAE
    VMAH
    VMALE
    VMALH
    VMALO
    VMAL
    VMAO
    VMSP
    VMP
    VME
    VMH
    VMLE
    VMLH
    VMLO
    VML
    VMO
    VMSL
    VNN
    VNO
    VNX
    VO
    VOC
    VPK
    VPKLS
    VPKS
    VPKZ
    VPKZR
    VPSOP
    VPERM
    VPDI
    VPOPCT
    VRP
    VREP
    VREPI
    VSCEF
    VSCEG
    VSEL
    VSDP
    VSRP
    VSRPR
    VSL
    VSLB
    VSLD
    VSLDB
    VSRA
    VSRAB
    VSRD
    VSRL
    VSRLB
    VSEG
    VST
    VSTEBRH
    VSTEBRF
    VSTEBRG
    VSTBR
    VSTEH
    VSTEF
    VSTEG
    VSTEB
    VSTER
    VSTM
    VSTRL
    VSTRLR
    VSTL
    VSTRC
    VSTRS
    VS
    VSCBI
    VSP
    VSBCBI
    VSBI
    VSUMG
    VSUMQ
    VSUM
    VTP
    VTM
    VUPH
    VUPLH
    VUPLL
    VUPL
    VUPKZ
    VUPKZH
    VUPKZL
    ZAP
)

func (Op) String

func (o Op) String() string

type Reg

A Reg is a single register. The zero value means R0, not the absence of a register. It also includes special registers.

type Reg uint16
const (
    R0 Reg = iota
    R1
    R2
    R3
    R4
    R5
    R6
    R7
    R8
    R9
    R10
    R11
    R12
    R13
    R14
    R15
    F0
    F1
    F2
    F3
    F4
    F5
    F6
    F7
    F8
    F9
    F10
    F11
    F12
    F13
    F14
    F15
    A0
    A1
    A2
    A3
    A4
    A5
    A6
    A7
    A8
    A9
    A10
    A11
    A12
    A13
    A14
    A15
    C0
    C1
    C2
    C3
    C4
    C5
    C6
    C7
    C8
    C9
    C10
    C11
    C12
    C13
    C14
    C15
)

func (Reg) IsArg

func (Reg) IsArg()

func (Reg) String

func (r Reg) String(pc uint64) string

type RegIm12

RegIm12 represents an 12-bit Register immediate number.

type RegIm12 uint16

func (RegIm12) IsArg

func (RegIm12) IsArg()

func (RegIm12) String

func (r RegIm12) String(pc uint64) string

type RegIm16

RegIm16 represents an 16-bit Register immediate number.

type RegIm16 uint16

func (RegIm16) IsArg

func (RegIm16) IsArg()

func (RegIm16) String

func (r RegIm16) String(pc uint64) string

type RegIm24

RegIm24 represents an 24-bit Register immediate number.

type RegIm24 uint32

func (RegIm24) IsArg

func (RegIm24) IsArg()

func (RegIm24) String

func (r RegIm24) String(pc uint64) string

type RegIm32

RegIm32 represents an 32-bit Register immediate number.

type RegIm32 uint32

func (RegIm32) IsArg

func (RegIm32) IsArg()

func (RegIm32) String

func (r RegIm32) String(pc uint64) string

type Sign16

Sign16 represents an 16-bit signed immediate number.

type Sign16 int16

func (Sign16) IsArg

func (Sign16) IsArg()

func (Sign16) String

func (i Sign16) String(pc uint64) string

type Sign32

Sign32 represents an 32-bit signed immediate number.

type Sign32 int32

func (Sign32) IsArg

func (Sign32) IsArg()

func (Sign32) String

func (i Sign32) String(pc uint64) string

type Sign8

Sign8 represents an 8-bit signed immediate number.

type Sign8 int8

func (Sign8) IsArg

func (Sign8) IsArg()

func (Sign8) String

func (i Sign8) String(pc uint64) string

type VReg

type VReg uint8
const (
    V0 VReg = iota
    V1
    V2
    V3
    V4
    V5
    V6
    V7
    V8
    V9
    V10
    V11
    V12
    V13
    V14
    V15
    V16
    V17
    V18
    V19
    V20
    V21
    V22
    V23
    V24
    V25
    V26
    V27
    V28
    V29
    V30
    V31
)

func (VReg) IsArg

func (VReg) IsArg()

func (VReg) String

func (r VReg) String(pc uint64) string