|
|
1.1 root 1: /*
2: * Opcode index definitions for the iAPX-86.
3: * These are used in CODE file items and are indicies into opcode tables
4: * in n2/i8086/optab.c and n3/i8086/icode.c.
5: * Modifications must be made in parallel.
6: * Be very careful if you change any of these.
7: */
8:
9: /*
10: * Common Intel 8086 instructions.
11: * Words and bytes. Also flow of control and
12: * segmentation.
13: */
14: #define ZAAA 0
15: #define ZAAD 1
16: #define ZAAM 2
17: #define ZAAS 3
18: #define ZADC 4
19: #define ZADCB 5
20: #define ZADD 6
21: #define ZADDB 7
22: #define ZAND 8
23: #define ZANDB 9
24: #define ZCALL 10
25: #define ZCBW 11
26: #define ZCLC 12
27: #define ZCLD 13
28: #define ZCLI 14
29: #define ZCMC 15
30: #define ZCMP 16
31: #define ZCMPB 17
32: #define ZCMPS 18
33: #define ZCMPSB 19
34: #define ZCWD 20
35: #define ZDAA 21
36: #define ZDAS 22
37: #define ZDEC 23
38: #define ZDECB 24
39: #define ZDIV 25
40: #define ZDIVB 26
41: #define ZHLT 27
42: #define ZICALL 28
43: #define ZIDIV 29
44: #define ZIDIVB 30
45: #define ZIJMP 31
46: #define ZIMUL 32
47: #define ZIMULB 33
48: #define ZIN 34
49: #define ZINB 35
50: #define ZINC 36
51: #define ZINCB 37
52: #define ZINT 38
53: #define ZINTO 39
54: #define ZIRET 40
55: #define ZIXCALL 41
56: #define ZIXJMP 42
57: #define ZJA 43
58: #define ZJAE 44
59: #define ZJB 45
60: #define ZJBE 46
61: #define ZJCXZ 47
62: #define ZJE 48
63: #define ZJG 49
64: #define ZJGE 50
65: #define ZJL 51
66: #define ZJLE 52
67: #define ZJMP 53
68: #define ZJNE 54
69: #define ZJNO 55
70: #define ZJNS 56
71: #define ZJO 57
72: #define ZJPE 58
73: #define ZJPO 59
74: #define ZJS 60
75: #define ZLAHF 61
76: #define ZLDS 62
77: #define ZLEA 63
78: #define ZLES 64
79: #define ZLOCK 65
80: #define ZLODS 66
81: #define ZLODSB 67
82: #define ZLOOP 68
83: #define ZLOOPE 69
84: #define ZLOOPNE 70
85: #define ZMOV 71
86: #define ZMOVB 72
87: #define ZMOVS 73
88: #define ZMOVSB 74
89: #define ZMUL 75
90: #define ZMULB 76
91: #define ZNEG 77
92: #define ZNEGB 78
93: #define ZNOT 79
94: #define ZNOTB 80
95: #define ZNRET 81
96: #define ZNXRET 82
97: #define ZOR 83
98: #define ZORB 84
99: #define ZOUT 85
100: #define ZOUTB 86
101: #define ZPOP 87
102: #define ZPOPF 88
103: #define ZPUSH 89
104: #define ZPUSHF 90
105: #define ZRCL 91
106: #define ZRCLB 92
107: #define ZRCR 93
108: #define ZRCRB 94
109: #define ZREPE 95
110: #define ZREPNE 96
111: #define ZRET 97
112: #define ZROL 98
113: #define ZROLB 99
114: #define ZROR 100
115: #define ZRORB 101
116: #define ZSAHF 102
117: #define ZSAL 103
118: #define ZSALB 104
119: #define ZSAR 105
120: #define ZSARB 106
121: #define ZSBB 107
122: #define ZSBBB 108
123: #define ZSCAS 109
124: #define ZSCASB 110
125: #define ZSHL 111
126: #define ZSHLB 112
127: #define ZSHR 113
128: #define ZSHRB 114
129: #define ZSTC 115
130: #define ZSTD 116
131: #define ZSTI 117
132: #define ZSTOS 118
133: #define ZSTOSB 119
134: #define ZSUB 120
135: #define ZSUBB 121
136: #define ZTEST 122
137: #define ZTESTB 123
138: #define ZWAIT 124
139: #define ZXCALL 125
140: #define ZXCHG 126
141: #define ZXCHGB 127
142: #define ZXJMP 128
143: #define ZXLAT 129
144: #define ZXOR 130
145: #define ZXORB 131
146: #define ZXRET 132
147: #define ZBYTE 133
148: #define ZWORD 134
149: #define ZLPTR 135
150: #define ZGPTR 136
151:
152: /*
153: * Opcodes for the Intel 8087 numeric
154: * data processor. Not an exhaustive list.
155: * Only the ones we use. The list must
156: * stop below 200, as this is the coder macro
157: * base.
158: */
159: #define ZFADD 137
160: #define ZFADDF 138
161: #define ZFADDD 139
162: #define ZFADDI 140
163: #define ZFADDL 141
164: #define ZFSUB 142
165: #define ZFSUBF 143
166: #define ZFSUBD 144
167: #define ZFSUBI 145
168: #define ZFSUBL 146
169: #define ZFRSUB 147
170: #define ZFRSUBF 148
171: #define ZFRSUBD 149
172: #define ZFRSUBI 150
173: #define ZFRSUBL 151
174: #define ZFCOMPP 152
175: #define ZFCOMPF 153
176: #define ZFCOMPD 154
177: #define ZFCOMPI 155
178: #define ZFCOMPL 156
179: #define ZFMUL 157
180: #define ZFMULF 158
181: #define ZFMULD 159
182: #define ZFMULI 160
183: #define ZFMULL 161
184: #define ZFDIV 162
185: #define ZFDIVF 163
186: #define ZFDIVD 164
187: #define ZFDIVI 165
188: #define ZFDIVL 166
189: #define ZFRDIV 167
190: #define ZFRDIVF 168
191: #define ZFRDIVD 169
192: #define ZFRDIVI 170
193: #define ZFRDIVL 171
194: #define ZFCHS 172
195: #define ZFTST 173
196: #define ZFLDZ 174
197: #define ZFLD1 175
198: #define ZFSTSW 176
199: #define ZFLDF 177
200: #define ZFLDD 178
201: #define ZFLDI 179
202: #define ZFLDL 180
203: #define ZFLDT 181
204: #define ZFSTF 182
205: #define ZFSTD 183
206: #define ZFSTI 184
207: #define ZFSTL 185
208: #define ZFSTPF 186
209: #define ZFSTPD 187
210: #define ZFSTPI 188
211: #define ZFSTPL 189
212: #define ZFSTPT 190
213: #define ZFWAIT 191
214: #define ZFDROP 192
215: #define ZFSQRT 193
216: #define ZFABS 194
217: #define ZFPREM 195
218: #define ZFRND 196
219:
220: /*
221: * Specials.
222: */
223: #define ZLDES 197
224: #define ZIMULI 198
225: #define ZENTER 199
226: #define ZLEAVE 200 /* Not in code tables, so excess of 199 ok */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.