1 #define NSYM 50 2 #define NSNAME 8 3 #define NOPROF (1<<0) 4 #define DUPOK (1<<1) 5 6 /* 7 * amd64 8 */ 9 10 enum as 11 { 12 AXXX, 13 AAAA, 14 AAAD, 15 AAAM, 16 AAAS, 17 AADCB, 18 AADCL, 19 AADCW, 20 AADDB, 21 AADDL, 22 AADDW, 23 AADJSP, 24 AANDB, 25 AANDL, 26 AANDW, 27 AARPL, 28 ABOUNDL, 29 ABOUNDW, 30 ABSFL, 31 ABSFW, 32 ABSRL, 33 ABSRW, 34 ABTL, 35 ABTW, 36 ABTCL, 37 ABTCW, 38 ABTRL, 39 ABTRW, 40 ABTSL, 41 ABTSW, 42 ABYTE, 43 ACALL, 44 ACLC, 45 ACLD, 46 ACLI, 47 ACLTS, 48 ACMC, 49 ACMPB, 50 ACMPL, 51 ACMPW, 52 ACMPSB, 53 ACMPSL, 54 ACMPSW, 55 ADAA, 56 ADAS, 57 ADATA, 58 ADECB, 59 ADECL, 60 ADECQ, 61 ADECW, 62 ADIVB, 63 ADIVL, 64 ADIVW, 65 AENTER, 66 AGLOBL, 67 AGOK, 68 AHISTORY, 69 AHLT, 70 AIDIVB, 71 AIDIVL, 72 AIDIVW, 73 AIMULB, 74 AIMULL, 75 AIMULW, 76 AINB, 77 AINL, 78 AINW, 79 AINCB, 80 AINCL, 81 AINCQ, 82 AINCW, 83 AINSB, 84 AINSL, 85 AINSW, 86 AINT, 87 AINTO, 88 AIRETL, 89 AIRETW, 90 AJCC, 91 AJCS, 92 AJCXZ, 93 AJEQ, 94 AJGE, 95 AJGT, 96 AJHI, 97 AJLE, 98 AJLS, 99 AJLT, 100 AJMI, 101 AJMP, 102 AJNE, 103 AJOC, 104 AJOS, 105 AJPC, 106 AJPL, 107 AJPS, 108 ALAHF, 109 ALARL, 110 ALARW, 111 ALEAL, 112 ALEAW, 113 ALEAVEL, 114 ALEAVEW, 115 ALOCK, 116 ALODSB, 117 ALODSL, 118 ALODSW, 119 ALONG, 120 ALOOP, 121 ALOOPEQ, 122 ALOOPNE, 123 ALSLL, 124 ALSLW, 125 AMOVB, 126 AMOVL, 127 AMOVW, 128 AMOVBLSX, 129 AMOVBLZX, 130 AMOVBQSX, 131 AMOVBQZX, 132 AMOVBWSX, 133 AMOVBWZX, 134 AMOVWLSX, 135 AMOVWLZX, 136 AMOVWQSX, 137 AMOVWQZX, 138 AMOVSB, 139 AMOVSL, 140 AMOVSW, 141 AMULB, 142 AMULL, 143 AMULW, 144 ANAME, 145 ANEGB, 146 ANEGL, 147 ANEGW, 148 ANOP, 149 ANOTB, 150 ANOTL, 151 ANOTW, 152 AORB, 153 AORL, 154 AORW, 155 AOUTB, 156 AOUTL, 157 AOUTW, 158 AOUTSB, 159 AOUTSL, 160 AOUTSW, 161 APOPAL, 162 APOPAW, 163 APOPFL, 164 APOPFW, 165 APOPL, 166 APOPW, 167 APUSHAL, 168 APUSHAW, 169 APUSHFL, 170 APUSHFW, 171 APUSHL, 172 APUSHW, 173 ARCLB, 174 ARCLL, 175 ARCLW, 176 ARCRB, 177 ARCRL, 178 ARCRW, 179 AREP, 180 AREPN, 181 ARET, 182 AROLB, 183 AROLL, 184 AROLW, 185 ARORB, 186 ARORL, 187 ARORW, 188 ASAHF, 189 ASALB, 190 ASALL, 191 ASALW, 192 ASARB, 193 ASARL, 194 ASARW, 195 ASBBB, 196 ASBBL, 197 ASBBW, 198 ASCASB, 199 ASCASL, 200 ASCASW, 201 ASETCC, 202 ASETCS, 203 ASETEQ, 204 ASETGE, 205 ASETGT, 206 ASETHI, 207 ASETLE, 208 ASETLS, 209 ASETLT, 210 ASETMI, 211 ASETNE, 212 ASETOC, 213 ASETOS, 214 ASETPC, 215 ASETPL, 216 ASETPS, 217 ACDQ, 218 ACWD, 219 ASHLB, 220 ASHLL, 221 ASHLW, 222 ASHRB, 223 ASHRL, 224 ASHRW, 225 ASTC, 226 ASTD, 227 ASTI, 228 ASTOSB, 229 ASTOSL, 230 ASTOSW, 231 ASUBB, 232 ASUBL, 233 ASUBW, 234 ASYSCALL, 235 ATESTB, 236 ATESTL, 237 ATESTW, 238 ATEXT, 239 AVERR, 240 AVERW, 241 AWAIT, 242 AWORD, 243 AXCHGB, 244 AXCHGL, 245 AXCHGW, 246 AXLAT, 247 AXORB, 248 AXORL, 249 AXORW, 250 251 AFMOVB, 252 AFMOVBP, 253 AFMOVD, 254 AFMOVDP, 255 AFMOVF, 256 AFMOVFP, 257 AFMOVL, 258 AFMOVLP, 259 AFMOVV, 260 AFMOVVP, 261 AFMOVW, 262 AFMOVWP, 263 AFMOVX, 264 AFMOVXP, 265 266 AFCOMB, 267 AFCOMBP, 268 AFCOMD, 269 AFCOMDP, 270 AFCOMDPP, 271 AFCOMF, 272 AFCOMFP, 273 AFCOML, 274 AFCOMLP, 275 AFCOMW, 276 AFCOMWP, 277 AFUCOM, 278 AFUCOMP, 279 AFUCOMPP, 280 281 AFADDDP, 282 AFADDW, 283 AFADDL, 284 AFADDF, 285 AFADDD, 286 287 AFMULDP, 288 AFMULW, 289 AFMULL, 290 AFMULF, 291 AFMULD, 292 293 AFSUBDP, 294 AFSUBW, 295 AFSUBL, 296 AFSUBF, 297 AFSUBD, 298 299 AFSUBRDP, 300 AFSUBRW, 301 AFSUBRL, 302 AFSUBRF, 303 AFSUBRD, 304 305 AFDIVDP, 306 AFDIVW, 307 AFDIVL, 308 AFDIVF, 309 AFDIVD, 310 311 AFDIVRDP, 312 AFDIVRW, 313 AFDIVRL, 314 AFDIVRF, 315 AFDIVRD, 316 317 AFXCHD, 318 AFFREE, 319 320 AFLDCW, 321 AFLDENV, 322 AFRSTOR, 323 AFSAVE, 324 AFSTCW, 325 AFSTENV, 326 AFSTSW, 327 328 AF2XM1, 329 AFABS, 330 AFCHS, 331 AFCLEX, 332 AFCOS, 333 AFDECSTP, 334 AFINCSTP, 335 AFINIT, 336 AFLD1, 337 AFLDL2E, 338 AFLDL2T, 339 AFLDLG2, 340 AFLDLN2, 341 AFLDPI, 342 AFLDZ, 343 AFNOP, 344 AFPATAN, 345 AFPREM, 346 AFPREM1, 347 AFPTAN, 348 AFRNDINT, 349 AFSCALE, 350 AFSIN, 351 AFSINCOS, 352 AFSQRT, 353 AFTST, 354 AFXAM, 355 AFXTRACT, 356 AFYL2X, 357 AFYL2XP1, 358 359 AEND, 360 361 ADYNT, 362 AINIT, 363 364 ASIGNAME, 365 366 /* extra 32-bit operations */ 367 ACMPXCHGB, 368 ACMPXCHGL, 369 ACMPXCHGW, 370 ACMPXCHG8B, 371 ACPUID, 372 AINVD, 373 AINVLPG, 374 ALFENCE, 375 AMFENCE, 376 AMOVNTIL, 377 ARDMSR, 378 ARDPMC, 379 ARDTSC, 380 ARSM, 381 ASFENCE, 382 ASYSRET, 383 AWBINVD, 384 AWRMSR, 385 AXADDB, 386 AXADDL, 387 AXADDW, 388 389 /* conditional move */ 390 ACMOVLCC, 391 ACMOVLCS, 392 ACMOVLEQ, 393 ACMOVLGE, 394 ACMOVLGT, 395 ACMOVLHI, 396 ACMOVLLE, 397 ACMOVLLS, 398 ACMOVLLT, 399 ACMOVLMI, 400 ACMOVLNE, 401 ACMOVLOC, 402 ACMOVLOS, 403 ACMOVLPC, 404 ACMOVLPL, 405 ACMOVLPS, 406 ACMOVQCC, 407 ACMOVQCS, 408 ACMOVQEQ, 409 ACMOVQGE, 410 ACMOVQGT, 411 ACMOVQHI, 412 ACMOVQLE, 413 ACMOVQLS, 414 ACMOVQLT, 415 ACMOVQMI, 416 ACMOVQNE, 417 ACMOVQOC, 418 ACMOVQOS, 419 ACMOVQPC, 420 ACMOVQPL, 421 ACMOVQPS, 422 ACMOVWCC, 423 ACMOVWCS, 424 ACMOVWEQ, 425 ACMOVWGE, 426 ACMOVWGT, 427 ACMOVWHI, 428 ACMOVWLE, 429 ACMOVWLS, 430 ACMOVWLT, 431 ACMOVWMI, 432 ACMOVWNE, 433 ACMOVWOC, 434 ACMOVWOS, 435 ACMOVWPC, 436 ACMOVWPL, 437 ACMOVWPS, 438 439 /* 64-bit */ 440 AADCQ, 441 AADDQ, 442 AANDQ, 443 ABSFQ, 444 ABSRQ, 445 ABTCQ, 446 ABTQ, 447 ABTRQ, 448 ABTSQ, 449 ACMPQ, 450 ACMPSQ, 451 ACMPXCHGQ, 452 ACQO, 453 ADIVQ, 454 AIDIVQ, 455 AIMULQ, 456 AIRETQ, 457 ALEAQ, 458 ALEAVEQ, 459 ALODSQ, 460 AMOVQ, 461 AMOVLQSX, 462 AMOVLQZX, 463 AMOVNTIQ, 464 AMOVSQ, 465 AMULQ, 466 ANEGQ, 467 ANOTQ, 468 AORQ, 469 APOPFQ, 470 APOPQ, 471 APUSHFQ, 472 APUSHQ, 473 ARCLQ, 474 ARCRQ, 475 AROLQ, 476 ARORQ, 477 AQUAD, 478 ASALQ, 479 ASARQ, 480 ASBBQ, 481 ASCASQ, 482 ASHLQ, 483 ASHRQ, 484 ASTOSQ, 485 ASUBQ, 486 ATESTQ, 487 AXADDQ, 488 AXCHGQ, 489 AXORQ, 490 491 /* media */ 492 AADDPD, 493 AADDPS, 494 AADDSD, 495 AADDSS, 496 AANDNPD, 497 AANDNPS, 498 AANDPD, 499 AANDPS, 500 ACMPPD, 501 ACMPPS, 502 ACMPSD, 503 ACMPSS, 504 ACOMISD, 505 ACOMISS, 506 ACVTPD2PL, 507 ACVTPD2PS, 508 ACVTPL2PD, 509 ACVTPL2PS, 510 ACVTPS2PD, 511 ACVTPS2PL, 512 ACVTSD2SL, 513 ACVTSD2SQ, 514 ACVTSD2SS, 515 ACVTSL2SD, 516 ACVTSL2SS, 517 ACVTSQ2SD, 518 ACVTSQ2SS, 519 ACVTSS2SD, 520 ACVTSS2SL, 521 ACVTSS2SQ, 522 ACVTTPD2PL, 523 ACVTTPS2PL, 524 ACVTTSD2SL, 525 ACVTTSD2SQ, 526 ACVTTSS2SL, 527 ACVTTSS2SQ, 528 ADIVPD, 529 ADIVPS, 530 ADIVSD, 531 ADIVSS, 532 AEMMS, 533 AFXRSTOR, 534 AFXRSTOR64, 535 AFXSAVE, 536 AFXSAVE64, 537 ALDMXCSR, 538 AMASKMOVOU, 539 AMASKMOVQ, 540 AMAXPD, 541 AMAXPS, 542 AMAXSD, 543 AMAXSS, 544 AMINPD, 545 AMINPS, 546 AMINSD, 547 AMINSS, 548 AMOVAPD, 549 AMOVAPS, 550 AMOVOU, 551 AMOVHLPS, 552 AMOVHPD, 553 AMOVHPS, 554 AMOVLHPS, 555 AMOVLPD, 556 AMOVLPS, 557 AMOVMSKPD, 558 AMOVMSKPS, 559 AMOVNTO, 560 AMOVNTPD, 561 AMOVNTPS, 562 AMOVNTQ, 563 AMOVO, 564 AMOVQOZX, 565 AMOVSD, 566 AMOVSS, 567 AMOVUPD, 568 AMOVUPS, 569 AMULPD, 570 AMULPS, 571 AMULSD, 572 AMULSS, 573 AORPD, 574 AORPS, 575 APACKSSLW, 576 APACKSSWB, 577 APACKUSWB, 578 APADDB, 579 APADDL, 580 APADDQ, 581 APADDSB, 582 APADDSW, 583 APADDUSB, 584 APADDUSW, 585 APADDW, 586 APANDB, 587 APANDL, 588 APANDSB, 589 APANDSW, 590 APANDUSB, 591 APANDUSW, 592 APANDW, 593 APAND, 594 APANDN, 595 APAVGB, 596 APAVGW, 597 APCMPEQB, 598 APCMPEQL, 599 APCMPEQW, 600 APCMPGTB, 601 APCMPGTL, 602 APCMPGTW, 603 APEXTRW, 604 APFACC, 605 APFADD, 606 APFCMPEQ, 607 APFCMPGE, 608 APFCMPGT, 609 APFMAX, 610 APFMIN, 611 APFMUL, 612 APFNACC, 613 APFPNACC, 614 APFRCP, 615 APFRCPIT1, 616 APFRCPI2T, 617 APFRSQIT1, 618 APFRSQRT, 619 APFSUB, 620 APFSUBR, 621 APINSRW, 622 APMADDWL, 623 APMAXSW, 624 APMAXUB, 625 APMINSW, 626 APMINUB, 627 APMOVMSKB, 628 APMULHRW, 629 APMULHUW, 630 APMULHW, 631 APMULLW, 632 APMULULQ, 633 APOR, 634 APSADBW, 635 APSHUFHW, 636 APSHUFL, 637 APSHUFLW, 638 APSHUFW, 639 APSLLO, 640 APSLLL, 641 APSLLQ, 642 APSLLW, 643 APSRAL, 644 APSRAW, 645 APSRLO, 646 APSRLL, 647 APSRLQ, 648 APSRLW, 649 APSUBB, 650 APSUBL, 651 APSUBQ, 652 APSUBSB, 653 APSUBSW, 654 APSUBUSB, 655 APSUBUSW, 656 APSUBW, 657 APSWAPL, 658 APUNPCKHBW, 659 APUNPCKHLQ, 660 APUNPCKHQDQ, 661 APUNPCKHWL, 662 APUNPCKLBW, 663 APUNPCKLLQ, 664 APUNPCKLQDQ, 665 APUNPCKLWL, 666 APXOR, 667 ARCPPS, 668 ARCPSS, 669 ARSQRTPS, 670 ARSQRTSS, 671 ASHUFPD, 672 ASHUFPS, 673 ASQRTPD, 674 ASQRTPS, 675 ASQRTSD, 676 ASQRTSS, 677 ASTMXCSR, 678 ASUBPD, 679 ASUBPS, 680 ASUBSD, 681 ASUBSS, 682 AUCOMISD, 683 AUCOMISS, 684 AUNPCKHPD, 685 AUNPCKHPS, 686 AUNPCKLPD, 687 AUNPCKLPS, 688 AXORPD, 689 AXORPS, 690 691 APF2IW, 692 APF2IL, 693 API2FW, 694 API2FL, 695 ARETFW, 696 ARETFL, 697 ARETFQ, 698 ASWAPGS, 699 700 AMODE, 701 702 ALAST 703 }; 704 705 enum 706 { 707 708 D_AL = 0, 709 D_CL, 710 D_DL, 711 D_BL, 712 D_SPB, 713 D_BPB, 714 D_SIB, 715 D_DIB, 716 D_R8B, 717 D_R9B, 718 D_R10B, 719 D_R11B, 720 D_R12B, 721 D_R13B, 722 D_R14B, 723 D_R15B, 724 725 D_AX = 16, 726 D_CX, 727 D_DX, 728 D_BX, 729 D_SP, 730 D_BP, 731 D_SI, 732 D_DI, 733 D_R8, 734 D_R9, 735 D_R10, 736 D_R11, 737 D_R12, 738 D_R13, 739 D_R14, 740 D_R15, 741 742 D_AH = 32, 743 D_CH, 744 D_DH, 745 D_BH, 746 747 D_F0 = 36, 748 749 D_M0 = 44, 750 751 D_X0 = 52, 752 753 D_CS = 68, 754 D_SS, 755 D_DS, 756 D_ES, 757 D_FS, 758 D_GS, 759 760 D_GDTR, /* global descriptor table register */ 761 D_IDTR, /* interrupt descriptor table register */ 762 D_LDTR, /* local descriptor table register */ 763 D_MSW, /* machine status word */ 764 D_TASK, /* task register */ 765 766 D_CR = 79, 767 D_DR = 95, 768 D_TR = 103, 769 770 D_NONE = 111, 771 772 D_BRANCH = 112, 773 D_EXTERN = 113, 774 D_STATIC = 114, 775 D_AUTO = 115, 776 D_PARAM = 116, 777 D_CONST = 117, 778 D_FCONST = 118, 779 D_SCONST = 119, 780 D_ADDR = 120, 781 782 D_FILE, 783 D_FILE1, 784 785 D_INDIR, /* additive */ 786 787 T_TYPE = 1<<0, 788 T_INDEX = 1<<1, 789 T_OFFSET = 1<<2, 790 T_FCONST = 1<<3, 791 T_SYM = 1<<4, 792 T_SCONST = 1<<5, 793 T_64 = 1<<6, 794 795 REGARG = D_BP, /* MIGHT CHANGE */ 796 REGRET = D_AX, 797 FREGRET = D_X0, 798 REGSP = D_SP, 799 REGTMP = D_DI, 800 REGEXT = D_R15, /* compiler allocates external registers R15 down */ 801 FREGMIN = D_X0+5, /* first register variable */ 802 FREGEXT = D_X0+7 /* first external register */ 803 }; 804 805 /* 806 * this is the ranlib header 807 */ 808 #define SYMDEF "__.SYMDEF" 809 810 /* 811 * this is the simulated IEEE floating point 812 */ 813 typedef struct ieee Ieee; 814 struct ieee 815 { 816 long l; /* contains ls-man 0xffffffff */ 817 long h; /* contains sign 0x80000000 818 exp 0x7ff00000 819 ms-man 0x000fffff */ 820 }; 821