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