Documentation ¶
Index ¶
Constants ¶
View Source
const ( AAAA = obj.ABaseAMD64 + obj.A_ARCHSPECIFIC + iota AAAD AAAM AAAS AADCB AADCL AADCW AADDB AADDL AADDW AADJSP AANDB AANDL AANDW AARPL ABOUNDL ABOUNDW ABSFL ABSFW ABSRL ABSRW ABTL ABTW ABTCL ABTCW ABTRL ABTRW ABTSL ABTSW ABYTE ACLC ACLD ACLI ACLTS ACMC ACMPB ACMPL ACMPW ACMPSB ACMPSL ACMPSW ADAA ADAS ADECB ADECL ADECQ ADECW ADIVB ADIVL ADIVW AENTER AHLT AIDIVB AIDIVL AIDIVW AIMULB AIMULL AIMULW AINB AINL AINW AINCB AINCL AINCQ AINCW AINSB AINSL AINSW AINT AINTO AIRETL AIRETW AJCC AJCS AJCXZL AJEQ AJGE AJGT AJHI AJLE AJLS AJLT AJMI AJNE AJOC AJOS AJPC AJPL AJPS ALAHF ALARL ALARW ALEAL ALEAW ALEAVEL ALEAVEW ALOCK ALODSB ALODSL ALODSW ALONG ALOOP ALOOPEQ ALOOPNE ALSLL ALSLW AMOVB AMOVL AMOVW AMOVBLSX AMOVBLZX AMOVBQSX AMOVBQZX AMOVBWSX AMOVBWZX AMOVWLSX AMOVWLZX AMOVWQSX AMOVWQZX AMOVSB AMOVSL AMOVSW AMULB AMULL AMULW ANEGB ANEGL ANEGW ANOTB ANOTL ANOTW AORB AORL AORW AOUTB AOUTL AOUTW AOUTSB AOUTSL AOUTSW APAUSE APOPAL APOPAW APOPFL APOPFW APOPL APOPW APUSHAL APUSHAW APUSHFL APUSHFW APUSHL APUSHW ARCLB ARCLL ARCLW ARCRB ARCRL ARCRW AREP AREPN AROLB AROLL AROLW ARORB ARORL ARORW ASAHF ASALB ASALL ASALW ASARB ASARL ASARW ASBBB ASBBL ASBBW ASCASB ASCASL ASCASW ASETCC ASETCS ASETEQ ASETGE ASETGT ASETHI ASETLE ASETLS ASETLT ASETMI ASETNE ASETOC ASETOS ASETPC ASETPL ASETPS ACDQ ACWD ASHLB ASHLL ASHLW ASHRB ASHRL ASHRW ASTC ASTD ASTI ASTOSB ASTOSL ASTOSW ASUBB ASUBL ASUBW ASYSCALL ATESTB ATESTL ATESTW AVERR AVERW AWAIT AWORD AXCHGB AXCHGL AXCHGW AXLAT AXORB AXORL AXORW AFMOVB AFMOVBP AFMOVD AFMOVDP AFMOVF AFMOVFP AFMOVL AFMOVLP AFMOVV AFMOVVP AFMOVW AFMOVWP AFMOVX AFMOVXP AFCOMB AFCOMBP AFCOMD AFCOMDP AFCOMDPP AFCOMF AFCOMFP AFCOML AFCOMLP AFCOMW AFCOMWP AFUCOM AFUCOMP AFUCOMPP AFADDDP AFADDW AFADDL AFADDF AFADDD AFMULDP AFMULW AFMULL AFMULF AFMULD AFSUBDP AFSUBW AFSUBL AFSUBF AFSUBD AFSUBRDP AFSUBRW AFSUBRL AFSUBRF AFSUBRD AFDIVDP AFDIVW AFDIVL AFDIVF AFDIVD AFDIVRDP AFDIVRW AFDIVRL AFDIVRF AFDIVRD AFXCHD AFFREE AFLDCW AFLDENV AFRSTOR AFSAVE AFSTCW AFSTENV AFSTSW AF2XM1 AFABS AFCHS AFCLEX AFCOS AFDECSTP AFINCSTP AFINIT AFLD1 AFLDL2E AFLDL2T AFLDLG2 AFLDLN2 AFLDPI AFLDZ AFNOP AFPATAN AFPREM AFPREM1 AFPTAN AFRNDINT AFSCALE AFSIN AFSINCOS AFSQRT AFTST AFXAM AFXTRACT AFYL2X AFYL2XP1 // extra 32-bit operations ACMPXCHGB ACMPXCHGL ACMPXCHGW ACMPXCHG8B ACPUID AINVD AINVLPG ALFENCE AMFENCE AMOVNTIL ARDMSR ARDPMC ARDTSC ARSM ASFENCE ASYSRET AWBINVD AWRMSR AXADDB AXADDL AXADDW // conditional move ACMOVLCC ACMOVLCS ACMOVLEQ ACMOVLGE ACMOVLGT ACMOVLHI ACMOVLLE ACMOVLLS ACMOVLLT ACMOVLMI ACMOVLNE ACMOVLOC ACMOVLOS ACMOVLPC ACMOVLPL ACMOVLPS ACMOVQCC ACMOVQCS ACMOVQEQ ACMOVQGE ACMOVQGT ACMOVQHI ACMOVQLE ACMOVQLS ACMOVQLT ACMOVQMI ACMOVQNE ACMOVQOC ACMOVQOS ACMOVQPC ACMOVQPL ACMOVQPS ACMOVWCC ACMOVWCS ACMOVWEQ ACMOVWGE ACMOVWGT ACMOVWHI ACMOVWLE ACMOVWLS ACMOVWLT ACMOVWMI ACMOVWNE ACMOVWOC ACMOVWOS ACMOVWPC ACMOVWPL ACMOVWPS // 64-bit AADCQ AADDQ AANDQ ABSFQ ABSRQ ABTCQ ABTQ ABTRQ ABTSQ ACMPQ ACMPSQ ACMPXCHGQ ACQO ADIVQ AIDIVQ AIMULQ AIRETQ AJCXZQ ALEAQ ALEAVEQ ALODSQ AMOVQ AMOVLQSX AMOVLQZX AMOVNTIQ AMOVSQ AMULQ ANEGQ ANOTQ AORQ APOPFQ APOPQ APUSHFQ APUSHQ ARCLQ ARCRQ AROLQ ARORQ AQUAD ASALQ ASARQ ASBBQ ASCASQ ASHLQ ASHRQ ASTOSQ ASUBQ ATESTQ AXADDQ AXCHGQ AXORQ // media AADDPD AADDPS AADDSD AADDSS AANDNPD AANDNPS AANDPD AANDPS ACMPPD ACMPPS ACMPSD ACMPSS ACOMISD ACOMISS ACVTPD2PL ACVTPD2PS ACVTPL2PD ACVTPL2PS ACVTPS2PD ACVTPS2PL ACVTSD2SL ACVTSD2SQ ACVTSD2SS ACVTSL2SD ACVTSL2SS ACVTSQ2SD ACVTSQ2SS ACVTSS2SD ACVTSS2SL ACVTSS2SQ ACVTTPD2PL ACVTTPS2PL ACVTTSD2SL ACVTTSD2SQ ACVTTSS2SL ACVTTSS2SQ ADIVPD ADIVPS ADIVSD ADIVSS AEMMS AFXRSTOR AFXRSTOR64 AFXSAVE AFXSAVE64 ALDMXCSR AMASKMOVOU AMASKMOVQ AMAXPD AMAXPS AMAXSD AMAXSS AMINPD AMINPS AMINSD AMINSS AMOVAPD AMOVAPS AMOVOU AMOVHLPS AMOVHPD AMOVHPS AMOVLHPS AMOVLPD AMOVLPS AMOVMSKPD AMOVMSKPS AMOVNTO AMOVNTPD AMOVNTPS AMOVNTQ AMOVO AMOVQOZX AMOVSD AMOVSS AMOVUPD AMOVUPS AMULPD AMULPS AMULSD AMULSS AORPD AORPS APACKSSLW APACKSSWB APACKUSWB APADDB APADDL APADDQ APADDSB APADDSW APADDUSB APADDUSW APADDW APANDB APANDL APANDSB APANDSW APANDUSB APANDUSW APANDW APAND APANDN APAVGB APAVGW APCMPEQB APCMPEQL APCMPEQW APCMPGTB APCMPGTL APCMPGTW APEXTRW APFACC APFADD APFCMPEQ APFCMPGE APFCMPGT APFMAX APFMIN APFMUL APFNACC APFPNACC APFRCP APFRCPIT1 APFRCPI2T APFRSQIT1 APFRSQRT APFSUB APFSUBR APINSRW APINSRD APINSRQ APMADDWL APMAXSW APMAXUB APMINSW APMINUB APMOVMSKB APMULHRW APMULHUW APMULHW APMULLW APMULULQ APOR APSADBW APSHUFHW APSHUFL APSHUFLW APSHUFW APSHUFB APSLLO APSLLL APSLLQ APSLLW APSRAL APSRAW APSRLO APSRLL APSRLQ APSRLW APSUBB APSUBL APSUBQ APSUBSB APSUBSW APSUBUSB APSUBUSW APSUBW APSWAPL APUNPCKHBW APUNPCKHLQ APUNPCKHQDQ APUNPCKHWL APUNPCKLBW APUNPCKLLQ APUNPCKLQDQ APUNPCKLWL APXOR ARCPPS ARCPSS ARSQRTPS ARSQRTSS ASHUFPD ASHUFPS ASQRTPD ASQRTPS ASQRTSD ASQRTSS ASTMXCSR ASUBPD ASUBPS ASUBSD ASUBSS AUCOMISD AUCOMISS AUNPCKHPD AUNPCKHPS AUNPCKLPD AUNPCKLPS AXORPD AXORPS APF2IW APF2IL API2FW API2FL ARETFW ARETFL ARETFQ ASWAPGS AMODE ACRC32B ACRC32Q AIMUL3Q APREFETCHT0 APREFETCHT1 APREFETCHT2 APREFETCHNTA AMOVQL ABSWAPL ABSWAPQ AAESENC AAESENCLAST AAESDEC AAESDECLAST AAESIMC AAESKEYGENASSIST APSHUFD APCLMULQDQ // from 386 AJCXZW AFCMOVCC AFCMOVCS AFCMOVEQ AFCMOVHI AFCMOVLS AFCMOVNE AFCMOVNU AFCMOVUN AFCOMI AFCOMIP AFUCOMI AFUCOMIP ALAST )
* amd64
View Source
const ( REG_AL = obj.RBaseAMD64 + iota REG_CL REG_DL REG_BL REG_SPB REG_BPB REG_SIB REG_DIB REG_R8B REG_R9B REG_R10B REG_R11B REG_R12B REG_R13B REG_R14B REG_R15B REG_AX REG_CX REG_DX REG_BX REG_SP REG_BP REG_SI REG_DI REG_R8 REG_R9 REG_R10 REG_R11 REG_R12 REG_R13 REG_R14 REG_R15 REG_AH REG_CH REG_DH REG_BH REG_F0 REG_F1 REG_F2 REG_F3 REG_F4 REG_F5 REG_F6 REG_F7 REG_M0 REG_M1 REG_M2 REG_M3 REG_M4 REG_M5 REG_M6 REG_M7 REG_X0 REG_X1 REG_X2 REG_X3 REG_X4 REG_X5 REG_X6 REG_X7 REG_X8 REG_X9 REG_X10 REG_X11 REG_X12 REG_X13 REG_X14 REG_X15 REG_CS REG_SS REG_DS REG_ES REG_FS REG_GS REG_GDTR /* global descriptor table register */ REG_IDTR /* interrupt descriptor table register */ REG_LDTR /* local descriptor table register */ REG_MSW /* machine status word */ REG_TASK /* task register */ REG_CR0 REG_CR1 REG_CR2 REG_CR3 REG_CR4 REG_CR5 REG_CR6 REG_CR7 REG_CR8 REG_CR9 REG_CR10 REG_CR11 REG_CR12 REG_CR13 REG_CR14 REG_CR15 REG_DR0 REG_DR1 REG_DR2 REG_DR3 REG_DR4 REG_DR5 REG_DR6 REG_DR7 REG_TR0 REG_TR1 REG_TR2 REG_TR3 REG_TR4 REG_TR5 REG_TR6 REG_TR7 REG_TLS MAXREG REG_CR = REG_CR0 REG_DR = REG_DR0 REG_TR = REG_TR0 REGARG = -1 REGRET = REG_AX FREGRET = REG_X0 REGSP = REG_SP REGTMP = REG_DI REGCTXT = REG_DX REGEXT = REG_R15 /* compiler allocates external registers R15 down */ FREGMIN = REG_X0 + 5 /* first register variable */ FREGEXT = REG_X0 + 15 /* first external register */ T_TYPE = 1 << 0 T_INDEX = 1 << 1 T_OFFSET = 1 << 2 T_FCONST = 1 << 3 T_SYM = 1 << 4 T_SCONST = 1 << 5 T_64 = 1 << 6 T_GOTYPE = 1 << 7 )
View Source
const ( MaxAlign = 32 // max data alignment // Loop alignment constants: // want to align loop entry to LoopAlign-byte boundary, // and willing to insert at most MaxLoopPad bytes of NOP to do so. // We define a loop entry as the target of a backward jump. // // gcc uses MaxLoopPad = 10 for its 'generic x86-64' config, // and it aligns all jump targets, not just backward jump targets. // // As of 6/1/2012, the effect of setting MaxLoopPad = 10 here // is very slight but negative, so the alignment is disabled by // setting MaxLoopPad = 0. The code is here for reference and // for future experiments. // LoopAlign = 16 MaxLoopPad = 0 FuncAlign = 16 )
View Source
const ( Yxxx = iota Ynone Yi0 // $0 Yi1 // $1 Yi8 // $x, x fits in int8 Yu8 // $x, x fits in uint8 Yu7 // $x, x in 0..127 (fits in both int8 and uint8) Ys32 Yi32 Yi64 Yiauto Yal Ycl Yax Ycx Yrb Yrl Yrl32 // Yrl on 32-bit system Yrf Yf0 Yrx Ymb Yml Ym Ybr Ycs Yss Yds Yes Yfs Ygs Ygdtr Yidtr Yldtr Ymsw Ytask Ycr0 Ycr1 Ycr2 Ycr3 Ycr4 Ycr5 Ycr6 Ycr7 Ycr8 Ydr0 Ydr1 Ydr2 Ydr3 Ydr4 Ydr5 Ydr6 Ydr7 Ytr0 Ytr1 Ytr2 Ytr3 Ytr4 Ytr5 Ytr6 Ytr7 Ymr Ymm Yxr Yxm Ytls Ytextsize Yindir Ymax )
View Source
const ( Zxxx = iota Zlit Zlitm_r Z_rp Zbr Zcall Zcallcon Zcallduff Zcallind Zcallindreg Zib_ Zib_rp Zibo_m Zibo_m_xm Zil_ Zil_rp Ziq_rp Zilo_m Ziqo_m Zjmp Zjmpcon Zloop Zo_iw Zm_o Zm_r Zm2_r Zm_r_xm Zm_r_i_xm Zm_r_3d Zm_r_xm_nr Zr_m_xm_nr Zibm_r /* mmx1,mmx2/mem64,imm8 */ Zmb_r Zaut_r Zo_m Zo_m64 Zpseudo Zr_m Zr_m_xm Zrp_ Z_ib Z_il Zm_ibo Zm_ilo Zib_rr Zil_rr Zclr Zbyte Zmax )
View Source
const ( Px = 0 Px1 = 1 // symbolic; exact value doesn't matter P32 = 0x32 /* 32-bit only */ Pe = 0x66 /* operand escape */ Pm = 0x0f /* 2byte opcode escape */ Pq = 0xff /* both escapes: 66 0f */ Pb = 0xfe /* byte operands */ Pf2 = 0xf2 /* xmm escape 1: f2 0f */ Pf3 = 0xf3 /* xmm escape 2: f3 0f */ Pq3 = 0x67 /* xmm escape 3: 66 48 0f */ Pw = 0x48 /* Rex.w */ Pw8 = 0x90 // symbolic; exact value doesn't matter Py = 0x80 /* defaults to 64-bit mode */ Py1 = 0x81 // symbolic; exact value doesn't matter Py3 = 0x83 // symbolic; exact value doesn't matter Rxf = 1 << 9 /* internal flag for Rxr on from */ Rxt = 1 << 8 /* internal flag for Rxr on to */ Rxw = 1 << 3 /* =1, 64-bit operand size */ Rxr = 1 << 2 /* extend modrm reg */ Rxx = 1 << 1 /* extend sib index */ Rxb = 1 << 0 /* extend modrm r/m, sib base, or opcode reg */ Maxand = 10 /* in -a output width of the byte codes */ )
View Source
const (
E = 0xff
)
View Source
const (
REG_NONE = 0
)
Variables ¶
View Source
var Anames = []string{}/* 687 elements not displayed */
View Source
var Link386 = obj.LinkArch{ ByteOrder: binary.LittleEndian, Name: "386", Thechar: '8', Preprocess: preprocess, Assemble: span6, Follow: follow, Progedit: progedit, UnaryDst: unaryDst, Minlc: 1, Ptrsize: 4, Regsize: 4, }
View Source
var Linkamd64 = obj.LinkArch{ ByteOrder: binary.LittleEndian, Name: "amd64", Thechar: '6', Preprocess: preprocess, Assemble: span6, Follow: follow, Progedit: progedit, UnaryDst: unaryDst, Minlc: 1, Ptrsize: 8, Regsize: 8, }
View Source
var Linkamd64p32 = obj.LinkArch{ ByteOrder: binary.LittleEndian, Name: "amd64p32", Thechar: '6', Preprocess: preprocess, Assemble: span6, Follow: follow, Progedit: progedit, UnaryDst: unaryDst, Minlc: 1, Ptrsize: 4, Regsize: 8, }
View Source
var Register = []string{}/* 113 elements not displayed */
Functions ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.