1 /* 2 * special 286 protected mode instructions missing 3 * at the time the same like table186.h 4 */ 5 6 static void (*PREFIX286(_instruction)[256])(void) = 7 { 8 PREFIX86(_add_br8), /* 0x00 */ 9 PREFIX86(_add_wr16), /* 0x01 */ 10 PREFIX86(_add_r8b), /* 0x02 */ 11 PREFIX86(_add_r16w), /* 0x03 */ 12 PREFIX86(_add_ald8), /* 0x04 */ 13 PREFIX86(_add_axd16), /* 0x05 */ 14 PREFIX86(_push_es), /* 0x06 */ 15 PREFIX86(_pop_es), /* 0x07 */ 16 PREFIX86(_or_br8), /* 0x08 */ 17 PREFIX86(_or_wr16), /* 0x09 */ 18 PREFIX86(_or_r8b), /* 0x0a */ 19 PREFIX86(_or_r16w), /* 0x0b */ 20 PREFIX86(_or_ald8), /* 0x0c */ 21 PREFIX86(_or_axd16), /* 0x0d */ 22 PREFIX86(_push_cs), /* 0x0e */ 23 PREFIX286(_0fpre), 24 PREFIX86(_adc_br8), /* 0x10 */ 25 PREFIX86(_adc_wr16), /* 0x11 */ 26 PREFIX86(_adc_r8b), /* 0x12 */ 27 PREFIX86(_adc_r16w), /* 0x13 */ 28 PREFIX86(_adc_ald8), /* 0x14 */ 29 PREFIX86(_adc_axd16), /* 0x15 */ 30 PREFIX86(_push_ss), /* 0x16 */ 31 PREFIX86(_pop_ss), /* 0x17 */ 32 PREFIX86(_sbb_br8), /* 0x18 */ 33 PREFIX86(_sbb_wr16), /* 0x19 */ 34 PREFIX86(_sbb_r8b), /* 0x1a */ 35 PREFIX86(_sbb_r16w), /* 0x1b */ 36 PREFIX86(_sbb_ald8), /* 0x1c */ 37 PREFIX86(_sbb_axd16), /* 0x1d */ 38 PREFIX86(_push_ds), /* 0x1e */ 39 PREFIX86(_pop_ds), /* 0x1f */ 40 PREFIX86(_and_br8), /* 0x20 */ 41 PREFIX86(_and_wr16), /* 0x21 */ 42 PREFIX86(_and_r8b), /* 0x22 */ 43 PREFIX86(_and_r16w), /* 0x23 */ 44 PREFIX86(_and_ald8), /* 0x24 */ 45 PREFIX86(_and_axd16), /* 0x25 */ 46 PREFIX86(_es), /* 0x26 */ 47 PREFIX86(_daa), /* 0x27 */ 48 PREFIX86(_sub_br8), /* 0x28 */ 49 PREFIX86(_sub_wr16), /* 0x29 */ 50 PREFIX86(_sub_r8b), /* 0x2a */ 51 PREFIX86(_sub_r16w), /* 0x2b */ 52 PREFIX86(_sub_ald8), /* 0x2c */ 53 PREFIX86(_sub_axd16), /* 0x2d */ 54 PREFIX86(_cs), /* 0x2e */ 55 PREFIX86(_das), /* 0x2f */ 56 PREFIX86(_xor_br8), /* 0x30 */ 57 PREFIX86(_xor_wr16), /* 0x31 */ 58 PREFIX86(_xor_r8b), /* 0x32 */ 59 PREFIX86(_xor_r16w), /* 0x33 */ 60 PREFIX86(_xor_ald8), /* 0x34 */ 61 PREFIX86(_xor_axd16), /* 0x35 */ 62 PREFIX86(_ss), /* 0x36 */ 63 PREFIX86(_aaa), /* 0x37 */ 64 PREFIX86(_cmp_br8), /* 0x38 */ 65 PREFIX86(_cmp_wr16), /* 0x39 */ 66 PREFIX86(_cmp_r8b), /* 0x3a */ 67 PREFIX86(_cmp_r16w), /* 0x3b */ 68 PREFIX86(_cmp_ald8), /* 0x3c */ 69 PREFIX86(_cmp_axd16), /* 0x3d */ 70 PREFIX86(_ds), /* 0x3e */ 71 PREFIX86(_aas), /* 0x3f */ 72 PREFIX86(_inc_ax), /* 0x40 */ 73 PREFIX86(_inc_cx), /* 0x41 */ 74 PREFIX86(_inc_dx), /* 0x42 */ 75 PREFIX86(_inc_bx), /* 0x43 */ 76 PREFIX86(_inc_sp), /* 0x44 */ 77 PREFIX86(_inc_bp), /* 0x45 */ 78 PREFIX86(_inc_si), /* 0x46 */ 79 PREFIX86(_inc_di), /* 0x47 */ 80 PREFIX86(_dec_ax), /* 0x48 */ 81 PREFIX86(_dec_cx), /* 0x49 */ 82 PREFIX86(_dec_dx), /* 0x4a */ 83 PREFIX86(_dec_bx), /* 0x4b */ 84 PREFIX86(_dec_sp), /* 0x4c */ 85 PREFIX86(_dec_bp), /* 0x4d */ 86 PREFIX86(_dec_si), /* 0x4e */ 87 PREFIX86(_dec_di), /* 0x4f */ 88 PREFIX86(_push_ax), /* 0x50 */ 89 PREFIX86(_push_cx), /* 0x51 */ 90 PREFIX86(_push_dx), /* 0x52 */ 91 PREFIX86(_push_bx), /* 0x53 */ 92 PREFIX86(_push_sp), /* 0x54 */ 93 PREFIX86(_push_bp), /* 0x55 */ 94 PREFIX86(_push_si), /* 0x56 */ 95 PREFIX86(_push_di), /* 0x57 */ 96 PREFIX86(_pop_ax), /* 0x58 */ 97 PREFIX86(_pop_cx), /* 0x59 */ 98 PREFIX86(_pop_dx), /* 0x5a */ 99 PREFIX86(_pop_bx), /* 0x5b */ 100 PREFIX86(_pop_sp), /* 0x5c */ 101 PREFIX86(_pop_bp), /* 0x5d */ 102 PREFIX86(_pop_si), /* 0x5e */ 103 PREFIX86(_pop_di), /* 0x5f */ 104 PREFIX186(_pusha), /* 0x60 */ 105 PREFIX186(_popa), /* 0x61 */ 106 PREFIX186(_bound), /* 0x62 */ 107 PREFIX286(_arpl), /* 0x63 */ 108 PREFIX286(_invalid), 109 PREFIX286(_invalid), 110 PREFIX286(_invalid), 111 PREFIX286(_invalid), 112 PREFIX186(_push_d16), /* 0x68 */ 113 PREFIX186(_imul_d16), /* 0x69 */ 114 PREFIX186(_push_d8), /* 0x6a */ 115 PREFIX186(_imul_d8), /* 0x6b */ 116 PREFIX186(_insb), /* 0x6c */ 117 PREFIX186(_insw), /* 0x6d */ 118 PREFIX186(_outsb), /* 0x6e */ 119 PREFIX186(_outsw), /* 0x6f */ 120 PREFIX86(_jo), /* 0x70 */ 121 PREFIX86(_jno), /* 0x71 */ 122 PREFIX86(_jb), /* 0x72 */ 123 PREFIX86(_jnb), /* 0x73 */ 124 PREFIX86(_jz), /* 0x74 */ 125 PREFIX86(_jnz), /* 0x75 */ 126 PREFIX86(_jbe), /* 0x76 */ 127 PREFIX86(_jnbe), /* 0x77 */ 128 PREFIX86(_js), /* 0x78 */ 129 PREFIX86(_jns), /* 0x79 */ 130 PREFIX86(_jp), /* 0x7a */ 131 PREFIX86(_jnp), /* 0x7b */ 132 PREFIX86(_jl), /* 0x7c */ 133 PREFIX86(_jnl), /* 0x7d */ 134 PREFIX86(_jle), /* 0x7e */ 135 PREFIX86(_jnle), /* 0x7f */ 136 PREFIX86(_80pre), /* 0x80 */ 137 PREFIX86(_81pre), /* 0x81 */ 138 PREFIX86(_82pre), /* 0x82 */ 139 PREFIX86(_83pre), /* 0x83 */ 140 PREFIX86(_test_br8), /* 0x84 */ 141 PREFIX86(_test_wr16), /* 0x85 */ 142 PREFIX86(_xchg_br8), /* 0x86 */ 143 PREFIX86(_xchg_wr16), /* 0x87 */ 144 PREFIX86(_mov_br8), /* 0x88 */ 145 PREFIX86(_mov_wr16), /* 0x89 */ 146 PREFIX86(_mov_r8b), /* 0x8a */ 147 PREFIX86(_mov_r16w), /* 0x8b */ 148 PREFIX86(_mov_wsreg), /* 0x8c */ 149 PREFIX86(_lea), /* 0x8d */ 150 PREFIX86(_mov_sregw), /* 0x8e */ 151 PREFIX86(_popw), /* 0x8f */ 152 PREFIX86(_nop), /* 0x90 */ 153 PREFIX86(_xchg_axcx), /* 0x91 */ 154 PREFIX86(_xchg_axdx), /* 0x92 */ 155 PREFIX86(_xchg_axbx), /* 0x93 */ 156 PREFIX86(_xchg_axsp), /* 0x94 */ 157 PREFIX86(_xchg_axbp), /* 0x95 */ 158 PREFIX86(_xchg_axsi), /* 0x97 */ 159 PREFIX86(_xchg_axdi), /* 0x97 */ 160 PREFIX86(_cbw), /* 0x98 */ 161 PREFIX86(_cwd), /* 0x99 */ 162 PREFIX86(_call_far), /* 0x9a */ 163 PREFIX86(_wait), /* 0x9b */ 164 PREFIX86(_pushf), /* 0x9c */ 165 PREFIX86(_popf), /* 0x9d */ 166 PREFIX86(_sahf), /* 0x9e */ 167 PREFIX86(_lahf), /* 0x9f */ 168 PREFIX86(_mov_aldisp), /* 0xa0 */ 169 PREFIX86(_mov_axdisp), /* 0xa1 */ 170 PREFIX86(_mov_dispal), /* 0xa2 */ 171 PREFIX86(_mov_dispax), /* 0xa3 */ 172 PREFIX86(_movsb), /* 0xa4 */ 173 PREFIX86(_movsw), /* 0xa5 */ 174 PREFIX86(_cmpsb), /* 0xa6 */ 175 PREFIX86(_cmpsw), /* 0xa7 */ 176 PREFIX86(_test_ald8), /* 0xa8 */ 177 PREFIX86(_test_axd16), /* 0xa9 */ 178 PREFIX86(_stosb), /* 0xaa */ 179 PREFIX86(_stosw), /* 0xab */ 180 PREFIX86(_lodsb), /* 0xac */ 181 PREFIX86(_lodsw), /* 0xad */ 182 PREFIX86(_scasb), /* 0xae */ 183 PREFIX86(_scasw), /* 0xaf */ 184 PREFIX86(_mov_ald8), /* 0xb0 */ 185 PREFIX86(_mov_cld8), /* 0xb1 */ 186 PREFIX86(_mov_dld8), /* 0xb2 */ 187 PREFIX86(_mov_bld8), /* 0xb3 */ 188 PREFIX86(_mov_ahd8), /* 0xb4 */ 189 PREFIX86(_mov_chd8), /* 0xb5 */ 190 PREFIX86(_mov_dhd8), /* 0xb6 */ 191 PREFIX86(_mov_bhd8), /* 0xb7 */ 192 PREFIX86(_mov_axd16), /* 0xb8 */ 193 PREFIX86(_mov_cxd16), /* 0xb9 */ 194 PREFIX86(_mov_dxd16), /* 0xba */ 195 PREFIX86(_mov_bxd16), /* 0xbb */ 196 PREFIX86(_mov_spd16), /* 0xbc */ 197 PREFIX86(_mov_bpd16), /* 0xbd */ 198 PREFIX86(_mov_sid16), /* 0xbe */ 199 PREFIX86(_mov_did16), /* 0xbf */ 200 PREFIX186(_rotshft_bd8), /* 0xc0 */ 201 PREFIX186(_rotshft_wd8), /* 0xc1 */ 202 PREFIX86(_ret_d16), /* 0xc2 */ 203 PREFIX86(_ret), /* 0xc3 */ 204 PREFIX86(_les_dw), /* 0xc4 */ 205 PREFIX86(_lds_dw), /* 0xc5 */ 206 PREFIX86(_mov_bd8), /* 0xc6 */ 207 PREFIX86(_mov_wd16), /* 0xc7 */ 208 PREFIX186(_enter), /* 0xc8 */ 209 PREFIX186(_leave), /* 0xc9 */ 210 PREFIX86(_retf_d16), /* 0xca */ 211 PREFIX86(_retf), /* 0xcb */ 212 PREFIX86(_int3), /* 0xcc */ 213 PREFIX86(_int), /* 0xcd */ 214 PREFIX86(_into), /* 0xce */ 215 PREFIX86(_iret), /* 0xcf */ 216 PREFIX86(_rotshft_b), /* 0xd0 */ 217 PREFIX86(_rotshft_w), /* 0xd1 */ 218 PREFIX86(_rotshft_bcl), /* 0xd2 */ 219 PREFIX86(_rotshft_wcl), /* 0xd3 */ 220 PREFIX86(_aam), /* 0xd4 */ 221 PREFIX86(_aad), /* 0xd5 */ 222 PREFIX286(_invalid), 223 PREFIX86(_xlat), /* 0xd7 */ 224 PREFIX86(_escape), /* 0xd8 */ 225 PREFIX86(_escape), /* 0xd9 */ 226 PREFIX86(_escape), /* 0xda */ 227 PREFIX86(_escape), /* 0xdb */ 228 PREFIX86(_escape), /* 0xdc */ 229 PREFIX86(_escape), /* 0xdd */ 230 PREFIX86(_escape), /* 0xde */ 231 PREFIX86(_escape), /* 0xdf */ 232 PREFIX86(_loopne), /* 0xe0 */ 233 PREFIX86(_loope), /* 0xe1 */ 234 PREFIX86(_loop), /* 0xe2 */ 235 PREFIX86(_jcxz), /* 0xe3 */ 236 PREFIX86(_inal), /* 0xe4 */ 237 PREFIX86(_inax), /* 0xe5 */ 238 PREFIX86(_outal), /* 0xe6 */ 239 PREFIX86(_outax), /* 0xe7 */ 240 PREFIX86(_call_d16), /* 0xe8 */ 241 PREFIX86(_jmp_d16), /* 0xe9 */ 242 PREFIX86(_jmp_far), /* 0xea */ 243 PREFIX86(_jmp_d8), /* 0xeb */ 244 PREFIX86(_inaldx), /* 0xec */ 245 PREFIX86(_inaxdx), /* 0xed */ 246 PREFIX86(_outdxal), /* 0xee */ 247 PREFIX86(_outdxax), /* 0xef */ 248 PREFIX86(_lock), /* 0xf0 */ 249 PREFIX286(_invalid), /* 0xf1 */ 250 PREFIX186(_repne), /* 0xf2 */ 251 PREFIX186(_repe), /* 0xf3 */ 252 PREFIX86(_hlt), /* 0xf4 */ 253 PREFIX86(_cmc), /* 0xf5 */ 254 PREFIX86(_f6pre), /* 0xf6 */ 255 PREFIX86(_f7pre), /* 0xf7 */ 256 PREFIX86(_clc), /* 0xf8 */ 257 PREFIX86(_stc), /* 0xf9 */ 258 PREFIX86(_cli), /* 0xfa */ 259 PREFIX86(_sti), /* 0xfb */ 260 PREFIX86(_cld), /* 0xfc */ 261 PREFIX86(_std), /* 0xfd */ 262 PREFIX86(_fepre), /* 0xfe */ 263 PREFIX86(_ffpre) /* 0xff */ 264 }; 265 266 #if defined(BIGCASE) && !defined(RS6000) 267 /* Some compilers cannot handle large case statements */ 268 #define TABLE286 \ 269 switch(FETCHOP)\ 270 {\ 271 case 0x00: PREFIX86(_add_br8)(); break;\ 272 case 0x01: PREFIX86(_add_wr16)(); break;\ 273 case 0x02: PREFIX86(_add_r8b)(); break;\ 274 case 0x03: PREFIX86(_add_r16w)(); break;\ 275 case 0x04: PREFIX86(_add_ald8)(); break;\ 276 case 0x05: PREFIX86(_add_axd16)(); break;\ 277 case 0x06: PREFIX86(_push_es)(); break;\ 278 case 0x07: PREFIX86(_pop_es)(); break;\ 279 case 0x08: PREFIX86(_or_br8)(); break;\ 280 case 0x09: PREFIX86(_or_wr16)(); break;\ 281 case 0x0a: PREFIX86(_or_r8b)(); break;\ 282 case 0x0b: PREFIX86(_or_r16w)(); break;\ 283 case 0x0c: PREFIX86(_or_ald8)(); break;\ 284 case 0x0d: PREFIX86(_or_axd16)(); break;\ 285 case 0x0e: PREFIX86(_push_cs)(); break;\ 286 case 0x0f: PREFIX286(_0fpre)(); break;\ 287 case 0x10: PREFIX86(_adc_br8)(); break;\ 288 case 0x11: PREFIX86(_adc_wr16)(); break;\ 289 case 0x12: PREFIX86(_adc_r8b)(); break;\ 290 case 0x13: PREFIX86(_adc_r16w)(); break;\ 291 case 0x14: PREFIX86(_adc_ald8)(); break;\ 292 case 0x15: PREFIX86(_adc_axd16)(); break;\ 293 case 0x16: PREFIX86(_push_ss)(); break;\ 294 case 0x17: PREFIX86(_pop_ss)(); break;\ 295 case 0x18: PREFIX86(_sbb_br8)(); break;\ 296 case 0x19: PREFIX86(_sbb_wr16)(); break;\ 297 case 0x1a: PREFIX86(_sbb_r8b)(); break;\ 298 case 0x1b: PREFIX86(_sbb_r16w)(); break;\ 299 case 0x1c: PREFIX86(_sbb_ald8)(); break;\ 300 case 0x1d: PREFIX86(_sbb_axd16)(); break;\ 301 case 0x1e: PREFIX86(_push_ds)(); break;\ 302 case 0x1f: PREFIX86(_pop_ds)(); break;\ 303 case 0x20: PREFIX86(_and_br8)(); break;\ 304 case 0x21: PREFIX86(_and_wr16)(); break;\ 305 case 0x22: PREFIX86(_and_r8b)(); break;\ 306 case 0x23: PREFIX86(_and_r16w)(); break;\ 307 case 0x24: PREFIX86(_and_ald8)(); break;\ 308 case 0x25: PREFIX86(_and_axd16)(); break;\ 309 case 0x26: PREFIX86(_es)(); break;\ 310 case 0x27: PREFIX86(_daa)(); break;\ 311 case 0x28: PREFIX86(_sub_br8)(); break;\ 312 case 0x29: PREFIX86(_sub_wr16)(); break;\ 313 case 0x2a: PREFIX86(_sub_r8b)(); break;\ 314 case 0x2b: PREFIX86(_sub_r16w)(); break;\ 315 case 0x2c: PREFIX86(_sub_ald8)(); break;\ 316 case 0x2d: PREFIX86(_sub_axd16)(); break;\ 317 case 0x2e: PREFIX86(_cs)(); break;\ 318 case 0x2f: PREFIX86(_das)(); break;\ 319 case 0x30: PREFIX86(_xor_br8)(); break;\ 320 case 0x31: PREFIX86(_xor_wr16)(); break;\ 321 case 0x32: PREFIX86(_xor_r8b)(); break;\ 322 case 0x33: PREFIX86(_xor_r16w)(); break;\ 323 case 0x34: PREFIX86(_xor_ald8)(); break;\ 324 case 0x35: PREFIX86(_xor_axd16)(); break;\ 325 case 0x36: PREFIX86(_ss)(); break;\ 326 case 0x37: PREFIX86(_aaa)(); break;\ 327 case 0x38: PREFIX86(_cmp_br8)(); break;\ 328 case 0x39: PREFIX86(_cmp_wr16)(); break;\ 329 case 0x3a: PREFIX86(_cmp_r8b)(); break;\ 330 case 0x3b: PREFIX86(_cmp_r16w)(); break;\ 331 case 0x3c: PREFIX86(_cmp_ald8)(); break;\ 332 case 0x3d: PREFIX86(_cmp_axd16)(); break;\ 333 case 0x3e: PREFIX86(_ds)(); break;\ 334 case 0x3f: PREFIX86(_aas)(); break;\ 335 case 0x40: PREFIX86(_inc_ax)(); break;\ 336 case 0x41: PREFIX86(_inc_cx)(); break;\ 337 case 0x42: PREFIX86(_inc_dx)(); break;\ 338 case 0x43: PREFIX86(_inc_bx)(); break;\ 339 case 0x44: PREFIX86(_inc_sp)(); break;\ 340 case 0x45: PREFIX86(_inc_bp)(); break;\ 341 case 0x46: PREFIX86(_inc_si)(); break;\ 342 case 0x47: PREFIX86(_inc_di)(); break;\ 343 case 0x48: PREFIX86(_dec_ax)(); break;\ 344 case 0x49: PREFIX86(_dec_cx)(); break;\ 345 case 0x4a: PREFIX86(_dec_dx)(); break;\ 346 case 0x4b: PREFIX86(_dec_bx)(); break;\ 347 case 0x4c: PREFIX86(_dec_sp)(); break;\ 348 case 0x4d: PREFIX86(_dec_bp)(); break;\ 349 case 0x4e: PREFIX86(_dec_si)(); break;\ 350 case 0x4f: PREFIX86(_dec_di)(); break;\ 351 case 0x50: PREFIX86(_push_ax)(); break;\ 352 case 0x51: PREFIX86(_push_cx)(); break;\ 353 case 0x52: PREFIX86(_push_dx)(); break;\ 354 case 0x53: PREFIX86(_push_bx)(); break;\ 355 case 0x54: PREFIX86(_push_sp)(); break;\ 356 case 0x55: PREFIX86(_push_bp)(); break;\ 357 case 0x56: PREFIX86(_push_si)(); break;\ 358 case 0x57: PREFIX86(_push_di)(); break;\ 359 case 0x58: PREFIX86(_pop_ax)(); break;\ 360 case 0x59: PREFIX86(_pop_cx)(); break;\ 361 case 0x5a: PREFIX86(_pop_dx)(); break;\ 362 case 0x5b: PREFIX86(_pop_bx)(); break;\ 363 case 0x5c: PREFIX86(_pop_sp)(); break;\ 364 case 0x5d: PREFIX86(_pop_bp)(); break;\ 365 case 0x5e: PREFIX86(_pop_si)(); break;\ 366 case 0x5f: PREFIX86(_pop_di)(); break;\ 367 case 0x60: PREFIX186(_pusha)(); break;\ 368 case 0x61: PREFIX186(_popa)(); break;\ 369 case 0x62: PREFIX186(_bound)(); break;\ 370 case 0x63: PREFIX286(_arpl)(); break;\ 371 case 0x64: PREFIX286(_invalid)(); break;\ 372 case 0x65: PREFIX286(_invalid)(); break;\ 373 case 0x66: PREFIX286(_invalid)(); break;\ 374 case 0x67: PREFIX286(_invalid)(); break;\ 375 case 0x68: PREFIX186(_push_d16)(); break;\ 376 case 0x69: PREFIX186(_imul_d16)(); break;\ 377 case 0x6a: PREFIX186(_push_d8)(); break;\ 378 case 0x6b: PREFIX186(_imul_d8)(); break;\ 379 case 0x6c: PREFIX186(_insb)(); break;\ 380 case 0x6d: PREFIX186(_insw)(); break;\ 381 case 0x6e: PREFIX186(_outsb)(); break;\ 382 case 0x6f: PREFIX186(_outsw)(); break;\ 383 case 0x70: PREFIX86(_jo)(); break;\ 384 case 0x71: PREFIX86(_jno)(); break;\ 385 case 0x72: PREFIX86(_jb)(); break;\ 386 case 0x73: PREFIX86(_jnb)(); break;\ 387 case 0x74: PREFIX86(_jz)(); break;\ 388 case 0x75: PREFIX86(_jnz)(); break;\ 389 case 0x76: PREFIX86(_jbe)(); break;\ 390 case 0x77: PREFIX86(_jnbe)(); break;\ 391 case 0x78: PREFIX86(_js)(); break;\ 392 case 0x79: PREFIX86(_jns)(); break;\ 393 case 0x7a: PREFIX86(_jp)(); break;\ 394 case 0x7b: PREFIX86(_jnp)(); break;\ 395 case 0x7c: PREFIX86(_jl)(); break;\ 396 case 0x7d: PREFIX86(_jnl)(); break;\ 397 case 0x7e: PREFIX86(_jle)(); break;\ 398 case 0x7f: PREFIX86(_jnle)(); break;\ 399 case 0x80: PREFIX86(_80pre)(); break;\ 400 case 0x81: PREFIX86(_81pre)(); break;\ 401 case 0x82: PREFIX86(_82pre)(); break;\ 402 case 0x83: PREFIX86(_83pre)(); break;\ 403 case 0x84: PREFIX86(_test_br8)(); break;\ 404 case 0x85: PREFIX86(_test_wr16)(); break;\ 405 case 0x86: PREFIX86(_xchg_br8)(); break;\ 406 case 0x87: PREFIX86(_xchg_wr16)(); break;\ 407 case 0x88: PREFIX86(_mov_br8)(); break;\ 408 case 0x89: PREFIX86(_mov_wr16)(); break;\ 409 case 0x8a: PREFIX86(_mov_r8b)(); break;\ 410 case 0x8b: PREFIX86(_mov_r16w)(); break;\ 411 case 0x8c: PREFIX86(_mov_wsreg)(); break;\ 412 case 0x8d: PREFIX86(_lea)(); break;\ 413 case 0x8e: PREFIX86(_mov_sregw)(); break;\ 414 case 0x8f: PREFIX86(_popw)(); break;\ 415 case 0x90: PREFIX86(_nop)(); break;\ 416 case 0x91: PREFIX86(_xchg_axcx)(); break;\ 417 case 0x92: PREFIX86(_xchg_axdx)(); break;\ 418 case 0x93: PREFIX86(_xchg_axbx)(); break;\ 419 case 0x94: PREFIX86(_xchg_axsp)(); break;\ 420 case 0x95: PREFIX86(_xchg_axbp)(); break;\ 421 case 0x96: PREFIX86(_xchg_axsi)(); break;\ 422 case 0x97: PREFIX86(_xchg_axdi)(); break;\ 423 case 0x98: PREFIX86(_cbw)(); break;\ 424 case 0x99: PREFIX86(_cwd)(); break;\ 425 case 0x9a: PREFIX86(_call_far)(); break;\ 426 case 0x9b: PREFIX86(_wait)(); break;\ 427 case 0x9c: PREFIX86(_pushf)(); break;\ 428 case 0x9d: PREFIX86(_popf)(); break;\ 429 case 0x9e: PREFIX86(_sahf)(); break;\ 430 case 0x9f: PREFIX86(_lahf)(); break;\ 431 case 0xa0: PREFIX86(_mov_aldisp)(); break;\ 432 case 0xa1: PREFIX86(_mov_axdisp)(); break;\ 433 case 0xa2: PREFIX86(_mov_dispal)(); break;\ 434 case 0xa3: PREFIX86(_mov_dispax)(); break;\ 435 case 0xa4: PREFIX86(_movsb)(); break;\ 436 case 0xa5: PREFIX86(_movsw)(); break;\ 437 case 0xa6: PREFIX86(_cmpsb)(); break;\ 438 case 0xa7: PREFIX86(_cmpsw)(); break;\ 439 case 0xa8: PREFIX86(_test_ald8)(); break;\ 440 case 0xa9: PREFIX86(_test_axd16)(); break;\ 441 case 0xaa: PREFIX86(_stosb)(); break;\ 442 case 0xab: PREFIX86(_stosw)(); break;\ 443 case 0xac: PREFIX86(_lodsb)(); break;\ 444 case 0xad: PREFIX86(_lodsw)(); break;\ 445 case 0xae: PREFIX86(_scasb)(); break;\ 446 case 0xaf: PREFIX86(_scasw)(); break;\ 447 case 0xb0: PREFIX86(_mov_ald8)(); break;\ 448 case 0xb1: PREFIX86(_mov_cld8)(); break;\ 449 case 0xb2: PREFIX86(_mov_dld8)(); break;\ 450 case 0xb3: PREFIX86(_mov_bld8)(); break;\ 451 case 0xb4: PREFIX86(_mov_ahd8)(); break;\ 452 case 0xb5: PREFIX86(_mov_chd8)(); break;\ 453 case 0xb6: PREFIX86(_mov_dhd8)(); break;\ 454 case 0xb7: PREFIX86(_mov_bhd8)(); break;\ 455 case 0xb8: PREFIX86(_mov_axd16)(); break;\ 456 case 0xb9: PREFIX86(_mov_cxd16)(); break;\ 457 case 0xba: PREFIX86(_mov_dxd16)(); break;\ 458 case 0xbb: PREFIX86(_mov_bxd16)(); break;\ 459 case 0xbc: PREFIX86(_mov_spd16)(); break;\ 460 case 0xbd: PREFIX86(_mov_bpd16)(); break;\ 461 case 0xbe: PREFIX86(_mov_sid16)(); break;\ 462 case 0xbf: PREFIX86(_mov_did16)(); break;\ 463 case 0xc0: PREFIX186(_rotshft_bd8)(); break;\ 464 case 0xc1: PREFIX186(_rotshft_wd8)(); break;\ 465 case 0xc2: PREFIX86(_ret_d16)(); break;\ 466 case 0xc3: PREFIX86(_ret)(); break;\ 467 case 0xc4: PREFIX86(_les_dw)(); break;\ 468 case 0xc5: PREFIX86(_lds_dw)(); break;\ 469 case 0xc6: PREFIX86(_mov_bd8)(); break;\ 470 case 0xc7: PREFIX86(_mov_wd16)(); break;\ 471 case 0xc8: PREFIX186(_enter)(); break;\ 472 case 0xc9: PREFIX186(_leave)(); break;\ 473 case 0xca: PREFIX86(_retf_d16)(); break;\ 474 case 0xcb: PREFIX86(_retf)(); break;\ 475 case 0xcc: PREFIX86(_int3)(); break;\ 476 case 0xcd: PREFIX86(_int)(); break;\ 477 case 0xce: PREFIX86(_into)(); break;\ 478 case 0xcf: PREFIX86(_iret)(); break;\ 479 case 0xd0: PREFIX86(_rotshft_b)(); break;\ 480 case 0xd1: PREFIX86(_rotshft_w)(); break;\ 481 case 0xd2: PREFIX86(_rotshft_bcl)(); break;\ 482 case 0xd3: PREFIX86(_rotshft_wcl)(); break;\ 483 case 0xd4: PREFIX86(_aam)(); break;\ 484 case 0xd5: PREFIX86(_aad)(); break;\ 485 case 0xd6: PREFIX286(_invalid)(); break;\ 486 case 0xd7: PREFIX86(_xlat)(); break;\ 487 case 0xd8: PREFIX86(_escape)(); break;\ 488 case 0xd9: PREFIX86(_escape)(); break;\ 489 case 0xda: PREFIX86(_escape)(); break;\ 490 case 0xdb: PREFIX86(_escape)(); break;\ 491 case 0xdc: PREFIX86(_escape)(); break;\ 492 case 0xdd: PREFIX86(_escape)(); break;\ 493 case 0xde: PREFIX86(_escape)(); break;\ 494 case 0xdf: PREFIX86(_escape)(); break;\ 495 case 0xe0: PREFIX86(_loopne)(); break;\ 496 case 0xe1: PREFIX86(_loope)(); break;\ 497 case 0xe2: PREFIX86(_loop)(); break;\ 498 case 0xe3: PREFIX86(_jcxz)(); break;\ 499 case 0xe4: PREFIX86(_inal)(); break;\ 500 case 0xe5: PREFIX86(_inax)(); break;\ 501 case 0xe6: PREFIX86(_outal)(); break;\ 502 case 0xe7: PREFIX86(_outax)(); break;\ 503 case 0xe8: PREFIX86(_call_d16)(); break;\ 504 case 0xe9: PREFIX86(_jmp_d16)(); break;\ 505 case 0xea: PREFIX86(_jmp_far)(); break;\ 506 case 0xeb: PREFIX86(_jmp_d8)(); break;\ 507 case 0xec: PREFIX86(_inaldx)(); break;\ 508 case 0xed: PREFIX86(_inaxdx)(); break;\ 509 case 0xee: PREFIX86(_outdxal)(); break;\ 510 case 0xef: PREFIX86(_outdxax)(); break;\ 511 case 0xf0: PREFIX86(_lock)(); break;\ 512 case 0xf1: PREFIX286(_invalid)(); break;\ 513 case 0xf2: PREFIX186(_repne)(); break;\ 514 case 0xf3: PREFIX186(_repe)(); break;\ 515 case 0xf4: PREFIX86(_hlt)(); break;\ 516 case 0xf5: PREFIX86(_cmc)(); break;\ 517 case 0xf6: PREFIX86(_f6pre)(); break;\ 518 case 0xf7: PREFIX86(_f7pre)(); break;\ 519 case 0xf8: PREFIX86(_clc)(); break;\ 520 case 0xf9: PREFIX86(_stc)(); break;\ 521 case 0xfa: PREFIX86(_cli)(); break;\ 522 case 0xfb: PREFIX86(_sti)(); break;\ 523 case 0xfc: PREFIX86(_cld)(); break;\ 524 case 0xfd: PREFIX86(_std)(); break;\ 525 case 0xfe: PREFIX86(_fepre)(); break;\ 526 case 0xff: PREFIX86(_ffpre)(); break;\ 527 }; 528 #else 529 #define TABLE286 PREFIX286(_instruction)[FETCHOP](); 530 #endif 531 532