github.com/bgentry/go@v0.0.0-20150121062915-6cf5a733d54d/src/cmd/8l/8.out.h (about)

     1  // Inferno utils/8c/8.out.h
     2  // http://code.google.com/p/inferno-os/source/browse/utils/8c/8.out.h
     3  //
     4  //	Copyright © 1994-1999 Lucent Technologies Inc.  All rights reserved.
     5  //	Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
     6  //	Portions Copyright © 1997-1999 Vita Nuova Limited
     7  //	Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com)
     8  //	Portions Copyright © 2004,2006 Bruce Ellis
     9  //	Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
    10  //	Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others
    11  //	Portions Copyright © 2009 The Go Authors.  All rights reserved.
    12  //
    13  // Permission is hereby granted, free of charge, to any person obtaining a copy
    14  // of this software and associated documentation files (the "Software"), to deal
    15  // in the Software without restriction, including without limitation the rights
    16  // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    17  // copies of the Software, and to permit persons to whom the Software is
    18  // furnished to do so, subject to the following conditions:
    19  //
    20  // The above copyright notice and this permission notice shall be included in
    21  // all copies or substantial portions of the Software.
    22  //
    23  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    24  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    25  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    26  // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    27  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    28  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    29  // THE SOFTWARE.
    30  
    31  #define	NSYM	50
    32  #define	NSNAME	8
    33  #include "../ld/textflag.h"
    34  
    35  enum
    36  {
    37  	AXXX,
    38  	AAAA,
    39  	AAAD,
    40  	AAAM,
    41  	AAAS,
    42  	AADCB,
    43  	AADCL,
    44  	AADCW,
    45  	AADDB,
    46  	AADDL,
    47  	AADDW,
    48  	AADJSP,
    49  	AANDB,
    50  	AANDL,
    51  	AANDW,
    52  	AARPL,
    53  	ABOUNDL,
    54  	ABOUNDW,
    55  	ABSFL,
    56  	ABSFW,
    57  	ABSRL,
    58  	ABSRW,
    59  	ABTL,
    60  	ABTW,
    61  	ABTCL,
    62  	ABTCW,
    63  	ABTRL,
    64  	ABTRW,
    65  	ABTSL,
    66  	ABTSW,
    67  	ABYTE,
    68  	ACALL,
    69  	ACLC,
    70  	ACLD,
    71  	ACLI,
    72  	ACLTS,
    73  	ACMC,
    74  	ACMPB,
    75  	ACMPL,
    76  	ACMPW,
    77  	ACMPSB,
    78  	ACMPSL,
    79  	ACMPSW,
    80  	ADAA,
    81  	ADAS,
    82  	ADATA,
    83  	ADECB,
    84  	ADECL,
    85  	ADECW,
    86  	ADIVB,
    87  	ADIVL,
    88  	ADIVW,
    89  	AENTER,
    90  	AGLOBL,
    91  	AGOK,
    92  	AHISTORY,
    93  	AHLT,
    94  	AIDIVB,
    95  	AIDIVL,
    96  	AIDIVW,
    97  	AIMULB,
    98  	AIMULL,
    99  	AIMULW,
   100  	AINB,
   101  	AINL,
   102  	AINW,
   103  	AINCB,
   104  	AINCL,
   105  	AINCW,
   106  	AINSB,
   107  	AINSL,
   108  	AINSW,
   109  	AINT,
   110  	AINTO,
   111  	AIRETL,
   112  	AIRETW,
   113  	AJCC,
   114  	AJCS,
   115  	AJCXZL,
   116  	AJCXZW,
   117  	AJEQ,
   118  	AJGE,
   119  	AJGT,
   120  	AJHI,
   121  	AJLE,
   122  	AJLS,
   123  	AJLT,
   124  	AJMI,
   125  	AJMP,
   126  	AJNE,
   127  	AJOC,
   128  	AJOS,
   129  	AJPC,
   130  	AJPL,
   131  	AJPS,
   132  	ALAHF,
   133  	ALARL,
   134  	ALARW,
   135  	ALEAL,
   136  	ALEAW,
   137  	ALEAVEL,
   138  	ALEAVEW,
   139  	ALOCK,
   140  	ALODSB,
   141  	ALODSL,
   142  	ALODSW,
   143  	ALONG,
   144  	ALOOP,
   145  	ALOOPEQ,
   146  	ALOOPNE,
   147  	ALSLL,
   148  	ALSLW,
   149  	AMOVB,
   150  	AMOVL,
   151  	AMOVW,
   152  	AMOVQ,
   153  	AMOVBLSX,
   154  	AMOVBLZX,
   155  	AMOVBWSX,
   156  	AMOVBWZX,
   157  	AMOVWLSX,
   158  	AMOVWLZX,
   159  	AMOVSB,
   160  	AMOVSL,
   161  	AMOVSW,
   162  	AMULB,
   163  	AMULL,
   164  	AMULW,
   165  	ANAME,
   166  	ANEGB,
   167  	ANEGL,
   168  	ANEGW,
   169  	ANOP,
   170  	ANOTB,
   171  	ANOTL,
   172  	ANOTW,
   173  	AORB,
   174  	AORL,
   175  	AORW,
   176  	AOUTB,
   177  	AOUTL,
   178  	AOUTW,
   179  	AOUTSB,
   180  	AOUTSL,
   181  	AOUTSW,
   182  	APAUSE,
   183  	APOPAL,
   184  	APOPAW,
   185  	APOPFL,
   186  	APOPFW,
   187  	APOPL,
   188  	APOPW,
   189  	APUSHAL,
   190  	APUSHAW,
   191  	APUSHFL,
   192  	APUSHFW,
   193  	APUSHL,
   194  	APUSHW,
   195  	ARCLB,
   196  	ARCLL,
   197  	ARCLW,
   198  	ARCRB,
   199  	ARCRL,
   200  	ARCRW,
   201  	AREP,
   202  	AREPN,
   203  	ARET,
   204  	AROLB,
   205  	AROLL,
   206  	AROLW,
   207  	ARORB,
   208  	ARORL,
   209  	ARORW,
   210  	ASAHF,
   211  	ASALB,
   212  	ASALL,
   213  	ASALW,
   214  	ASARB,
   215  	ASARL,
   216  	ASARW,
   217  	ASBBB,
   218  	ASBBL,
   219  	ASBBW,
   220  	ASCASB,
   221  	ASCASL,
   222  	ASCASW,
   223  	ASETCC,
   224  	ASETCS,
   225  	ASETEQ,
   226  	ASETGE,
   227  	ASETGT,
   228  	ASETHI,
   229  	ASETLE,
   230  	ASETLS,
   231  	ASETLT,
   232  	ASETMI,
   233  	ASETNE,
   234  	ASETOC,
   235  	ASETOS,
   236  	ASETPC,
   237  	ASETPL,
   238  	ASETPS,
   239  	ACDQ,
   240  	ACWD,
   241  	ASHLB,
   242  	ASHLL,
   243  	ASHLW,
   244  	ASHRB,
   245  	ASHRL,
   246  	ASHRW,
   247  	ASTC,
   248  	ASTD,
   249  	ASTI,
   250  	ASTOSB,
   251  	ASTOSL,
   252  	ASTOSW,
   253  	ASUBB,
   254  	ASUBL,
   255  	ASUBW,
   256  	ASYSCALL,
   257  	ATESTB,
   258  	ATESTL,
   259  	ATESTW,
   260  	ATEXT,
   261  	AVERR,
   262  	AVERW,
   263  	AWAIT,
   264  	AWORD,
   265  	AXCHGB,
   266  	AXCHGL,
   267  	AXCHGW,
   268  	AXLAT,
   269  	AXORB,
   270  	AXORL,
   271  	AXORW,
   272  
   273  	AFMOVB,
   274  	AFMOVBP,
   275  	AFMOVD,
   276  	AFMOVDP,
   277  	AFMOVF,
   278  	AFMOVFP,
   279  	AFMOVL,
   280  	AFMOVLP,
   281  	AFMOVV,
   282  	AFMOVVP,
   283  	AFMOVW,
   284  	AFMOVWP,
   285  	AFMOVX,
   286  	AFMOVXP,
   287  
   288  	AFCOMB,
   289  	AFCOMBP,
   290  	AFCOMD,
   291  	AFCOMDP,
   292  	AFCOMDPP,
   293  	AFCOMF,
   294  	AFCOMFP,
   295  	AFCOMI,
   296  	AFCOMIP,
   297  	AFCOML,
   298  	AFCOMLP,
   299  	AFCOMW,
   300  	AFCOMWP,
   301  	AFUCOM,
   302  	AFUCOMI,
   303  	AFUCOMIP,
   304  	AFUCOMP,
   305  	AFUCOMPP,
   306  
   307  	AFADDDP,
   308  	AFADDW,
   309  	AFADDL,
   310  	AFADDF,
   311  	AFADDD,
   312  
   313  	AFMULDP,
   314  	AFMULW,
   315  	AFMULL,
   316  	AFMULF,
   317  	AFMULD,
   318  
   319  	AFSUBDP,
   320  	AFSUBW,
   321  	AFSUBL,
   322  	AFSUBF,
   323  	AFSUBD,
   324  
   325  	AFSUBRDP,
   326  	AFSUBRW,
   327  	AFSUBRL,
   328  	AFSUBRF,
   329  	AFSUBRD,
   330  
   331  	AFDIVDP,
   332  	AFDIVW,
   333  	AFDIVL,
   334  	AFDIVF,
   335  	AFDIVD,
   336  
   337  	AFDIVRDP,
   338  	AFDIVRW,
   339  	AFDIVRL,
   340  	AFDIVRF,
   341  	AFDIVRD,
   342  
   343  	AFXCHD,
   344  	AFFREE,
   345  
   346  	AFLDCW,
   347  	AFLDENV,
   348  	AFRSTOR,
   349  	AFSAVE,
   350  	AFSTCW,
   351  	AFSTENV,
   352  	AFSTSW,
   353  
   354  	AF2XM1,
   355  	AFABS,
   356  	AFCHS,
   357  	AFCLEX,
   358  	AFCOS,
   359  	AFDECSTP,
   360  	AFINCSTP,
   361  	AFINIT,
   362  	AFLD1,
   363  	AFLDL2E,
   364  	AFLDL2T,
   365  	AFLDLG2,
   366  	AFLDLN2,
   367  	AFLDPI,
   368  	AFLDZ,
   369  	AFNOP,
   370  	AFPATAN,
   371  	AFPREM,
   372  	AFPREM1,
   373  	AFPTAN,
   374  	AFRNDINT,
   375  	AFSCALE,
   376  	AFSIN,
   377  	AFSINCOS,
   378  	AFSQRT,
   379  	AFTST,
   380  	AFXAM,
   381  	AFXTRACT,
   382  	AFYL2X,
   383  	AFYL2XP1,
   384  
   385  	AEND,
   386  
   387  	ADYNT_,
   388  	AINIT_,
   389  
   390  	ASIGNAME,
   391  
   392  	ACMPXCHGB,
   393  	ACMPXCHGL,
   394  	ACMPXCHGW,
   395  	ACMPXCHG8B,
   396  
   397  	ACPUID,
   398  	ARDTSC,
   399  
   400  	AXADDB,
   401  	AXADDL,
   402  	AXADDW,
   403  
   404  	/* conditional move */
   405  	ACMOVLCC,
   406  	ACMOVLCS,
   407  	ACMOVLEQ,
   408  	ACMOVLGE,
   409  	ACMOVLGT,
   410  	ACMOVLHI,
   411  	ACMOVLLE,
   412  	ACMOVLLS,
   413  	ACMOVLLT,
   414  	ACMOVLMI,
   415  	ACMOVLNE,
   416  	ACMOVLOC,
   417  	ACMOVLOS,
   418  	ACMOVLPC,
   419  	ACMOVLPL,
   420  	ACMOVLPS,
   421  	ACMOVWCC,
   422  	ACMOVWCS,
   423  	ACMOVWEQ,
   424  	ACMOVWGE,
   425  	ACMOVWGT,
   426  	ACMOVWHI,
   427  	ACMOVWLE,
   428  	ACMOVWLS,
   429  	ACMOVWLT,
   430  	ACMOVWMI,
   431  	ACMOVWNE,
   432  	ACMOVWOC,
   433  	ACMOVWOS,
   434  	ACMOVWPC,
   435  	ACMOVWPL,
   436  	ACMOVWPS,
   437  
   438  	AFCMOVCC,
   439  	AFCMOVCS,
   440  	AFCMOVEQ,
   441  	AFCMOVHI,
   442  	AFCMOVLS,
   443  	AFCMOVNE,
   444  	AFCMOVNU,
   445  	AFCMOVUN,
   446  
   447  	ALFENCE,
   448  	AMFENCE,
   449  	ASFENCE,
   450  
   451  	AEMMS,
   452  	
   453  	APREFETCHT0,
   454  	APREFETCHT1,
   455  	APREFETCHT2,
   456  	APREFETCHNTA,
   457  	
   458  	ABSWAPL,
   459  	
   460  	AUNDEF,
   461  
   462  	// SSE2
   463  	AADDPD,
   464  	AADDPS,
   465  	AADDSD,
   466  	AADDSS,
   467  	AANDNPD,
   468  	AANDNPS,
   469  	AANDPD,
   470  	AANDPS,
   471  	ACMPPD,
   472  	ACMPPS,
   473  	ACMPSD,
   474  	ACMPSS,
   475  	ACOMISD,
   476  	ACOMISS,
   477  	ACVTPL2PD,
   478  	ACVTPL2PS,
   479  	ACVTPD2PL,
   480  	ACVTPD2PS,
   481  	ACVTPS2PL,
   482  	ACVTPS2PD,
   483  	ACVTSD2SL,
   484  	ACVTSD2SS,
   485  	ACVTSL2SD,
   486  	ACVTSL2SS,
   487  	ACVTSS2SD,
   488  	ACVTSS2SL,
   489  	ACVTTPD2PL,
   490  	ACVTTPS2PL,
   491  	ACVTTSD2SL,
   492  	ACVTTSS2SL,
   493  	ADIVPD,
   494  	ADIVPS,
   495  	ADIVSD,
   496  	ADIVSS,
   497  	AMASKMOVOU,
   498  	AMAXPD,
   499  	AMAXPS,
   500  	AMAXSD,
   501  	AMAXSS,
   502  	AMINPD,
   503  	AMINPS,
   504  	AMINSD,
   505  	AMINSS,
   506  	AMOVAPD,
   507  	AMOVAPS,
   508  	AMOVO,
   509  	AMOVOU,
   510  	AMOVHLPS,
   511  	AMOVHPD,
   512  	AMOVHPS,
   513  	AMOVLHPS,
   514  	AMOVLPD,
   515  	AMOVLPS,
   516  	AMOVMSKPD,
   517  	AMOVMSKPS,
   518  	AMOVNTO,
   519  	AMOVNTPD,
   520  	AMOVNTPS,
   521  	AMOVSD,
   522  	AMOVSS,
   523  	AMOVUPD,
   524  	AMOVUPS,
   525  	AMULPD,
   526  	AMULPS,
   527  	AMULSD,
   528  	AMULSS,
   529  	AORPD,
   530  	AORPS,
   531  	APADDQ,
   532  	APAND,
   533  	APCMPEQB,
   534  	APMAXSW,
   535  	APMAXUB,
   536  	APMINSW,
   537  	APMINUB,
   538  	APMOVMSKB,
   539  	APSADBW,
   540  	APSUBB,
   541  	APSUBL,
   542  	APSUBQ,
   543  	APSUBSB,
   544  	APSUBSW,
   545  	APSUBUSB,
   546  	APSUBUSW,
   547  	APSUBW,
   548  	APUNPCKHQDQ,
   549  	APUNPCKLQDQ,
   550  	APXOR,
   551  	ARCPPS,
   552  	ARCPSS,
   553  	ARSQRTPS,
   554  	ARSQRTSS,
   555  	ASQRTPD,
   556  	ASQRTPS,
   557  	ASQRTSD,
   558  	ASQRTSS,
   559  	ASUBPD,
   560  	ASUBPS,
   561  	ASUBSD,
   562  	ASUBSS,
   563  	AUCOMISD,
   564  	AUCOMISS,
   565  	AUNPCKHPD,
   566  	AUNPCKHPS,
   567  	AUNPCKLPD,
   568  	AUNPCKLPS,
   569  	AXORPD,
   570  	AXORPS,
   571  	APSHUFHW,
   572  	APSHUFL,
   573  	APSHUFLW,
   574  
   575  	/* SSE 3+ */
   576  	AAESENC,
   577  	APINSRD,
   578  	APSHUFB,
   579  
   580  	AUSEFIELD,
   581  	ATYPE,
   582  	AFUNCDATA,
   583  	APCDATA,
   584  	ACHECKNIL,
   585  	AVARDEF,
   586  	AVARKILL,
   587  	ADUFFCOPY,
   588  	ADUFFZERO,
   589  	
   590  	ALAST
   591  };
   592  
   593  enum
   594  {
   595  	D_AL		= 0,
   596  	D_CL,
   597  	D_DL,
   598  	D_BL,
   599  
   600  	D_AH		= 4,
   601  	D_CH,
   602  	D_DH,
   603  	D_BH,
   604  
   605  	D_AX		= 8,
   606  	D_CX,
   607  	D_DX,
   608  	D_BX,
   609  	D_SP,
   610  	D_BP,
   611  	D_SI,
   612  	D_DI,
   613  
   614  	D_F0		= 16,
   615  	D_F7		= D_F0 + 7,
   616  
   617  	D_CS		= 24,
   618  	D_SS,
   619  	D_DS,
   620  	D_ES,
   621  	D_FS,
   622  	D_GS,
   623  
   624  	D_GDTR,		/* global descriptor table register */
   625  	D_IDTR,		/* interrupt descriptor table register */
   626  	D_LDTR,		/* local descriptor table register */
   627  	D_MSW,		/* machine status word */
   628  	D_TASK,		/* task register */
   629  
   630  	D_CR		= 35,
   631  	D_DR		= 43,
   632  	D_TR		= 51,
   633  
   634  	D_X0		= 59,
   635  	D_X1,
   636  	D_X2,
   637  	D_X3,
   638  	D_X4,
   639  	D_X5,
   640  	D_X6,
   641  	D_X7,
   642  	
   643  	D_TLS		= 67,
   644  	D_NONE		= 68,
   645  
   646  	D_BRANCH	= 69,
   647  	D_EXTERN	= 70,
   648  	D_STATIC	= 71,
   649  	D_AUTO		= 72,
   650  	D_PARAM		= 73,
   651  	D_CONST		= 74,
   652  	D_FCONST	= 75,
   653  	D_SCONST	= 76,
   654  	D_ADDR		= 77,
   655  
   656  	D_INDIR,	/* additive */
   657  
   658  	D_CONST2 = D_INDIR+D_INDIR,
   659  
   660  	D_LAST,
   661  
   662  	T_TYPE		= 1<<0,
   663  	T_INDEX		= 1<<1,
   664  	T_OFFSET	= 1<<2,
   665  	T_FCONST	= 1<<3,
   666  	T_SYM		= 1<<4,
   667  	T_SCONST	= 1<<5,
   668  	T_OFFSET2	= 1<<6,
   669  	T_GOTYPE	= 1<<7,
   670  
   671  	REGARG		= -1,
   672  	REGRET		= D_AX,
   673  	FREGRET		= D_F0,
   674  	REGSP		= D_SP,
   675  	REGTMP		= D_DI,
   676  };
   677  
   678  /*
   679   * this is the ranlib header
   680   */
   681  #define	SYMDEF	"__.GOSYMDEF"