Annotation of coherent/b/bin/c/h/i386/opcode.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * h/i386/opcode.h
                      3:  * Opcode index definitions for the i386.
                      4:  * Used in CODE items.
                      5:  * These are indicies into tables in n2/i386/optab.c and n3/i386/icode.c,
                      6:  * modifications must be made in parallel.
                      7:  * The list must stop below 200, as this is the coder macro base.
                      8:  * Be very careful if you change any of these.
                      9:  * i386.
                     10:  */
                     11: 
                     12: /*
                     13:  * Common Intel i386 instructions.
                     14:  * Dwords, words and bytes;
                     15:  * also flow of control and segmentation.
                     16:  * This is by no means a complete list of i386 opcodes.
                     17:  * Some are unused and could be deleted.
                     18:  * n1/i386/outmch.c assumes a fixed order [dword, byte, word] for variants.
                     19:  */
                     20: #define        ZADC    0
                     21: #define        ZADD    1
                     22: #define        ZADDB   2
                     23: #define        ZADDW   3
                     24: #define        ZAND    4
                     25: #define        ZANDB   5
                     26: #define        ZANDW   6
                     27: #define        ZCALL   7
                     28: #define        ZCBW    8
                     29: #define        ZCDQ    9
                     30: #define        ZCLC    10
                     31: #define        ZCLD    11
                     32: #define        ZCLI    12
                     33: #define        ZCMC    13
                     34: #define        ZCMP    14
                     35: #define        ZCMPB   15
                     36: #define        ZCMPW   16
                     37: #define        ZCMPS   17
                     38: #define        ZCMPSB  18
                     39: #define        ZCMPSW  19
                     40: #define        ZCWD    20
                     41: #define        ZCWDE   21
                     42: #define        ZDEC    22
                     43: #define        ZDECB   23
                     44: #define        ZDECW   24
                     45: #define        ZDIV    25
                     46: #define        ZDIVB   26
                     47: #define        ZDIVW   27
                     48: #define ZENTER 28
                     49: #define        ZHLT    29
                     50: #define        ZICALL  30
                     51: #define        ZIDIV   31
                     52: #define        ZIDIVB  32
                     53: #define        ZIDIVW  33
                     54: #define        ZIJMP   34
                     55: #define        ZIMUL   35
                     56: #define        ZIMULB  36
                     57: #define        ZIMULW  37
                     58: #define ZIMULI 38      /* Multiply immediate */
                     59: #define        ZINC    39
                     60: #define        ZINCB   40
                     61: #define        ZINCW   41
                     62: #define        ZIRET   42
                     63: #define        ZIXCALL 43
                     64: #define        ZIXJMP  44
                     65: #define        ZJA     45
                     66: #define        ZJAE    46
                     67: #define        ZJB     47
                     68: #define        ZJBE    48
                     69: #define        ZJCXZ   49
                     70: #define        ZJE     50
                     71: #define        ZJG     51
                     72: #define        ZJGE    52
                     73: #define        ZJL     53
                     74: #define        ZJLE    54
                     75: #define        ZJMP    55
                     76: #define        ZJNE    56
                     77: #define        ZJNO    57
                     78: #define        ZJNS    58
                     79: #define        ZJO     59
                     80: #define        ZJPE    60
                     81: #define        ZJPO    61
                     82: #define        ZJS     62
                     83: #define        ZLEA    63
                     84: #define ZLEAVE 64
                     85: #define        ZLOCK   65
                     86: #define        ZLODS   66
                     87: #define        ZLODSB  67
                     88: #define        ZLOOP   68
                     89: #define        ZLOOPE  69
                     90: #define        ZLOOPNE 70
                     91: #define        ZMOV    71
                     92: #define        ZMOVB   72
                     93: #define        ZMOVW   73
                     94: #define        ZMOVS   74
                     95: #define        ZMOVSB  75
                     96: #define        ZMOVSX  76
                     97: #define        ZMOVSXB 77
                     98: #define        ZMOVZX  78
                     99: #define        ZMOVZXB 79
                    100: #define        ZMUL    80
                    101: #define        ZMULB   81
                    102: #define        ZMULW   82
                    103: #define        ZNEG    83
                    104: #define        ZNEGB   84
                    105: #define        ZNEGW   85
                    106: #define        ZNOT    86
                    107: #define        ZNOTB   87
                    108: #define        ZNOTW   88
                    109: #define        ZNRET   89
                    110: #define        ZNXRET  90
                    111: #define        ZOR     91
                    112: #define        ZORB    92
                    113: #define        ZORW    93
                    114: #define        ZPOP    94
                    115: #define        ZPOPF   95
                    116: #define        ZPUSH   96
                    117: #define        ZPUSHF  97
                    118: #define        ZRCL    98
                    119: #define        ZRCLB   99
                    120: #define        ZRCR    100
                    121: #define        ZRCRB   101
                    122: #define        ZREPE   102
                    123: #define        ZREPNE  103
                    124: #define        ZRET    104
                    125: #define        ZROL    105
                    126: #define        ZROLB   106
                    127: #define        ZROR    107
                    128: #define        ZRORB   108
                    129: #define        ZSAL    109
                    130: #define        ZSALB   110
                    131: #define        ZSALW   111
                    132: #define        ZSAR    112
                    133: #define        ZSARB   113
                    134: #define        ZSARW   114
                    135: #define        ZSBB    115
                    136: #define        ZSCAS   116
                    137: #define        ZSCASB  117
                    138: #define        ZSHL    118
                    139: #define        ZSHLB   119
                    140: #define        ZSHLW   120
                    141: #define        ZSHR    121
                    142: #define        ZSHRB   122
                    143: #define        ZSHRW   123
                    144: #define        ZSTC    124
                    145: #define        ZSTD    125
                    146: #define        ZSTI    126
                    147: #define        ZSTOS   127
                    148: #define        ZSTOSB  128
                    149: #define        ZSUB    129
                    150: #define        ZSUBB   130
                    151: #define        ZSUBW   131
                    152: #define        ZTEST   132
                    153: #define        ZTESTB  133
                    154: #define        ZTESTW  134
                    155: #define        ZWAIT   135
                    156: #define        ZXCALL  136
                    157: #define        ZXCHG   137
                    158: #define        ZXCHGB  138
                    159: #define        ZXJMP   139
                    160: #define        ZXOR    140
                    161: #define        ZXORB   141
                    162: #define        ZXORW   142
                    163: #define        ZXRET   143
                    164: 
                    165: /*
                    166:  * Specials.
                    167:  */
                    168: #define        ZBYTE   144
                    169: #define        ZWORD   145
                    170: #define        ZLONG   146
                    171: #define        ZLPTR   147
                    172: #define        ZGPTR   148
                    173: 
                    174: /* Unused opcodes, retained for no good reason. */
                    175: #if    0
                    176: #define        ZAAA    xx
                    177: #define        ZAAD    xx
                    178: #define        ZAAM    xx
                    179: #define        ZAAS    xx
                    180: #define        ZADCB   xx
                    181: #define        ZDAA    xx
                    182: #define        ZDAS    xx
                    183: #define        ZIN     xx
                    184: #define        ZINB    xx
                    185: #define        ZINT    xx
                    186: #define        ZINTO   xx
                    187: #define        ZLAHF   xx
                    188: #define        ZLDS    xx
                    189: #define        ZLES    xx
                    190: #define        ZOUT    xx
                    191: #define        ZOUTB   xx
                    192: #define        ZSAHF   xx
                    193: #define        ZSBBB   xx
                    194: #define        ZXLAT   xx
                    195: #endif
                    196: 
                    197: #if    1
                    198: /*
                    199:  * Opcodes for the Intel 80x87 numeric data processor (NDP).
                    200:  * Not an exhaustive list, mostly just the ones we use.
                    201:  * n1/i386/outmch.c assumes a fixed order [double, float, dword, word] for variants.
                    202:  */
                    203: #define        ZFADDD  149
                    204: #define        ZFADDF  150
                    205: #define        ZFADDL  151
                    206: #define        ZFADDI  152
                    207: #define        ZFSUBD  153
                    208: #define        ZFSUBF  154
                    209: #define        ZFSUBL  155
                    210: #define        ZFSUBI  156
                    211: #define        ZFRSUBD 157
                    212: #define        ZFRSUBF 158
                    213: #define        ZFRSUBL 159
                    214: #define        ZFRSUBI 160
                    215: #define        ZFCOMPP 161
                    216: #define        ZFCOMPD 162
                    217: #define        ZFCOMPF 163
                    218: #define        ZFCOMPL 164
                    219: #define        ZFCOMPI 165
                    220: #define        ZFMULD  166
                    221: #define        ZFMULF  167
                    222: #define        ZFMULL  168
                    223: #define        ZFMULI  169
                    224: #define        ZFDIVD  170
                    225: #define        ZFDIVF  171
                    226: #define        ZFDIVL  172
                    227: #define        ZFDIVI  173
                    228: #define        ZFRDIVD 174
                    229: #define        ZFRDIVF 175
                    230: #define        ZFRDIVL 176
                    231: #define        ZFRDIVI 177
                    232: #define        ZFCHS   178
                    233: #define        ZFTST   179
                    234: #define        ZFLDZ   180
                    235: #define        ZFLD1   181
                    236: #define        ZFSTSW  182
                    237: #define        ZFLDD   183
                    238: #define        ZFLDF   184
                    239: #define        ZFLDL   185
                    240: #define        ZFLDI   186
                    241: #define        ZFLDT   187
                    242: #define        ZFSTD   188
                    243: #define        ZFSTF   189
                    244: #define        ZFSTL   190
                    245: #define        ZFSTI   191
                    246: #define        ZFSTPD  192
                    247: #define        ZFSTPF  193
                    248: #define        ZFSTPL  194
                    249: #define        ZFSTPI  195
                    250: #define        ZFSTPT  196
                    251: #define        ZFWAIT  197
                    252: #define        ZFDROP  198
                    253: #define        is_ndp_op(op)   (ZFADDD <= (op) && (op) <= ZFDROP)
                    254: 
                    255: /* Unused... */
                    256: #if    0
                    257: #define        ZFADD   xx
                    258: #define        ZFSUB   xx
                    259: #define        ZFRSUB  xx
                    260: #define        ZFMUL   xx
                    261: #define        ZFDIV   xx
                    262: #define        ZFRDIV  xx
                    263: #endif
                    264: 
                    265: #endif
                    266: 
                    267: /* h/i386/opcode.h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.