go/src/cmd/vendor/golang.org/x/arch/x86/x86asm/decode.go

const trace

type decodeOp

const xFail

const xMatch

const xJump

const xCondByte

const xCondSlashR

const xCondPrefix

const xCondIs64

const xCondDataSize

const xCondAddrSize

const xCondIsMem

const xSetOp

const xReadSlashR

const xReadIb

const xReadIw

const xReadId

const xReadIo

const xReadCb

const xReadCw

const xReadCd

const xReadCp

const xReadCm

const xArg1

const xArg3

const xArgAL

const xArgAX

const xArgCL

const xArgCR0dashCR7

const xArgCS

const xArgDR0dashDR7

const xArgDS

const xArgDX

const xArgEAX

const xArgEDX

const xArgES

const xArgFS

const xArgGS

const xArgImm16

const xArgImm32

const xArgImm64

const xArgImm8

const xArgImm8u

const xArgImm16u

const xArgM

const xArgM128

const xArgM256

const xArgM1428byte

const xArgM16

const xArgM16and16

const xArgM16and32

const xArgM16and64

const xArgM16colon16

const xArgM16colon32

const xArgM16colon64

const xArgM16int

const xArgM2byte

const xArgM32

const xArgM32and32

const xArgM32fp

const xArgM32int

const xArgM512byte

const xArgM64

const xArgM64fp

const xArgM64int

const xArgM8

const xArgM80bcd

const xArgM80dec

const xArgM80fp

const xArgM94108byte

const xArgMm

const xArgMm1

const xArgMm2

const xArgMm2M64

const xArgMmM32

const xArgMmM64

const xArgMem

const xArgMoffs16

const xArgMoffs32

const xArgMoffs64

const xArgMoffs8

const xArgPtr16colon16

const xArgPtr16colon32

const xArgR16

const xArgR16op

const xArgR32

const xArgR32M16

const xArgR32M8

const xArgR32op

const xArgR64

const xArgR64M16

const xArgR64op

const xArgR8

const xArgR8op

const xArgRAX

const xArgRDX

const xArgRM

const xArgRM16

const xArgRM32

const xArgRM64

const xArgRM8

const xArgReg

const xArgRegM16

const xArgRegM32

const xArgRegM8

const xArgRel16

const xArgRel32

const xArgRel8

const xArgSS

const xArgST

const xArgSTi

const xArgSreg

const xArgTR0dashTR7

const xArgXmm

const xArgXMM0

const xArgXmm1

const xArgXmm2

const xArgXmm2M128

const xArgYmm2M256

const xArgXmm2M16

const xArgXmm2M32

const xArgXmm2M64

const xArgXmmM128

const xArgXmmM32

const xArgXmmM64

const xArgYmm1

const xArgRmf16

const xArgRmf32

const xArgRmf64

// instPrefix returns an Inst describing just one prefix byte.
// It is only used if there is a prefix followed by an unintelligible
// or invalid instruction byte sequence.
func instPrefix(b byte, mode int) (Inst, error) {}

// truncated reports a truncated instruction.
// For now we use instPrefix but perhaps later we will return
// a specific error here.
func truncated(src []byte, mode int) (Inst, error) {}

var ErrInvalidMode

var ErrTruncated

var ErrUnrecognized

var decoderCover

// Decode decodes the leading bytes in src as a single instruction.
// The mode arguments specifies the assumed processor mode:
// 16, 32, or 64 for 16-, 32-, and 64-bit execution modes.
func Decode(src []byte, mode int) (inst Inst, err error) {}

// decode1 is the implementation of Decode but takes an extra
// gnuCompat flag to cause it to change its behavior to mimic
// bugs (or at least unique features) of GNU libopcodes as used
// by objdump. We don't believe that logic is the right thing to do
// in general, but when testing against libopcodes it simplifies the
// comparison if we adjust a few small pieces of logic.
// The affected logic is in the conditional branch for "mandatory" prefixes,
// case xCondPrefix.
func decode1(src []byte, mode int, gnuCompat bool) (Inst, error) {}

var errInternal

var addr16

// baseRegForBits returns the base register for a given register size in bits.
func baseRegForBits(bits int) Reg {}

var baseReg

// prefixToSegment returns the segment register
// corresponding to a particular segment prefix.
func prefixToSegment(p Prefix) Reg {}

var fixedArg

var memBytes

var isCondJmp

var isLoop