1 #include "l.h" 2 3 uchar ynone[] = 4 { 5 Ynone, Ynone, Zlit, 1, 6 0 7 }; 8 uchar ytext[] = 9 { 10 Ymb, Yi32, Zpseudo,1, 11 0 12 }; 13 uchar ynop[] = 14 { 15 Ynone, Ynone, Zpseudo,1, 16 Ynone, Yml, Zpseudo,1, 17 Ynone, Yrf, Zpseudo,1, 18 Yml, Ynone, Zpseudo,1, 19 Yrf, Ynone, Zpseudo,1, 20 0 21 }; 22 uchar yxorb[] = 23 { 24 Yi32, Yal, Zib_, 1, 25 Yi32, Ymb, Zibo_m, 2, 26 Yrb, Ymb, Zr_m, 1, 27 Ymb, Yrb, Zm_r, 1, 28 0 29 }; 30 uchar yxorl[] = 31 { 32 Yi8, Yml, Zibo_m, 2, 33 Yi32, Yax, Zil_, 1, 34 Yi32, Yml, Zilo_m, 2, 35 Yrl, Yml, Zr_m, 1, 36 Yml, Yrl, Zm_r, 1, 37 0 38 }; 39 uchar yaddl[] = 40 { 41 Yi1, Yrl, Z_rp, 1, 42 Yi1, Yml, Zo_m, 2, 43 Yi8, Yml, Zibo_m, 2, 44 Yi32, Yax, Zil_, 1, 45 Yi32, Yml, Zilo_m, 2, 46 Yrl, Yml, Zr_m, 1, 47 Yml, Yrl, Zm_r, 1, 48 0 49 }; 50 uchar yincb[] = 51 { 52 Ynone, Ymb, Zo_m, 2, 53 0 54 }; 55 uchar yincl[] = 56 { 57 Ynone, Yrl, Z_rp, 1, 58 Ynone, Yml, Zo_m, 2, 59 0 60 }; 61 uchar ycmpb[] = 62 { 63 Yal, Yi32, Z_ib, 1, 64 Ymb, Yi32, Zm_ibo, 2, 65 Ymb, Yrb, Zm_r, 1, 66 Yrb, Ymb, Zr_m, 1, 67 0 68 }; 69 uchar ycmpl[] = 70 { 71 Yml, Yi8, Zm_ibo, 2, 72 Yax, Yi32, Z_il, 1, 73 Yml, Yi32, Zm_ilo, 2, 74 Yml, Yrl, Zm_r, 1, 75 Yrl, Yml, Zr_m, 1, 76 0 77 }; 78 uchar yshb[] = 79 { 80 Yi1, Ymb, Zo_m, 2, 81 Yi32, Ymb, Zibo_m, 2, 82 Ycx, Ymb, Zo_m, 2, 83 0 84 }; 85 uchar yshl[] = 86 { 87 Yi1, Yml, Zo_m, 2, 88 Yi32, Yml, Zibo_m, 2, 89 Ycl, Yml, Zo_m, 2, 90 Ycx, Yml, Zo_m, 2, 91 0 92 }; 93 uchar ytestb[] = 94 { 95 Yi32, Yal, Zib_, 1, 96 Yi32, Ymb, Zibo_m, 2, 97 Yrb, Ymb, Zr_m, 1, 98 Ymb, Yrb, Zm_r, 1, 99 0 100 }; 101 uchar ytestl[] = 102 { 103 Yi32, Yax, Zil_, 1, 104 Yi32, Yml, Zilo_m, 2, 105 Yrl, Yml, Zr_m, 1, 106 Yml, Yrl, Zm_r, 1, 107 0 108 }; 109 uchar ymovb[] = 110 { 111 Yrb, Ymb, Zr_m, 1, 112 Ymb, Yrb, Zm_r, 1, 113 Yi32, Yrb, Zib_rp, 1, 114 Yi32, Ymb, Zibo_m, 2, 115 0 116 }; 117 uchar ymovl[] = 118 { 119 Yrl, Yml, Zr_m, 1, 120 Yml, Yrl, Zm_r, 1, 121 Yi0, Yrl, Zclr, 1, 122 Yi0, Yml, Zibo_m, 2, 123 Yi32, Yrl, Zil_rp, 1, 124 Yi32, Yml, Zilo_m, 2, 125 Yiauto, Yrl, Zaut_r, 2, 126 0 127 }; 128 uchar ym_rl[] = 129 { 130 Ym, Yrl, Zm_r, 1, 131 0 132 }; 133 uchar yrl_m[] = 134 { 135 Yrl, Ym, Zr_m, 1, 136 0 137 }; 138 uchar ymb_rl[] = 139 { 140 Ymb, Yrl, Zm_r, 1, 141 0 142 }; 143 uchar yml_rl[] = 144 { 145 Yml, Yrl, Zm_r, 1, 146 0 147 }; 148 uchar yrl_ml[] = 149 { 150 Yrl, Yml, Zr_m, 1, 151 0 152 }; 153 uchar yml_ml[] = 154 { 155 Yrl, Yml, Zr_m, 1, 156 Yml, Yrl, Zm_r, 1, 157 0 158 }; 159 uchar ydivl[] = 160 { 161 Yml, Ynone, Zm_o, 2, 162 0 163 }; 164 uchar ydivb[] = 165 { 166 Ymb, Ynone, Zm_o, 2, 167 0 168 }; 169 uchar ybyte[] = 170 { 171 Yi32, Ynone, Zbyte, 1, 172 0 173 }; 174 uchar yin[] = 175 { 176 Yi32, Ynone, Zib_, 1, 177 Ynone, Ynone, Zlit, 1, 178 0 179 }; 180 uchar yint[] = 181 { 182 Yi32, Ynone, Zib_, 1, 183 0 184 }; 185 uchar ypushl[] = 186 { 187 Yrl, Ynone, Zrp_, 1, 188 Ym, Ynone, Zm_o, 2, 189 Yi8, Ynone, Zib_, 1, 190 Yi32, Ynone, Zil_, 1, 191 0 192 }; 193 uchar ypopl[] = 194 { 195 Ynone, Yrl, Z_rp, 1, 196 Ynone, Ym, Zo_m, 2, 197 0 198 }; 199 uchar yscond[] = 200 { 201 Ynone, Ymb, Zo_m, 2, 202 0 203 }; 204 uchar yjcond[] = 205 { 206 Ynone, Ybr, Zbr, 1, 207 0 208 }; 209 uchar yloop[] = 210 { 211 Ynone, Ybr, Zloop, 1, 212 0 213 }; 214 uchar ycall[] = 215 { 216 Ynone, Yml, Zo_m, 2, 217 Ynone, Ybr, Zcall, 1, 218 0 219 }; 220 uchar yjmp[] = 221 { 222 Ynone, Yml, Zo_m, 2, 223 Ynone, Ybr, Zjmp, 1, 224 0 225 }; 226 227 uchar yfmvd[] = 228 { 229 Ym, Yf0, Zm_o, 2, 230 Yf0, Ym, Zo_m, 2, 231 Yrf, Yf0, Zm_o, 2, 232 Yf0, Yrf, Zo_m, 2, 233 0 234 }; 235 uchar yfmvdp[] = 236 { 237 Yf0, Ym, Zo_m, 2, 238 Yf0, Yrf, Zo_m, 2, 239 0 240 }; 241 uchar yfmvf[] = 242 { 243 Ym, Yf0, Zm_o, 2, 244 Yf0, Ym, Zo_m, 2, 245 0 246 }; 247 uchar yfmvx[] = 248 { 249 Ym, Yf0, Zm_o, 2, 250 0 251 }; 252 uchar yfmvp[] = 253 { 254 Yf0, Ym, Zo_m, 2, 255 0 256 }; 257 uchar yfadd[] = 258 { 259 Ym, Yf0, Zm_o, 2, 260 Yrf, Yf0, Zm_o, 2, 261 Yf0, Yrf, Zo_m, 2, 262 0 263 }; 264 uchar yfaddp[] = 265 { 266 Yf0, Yrf, Zo_m, 2, 267 0 268 }; 269 uchar yfxch[] = 270 { 271 Yf0, Yrf, Zo_m, 2, 272 Yrf, Yf0, Zm_o, 2, 273 0 274 }; 275 uchar ycompp[] = 276 { 277 Yf0, Yrf, Zo_m, 2, /* botch is really f0,f1 */ 278 0 279 }; 280 uchar ystsw[] = 281 { 282 Ynone, Ym, Zo_m, 2, 283 Ynone, Yax, Zlit, 1, 284 0 285 }; 286 uchar ystcw[] = 287 { 288 Ynone, Ym, Zo_m, 2, 289 Ym, Ynone, Zm_o, 2, 290 0 291 }; 292 uchar ysvrs[] = 293 { 294 Ynone, Ym, Zo_m, 2, 295 Ym, Ynone, Zm_o, 2, 296 0 297 }; 298 299 Optab optab[] = 300 /* as, ytab, andproto, opcode */ 301 { 302 { AXXX }, 303 { AAAA, ynone, Px, 0x37 }, 304 { AAAD, ynone, Px, 0xd5,0x0a }, 305 { AAAM, ynone, Px, 0xd4,0x0a }, 306 { AAAS, ynone, Px, 0x3f }, 307 { AADCB, yxorb, Pb, 0x14,0x80,(02),0x10,0x10 }, 308 { AADCL, yxorl, Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 }, 309 { AADCW, yxorl, Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 }, 310 { AADDB, yxorb, Px, 0x04,0x80,(00),0x00,0x02 }, 311 { AADDL, yaddl, Px, 0x40,0xff,(00),0x83,(00),0x05,0x81,(00),0x01,0x03 }, 312 { AADDW, yaddl, Pe, 0x40,0xff,(00),0x83,(00),0x05,0x81,(00),0x01,0x03 }, 313 { AADJSP }, 314 { AANDB, yxorb, Pb, 0x24,0x80,(04),0x20,0x22 }, 315 { AANDL, yxorl, Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 }, 316 { AANDW, yxorl, Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 }, 317 { AARPL, yrl_ml, Px, 0x63 }, 318 { ABOUNDL, yrl_m, Px, 0x62 }, 319 { ABOUNDW, yrl_m, Pe, 0x62 }, 320 { ABSFL, yml_rl, Pm, 0xbc }, 321 { ABSFW, yml_rl, Pq, 0xbc }, 322 { ABSRL, yml_rl, Pm, 0xbd }, 323 { ABSRW, yml_rl, Pq, 0xbd }, 324 { ABTL, yml_rl, Pm, 0xa3 }, 325 { ABTW, yml_rl, Pq, 0xa3 }, 326 { ABTCL, yml_rl, Pm, 0xbb }, 327 { ABTCW, yml_rl, Pq, 0xbb }, 328 { ABTRL, yml_rl, Pm, 0xb3 }, 329 { ABTRW, yml_rl, Pq, 0xb3 }, 330 { ABTSL, yml_rl, Pm, 0xab }, 331 { ABTSW, yml_rl, Pq, 0xab }, 332 { ABYTE, ybyte, Px, 1 }, 333 { ACALL, ycall, Px, 0xff,(02),0xe8 }, 334 { ACLC, ynone, Px, 0xf8 }, 335 { ACLD, ynone, Px, 0xfc }, 336 { ACLI, ynone, Px, 0xfa }, 337 { ACLTS, ynone, Pm, 0x06 }, 338 { ACMC, ynone, Px, 0xf5 }, 339 { ACMPB, ycmpb, Pb, 0x3c,0x80,(07),0x38,0x3a }, 340 { ACMPL, ycmpl, Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b }, 341 { ACMPW, ycmpl, Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b }, 342 { ACMPSB, ynone, Pb, 0xa6 }, 343 { ACMPSL, ynone, Px, 0xa7 }, 344 { ACMPSW, ynone, Pe, 0xa7 }, 345 { ADAA, ynone, Px, 0x27 }, 346 { ADAS, ynone, Px, 0x2f }, 347 { ADATA }, 348 { ADECB, yincb, Pb, 0xfe,(01) }, 349 { ADECL, yincl, Px, 0x48,0xff,(01) }, 350 { ADECW, yincl, Pe, 0x48,0xff,(01) }, 351 { ADIVB, ydivb, Pb, 0xf6,(06) }, 352 { ADIVL, ydivl, Px, 0xf7,(06) }, 353 { ADIVW, ydivl, Pe, 0xf7,(06) }, 354 { AENTER }, /* botch */ 355 { AGLOBL }, 356 { AGOK }, 357 { AHISTORY }, 358 { AHLT, ynone, Px, 0xf4 }, 359 { AIDIVB, ydivb, Pb, 0xf6,(07) }, 360 { AIDIVL, ydivl, Px, 0xf7,(07) }, 361 { AIDIVW, ydivl, Pe, 0xf7,(07) }, 362 { AIMULB, ydivb, Pb, 0xf6,(05) }, /* botch, only does DX,AX version */ 363 { AIMULL, ydivl, Px, 0xf7,(05) }, 364 { AIMULW, ydivl, Pe, 0xf7,(05) }, 365 { AINB, yin, Pb, 0xe4,0xec }, 366 { AINL, yin, Px, 0xe5,0xed }, 367 { AINW, yin, Pe, 0xe5,0xed }, 368 { AINCB, yincb, Pb, 0xfe,(00) }, 369 { AINCL, yincl, Px, 0x40,0xff,(00) }, 370 { AINCW, yincl, Pe, 0x40,0xff,(00) }, 371 { AINSB, ynone, Pb, 0x6c }, 372 { AINSL, ynone, Px, 0x6d }, 373 { AINSW, ynone, Pe, 0x6d }, 374 { AINT, yint, Px, 0xcd }, 375 { AINTO, ynone, Px, 0xce }, 376 { AIRETL, ynone, Px, 0xcf }, 377 { AIRETW, ynone, Pe, 0xcf }, 378 { AJCC, yjcond, Px, 0x73,0x83,(00) }, 379 { AJCS, yjcond, Px, 0x72,0x82 }, 380 { AJCXZ, yloop, Px, 0xe3 }, 381 { AJEQ, yjcond, Px, 0x74,0x84 }, 382 { AJGE, yjcond, Px, 0x7d,0x8d }, 383 { AJGT, yjcond, Px, 0x7f,0x8f }, 384 { AJHI, yjcond, Px, 0x77,0x87 }, 385 { AJLE, yjcond, Px, 0x7e,0x8e }, 386 { AJLS, yjcond, Px, 0x76,0x86 }, 387 { AJLT, yjcond, Px, 0x7c,0x8c }, 388 { AJMI, yjcond, Px, 0x78,0x88 }, 389 { AJMP, yjmp, Px, 0xff,(04),0xeb,0xe9 }, 390 { AJNE, yjcond, Px, 0x75,0x85 }, 391 { AJOC, yjcond, Px, 0x71,0x81,(00) }, 392 { AJOS, yjcond, Px, 0x70,0x80,(00) }, 393 { AJPC, yjcond, Px, 0x76,0x86 }, 394 { AJPL, yjcond, Px, 0x79,0x89 }, 395 { AJPS, yjcond, Px, 0x7a,0x8a }, 396 { ALAHF, ynone, Px, 0x9f }, 397 { ALARL, yml_rl, Pm, 0x02 }, 398 { ALARW, yml_rl, Pq, 0x02 }, 399 { ALEAL, ym_rl, Px, 0x8d }, 400 { ALEAW, ym_rl, Pe, 0x8d }, 401 { ALEAVEL, ynone, Px, 0xc9 }, 402 { ALEAVEW, ynone, Pe, 0xc9 }, 403 { ALOCK, ynone, Px, 0xf0 }, 404 { ALODSB, ynone, Pb, 0xac }, 405 { ALODSL, ynone, Px, 0xad }, 406 { ALODSW, ynone, Pe, 0xad }, 407 { ALONG, ybyte, Px, 4 }, 408 { ALOOP, yloop, Px, 0xe2 }, 409 { ALOOPEQ, yloop, Px, 0xe1 }, 410 { ALOOPNE, yloop, Px, 0xe0 }, 411 { ALSLL, yml_rl, Pm, 0x03 }, 412 { ALSLW, yml_rl, Pq, 0x03 }, 413 { AMOVB, ymovb, Pb, 0x88,0x8a,0xb0,0xc6,(00) }, 414 { AMOVL, ymovl, Px, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00) }, 415 { AMOVW, ymovl, Pe, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00) }, 416 { AMOVBLSX, ymb_rl, Pm, 0xbe }, 417 { AMOVBLZX, ymb_rl, Pm, 0xb6 }, 418 { AMOVBWSX, ymb_rl, Pq, 0xbe }, 419 { AMOVBWZX, ymb_rl, Pq, 0xb6 }, 420 { AMOVWLSX, yml_rl, Pm, 0xbf }, 421 { AMOVWLZX, yml_rl, Pm, 0xb7 }, 422 { AMOVSB, ynone, Pb, 0xa4 }, 423 { AMOVSL, ynone, Px, 0xa5 }, 424 { AMOVSW, ynone, Pe, 0xa5 }, 425 { AMULB, ydivb, Pb, 0xf6,(04) }, 426 { AMULL, ydivl, Px, 0xf7,(04) }, 427 { AMULW, ydivl, Pe, 0xf7,(04) }, 428 { ANAME }, 429 { ANEGB, yscond, Px, 0xf6,(03) }, 430 { ANEGL, yscond, Px, 0xf7,(03) }, 431 { ANEGW, yscond, Pe, 0xf7,(03) }, 432 { ANOP, ynop, Px,0,0 }, 433 { ANOTB, yscond, Px, 0xf6,(02) }, 434 { ANOTL, yscond, Px, 0xf7,(02) }, 435 { ANOTW, yscond, Pe, 0xf7,(02) }, 436 { AORB, yxorb, Pb, 0x0c,0x80,(01),0x08,0x0a }, 437 { AORL, yxorl, Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b }, 438 { AORW, yxorl, Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b }, 439 { AOUTB, yin, Pb, 0xe6,0xee }, 440 { AOUTL, yin, Px, 0xe7,0xef }, 441 { AOUTW, yin, Pe, 0xe7,0xef }, 442 { AOUTSB, ynone, Pb, 0x6e }, 443 { AOUTSL, ynone, Px, 0x6f }, 444 { AOUTSW, ynone, Pe, 0x6f }, 445 { APOPAL, ynone, Px, 0x61 }, 446 { APOPAW, ynone, Pe, 0x61 }, 447 { APOPFL, ynone, Px, 0x9d }, 448 { APOPFW, ynone, Pe, 0x9d }, 449 { APOPL, ypopl, Px, 0x58,0x8f,(00) }, 450 { APOPW, ypopl, Pe, 0x58,0x8f,(00) }, 451 { APUSHAL, ynone, Px, 0x60 }, 452 { APUSHAW, ynone, Pe, 0x60 }, 453 { APUSHFL, ynone, Px, 0x9c }, 454 { APUSHFW, ynone, Pe, 0x9c }, 455 { APUSHL, ypushl, Px, 0x50,0xff,(06),0x6a,0x68 }, 456 { APUSHW, ypushl, Pe, 0x50,0xff,(06),0x6a,0x68 }, 457 { ARCLB, yshb, Pb, 0xd0,(02),0xc0,(02),0xd2,(02) }, 458 { ARCLL, yshl, Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) }, 459 { ARCLW, yshl, Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) }, 460 { ARCRB, yshb, Pb, 0xd0,(03),0xc0,(03),0xd2,(03) }, 461 { ARCRL, yshl, Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) }, 462 { ARCRW, yshl, Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) }, 463 { AREP, ynone, Px, 0xf3 }, 464 { AREPN, ynone, Px, 0xf2 }, 465 { ARET, ynone, Px, 0xc3 }, 466 { AROLB, yshb, Pb, 0xd0,(00),0xc0,(00),0xd2,(00) }, 467 { AROLL, yshl, Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) }, 468 { AROLW, yshl, Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) }, 469 { ARORB, yshb, Pb, 0xd0,(01),0xc0,(01),0xd2,(01) }, 470 { ARORL, yshl, Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) }, 471 { ARORW, yshl, Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) }, 472 { ASAHF, ynone, Px, 0x9e }, 473 { ASALB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) }, 474 { ASALL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 475 { ASALW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 476 { ASARB, yshb, Pb, 0xd0,(07),0xc0,(07),0xd2,(07) }, 477 { ASARL, yshl, Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) }, 478 { ASARW, yshl, Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) }, 479 { ASBBB, yxorb, Pb, 0x1c,0x80,(03),0x18,0x1a }, 480 { ASBBL, yxorl, Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b }, 481 { ASBBW, yxorl, Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b }, 482 { ASCASB, ynone, Pb, 0xae }, 483 { ASCASL, ynone, Px, 0xaf }, 484 { ASCASW, ynone, Pe, 0xaf }, 485 { ASETCC, yscond, Pm, 0x93,(00) }, 486 { ASETCS, yscond, Pm, 0x92,(00) }, 487 { ASETEQ, yscond, Pm, 0x94,(00) }, 488 { ASETGE, yscond, Pm, 0x9d,(00) }, 489 { ASETGT, yscond, Pm, 0x9f,(00) }, 490 { ASETHI, yscond, Pm, 0x97,(00) }, 491 { ASETLE, yscond, Pm, 0x9e,(00) }, 492 { ASETLS, yscond, Pm, 0x96,(00) }, 493 { ASETLT, yscond, Pm, 0x9c,(00) }, 494 { ASETMI, yscond, Pm, 0x98,(00) }, 495 { ASETNE, yscond, Pm, 0x95,(00) }, 496 { ASETOC, yscond, Pm, 0x91,(00) }, 497 { ASETOS, yscond, Pm, 0x90,(00) }, 498 { ASETPC, yscond, Pm, 0x96,(00) }, 499 { ASETPL, yscond, Pm, 0x99,(00) }, 500 { ASETPS, yscond, Pm, 0x9a,(00) }, 501 { ACDQ, ynone, Px, 0x99 }, 502 { ACWD, ynone, Pe, 0x99 }, 503 { ASHLB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) }, 504 { ASHLL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 505 { ASHLW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 506 { ASHRB, yshb, Pb, 0xd0,(05),0xc0,(05),0xd2,(05) }, 507 { ASHRL, yshl, Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) }, 508 { ASHRW, yshl, Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) }, 509 { ASTC, ynone, Px, 0xf9 }, 510 { ASTD, ynone, Px, 0xfd }, 511 { ASTI, ynone, Px, 0xfb }, 512 { ASTOSB, ynone, Pb, 0xaa }, 513 { ASTOSL, ynone, Px, 0xab }, 514 { ASTOSW, ynone, Pe, 0xab }, 515 { ASUBB, yxorb, Pb, 0x2c,0x80,(05),0x28,0x2a }, 516 { ASUBL, yaddl, Px, 0x48,0xff,(01),0x83,(05),0x2d,0x81,(05),0x29,0x2b }, 517 { ASUBW, yaddl, Pe, 0x48,0xff,(01),0x83,(05),0x2d,0x81,(05),0x29,0x2b }, 518 { ASYSCALL, ynone, Px, 0xcd,100 }, 519 { ATESTB, ytestb, Pb, 0xa8,0xf6,(00),0x84,0x84 }, 520 { ATESTL, ytestl, Px, 0xa9,0xf7,(00),0x85,0x85 }, 521 { ATESTW, ytestl, Pe, 0xa9,0xf7,(00),0x85,0x85 }, 522 { ATEXT, ytext, Px }, 523 { AVERR, ydivl, Pm, 0x00,(04) }, 524 { AVERW, ydivl, Pm, 0x00,(05) }, 525 { AWAIT, ynone, Px, 0x9b }, 526 { AWORD, ybyte, Px, 2 }, 527 { AXCHGB, yml_ml, Pb, 0x86,0x86 }, 528 { AXCHGL, yml_ml, Px, 0x87,0x87 }, 529 { AXCHGW, yml_ml, Pe, 0x87,0x87 }, 530 { AXLAT, ynone, Px, 0xd7 }, 531 { AXORB, yxorb, Pb, 0x34,0x80,(06),0x30,0x32 }, 532 { AXORL, yxorl, Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 }, 533 { AXORW, yxorl, Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 }, 534 535 { AFMOVB, yfmvx, Px, 0xdf,(04) }, 536 { AFMOVBP, yfmvp, Px, 0xdf,(06) }, 537 { AFMOVD, yfmvd, Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) }, 538 { AFMOVDP, yfmvdp, Px, 0xdd,(03),0xdd,(03) }, 539 { AFMOVF, yfmvf, Px, 0xd9,(00),0xd9,(02) }, 540 { AFMOVFP, yfmvp, Px, 0xd9,(03) }, 541 { AFMOVL, yfmvf, Px, 0xdb,(00),0xdb,(02) }, 542 { AFMOVLP, yfmvp, Px, 0xdb,(03) }, 543 { AFMOVV, yfmvx, Px, 0xdf,(05) }, 544 { AFMOVVP, yfmvp, Px, 0xdf,(07) }, 545 { AFMOVW, yfmvf, Px, 0xdf,(00),0xdf,(02) }, 546 { AFMOVWP, yfmvp, Px, 0xdf,(03) }, 547 { AFMOVX, yfmvx, Px, 0xdb,(05) }, 548 { AFMOVXP, yfmvp, Px, 0xdb,(07) }, 549 550 { AFCOMB }, 551 { AFCOMBP }, 552 { AFCOMD, yfadd, Px, 0xdc,(02),0xd8,(02),0xdc,(02) }, /* botch */ 553 { AFCOMDP, yfadd, Px, 0xdc,(03),0xd8,(03),0xdc,(03) }, /* botch */ 554 { AFCOMDPP, ycompp, Px, 0xde,(03) }, 555 { AFCOMF, yfmvx, Px, 0xd8,(02) }, 556 { AFCOMFP, yfmvx, Px, 0xd8,(03) }, 557 { AFCOML, yfmvx, Px, 0xda,(02) }, 558 { AFCOMLP, yfmvx, Px, 0xda,(03) }, 559 { AFCOMW, yfmvx, Px, 0xde,(02) }, 560 { AFCOMWP, yfmvx, Px, 0xde,(03) }, 561 562 { AFUCOM, yfmvx, Px, 0xdd,(04) }, 563 { AFUCOMP, yfmvx, Px, 0xdd,(05) }, 564 { AFUCOMPP, yfmvx, Px, 0xda,(05) }, 565 566 { AFADDDP, yfaddp, Px, 0xde,(00) }, 567 { AFADDW, yfmvx, Px, 0xde,(00) }, 568 { AFADDL, yfmvx, Px, 0xda,(00) }, 569 { AFADDF, yfmvx, Px, 0xd8,(00) }, 570 { AFADDD, yfadd, Px, 0xdc,(00),0xd8,(00),0xdc,(00) }, 571 572 { AFMULDP, yfaddp, Px, 0xde,(01) }, 573 { AFMULW, yfmvx, Px, 0xde,(01) }, 574 { AFMULL, yfmvx, Px, 0xda,(01) }, 575 { AFMULF, yfmvx, Px, 0xd8,(01) }, 576 { AFMULD, yfadd, Px, 0xdc,(01),0xd8,(01),0xdc,(01) }, 577 578 { AFSUBDP, yfaddp, Px, 0xde,(05) }, 579 { AFSUBW, yfmvx, Px, 0xde,(04) }, 580 { AFSUBL, yfmvx, Px, 0xda,(04) }, 581 { AFSUBF, yfmvx, Px, 0xd8,(04) }, 582 { AFSUBD, yfadd, Px, 0xdc,(04),0xd8,(04),0xdc,(05) }, 583 584 { AFSUBRDP, yfaddp, Px, 0xde,(04) }, 585 { AFSUBRW, yfmvx, Px, 0xde,(05) }, 586 { AFSUBRL, yfmvx, Px, 0xda,(05) }, 587 { AFSUBRF, yfmvx, Px, 0xd8,(05) }, 588 { AFSUBRD, yfadd, Px, 0xdc,(05),0xd8,(05),0xdc,(04) }, 589 590 { AFDIVDP, yfaddp, Px, 0xde,(07) }, 591 { AFDIVW, yfmvx, Px, 0xde,(06) }, 592 { AFDIVL, yfmvx, Px, 0xda,(06) }, 593 { AFDIVF, yfmvx, Px, 0xd8,(06) }, 594 { AFDIVD, yfadd, Px, 0xdc,(06),0xd8,(06),0xdc,(07) }, 595 596 { AFDIVRDP, yfaddp, Px, 0xde,(06) }, 597 { AFDIVRW, yfmvx, Px, 0xde,(07) }, 598 { AFDIVRL, yfmvx, Px, 0xda,(07) }, 599 { AFDIVRF, yfmvx, Px, 0xd8,(07) }, 600 { AFDIVRD, yfadd, Px, 0xdc,(07),0xd8,(07),0xdc,(06) }, 601 602 { AFXCHD, yfxch, Px, 0xd9,(01),0xd9,(01) }, 603 { AFFREE }, 604 { AFLDCW, ystcw, Px, 0xd9,(05),0xd9,(05) }, 605 { AFLDENV, ystcw, Px, 0xd9,(04),0xd9,(04) }, 606 { AFRSTOR, ysvrs, Px, 0xdd,(04),0xdd,(04) }, 607 { AFSAVE, ysvrs, Px, 0xdd,(06),0xdd,(06) }, 608 { AFSTCW, ystcw, Px, 0xd9,(07),0xd9,(07) }, 609 { AFSTENV, ystcw, Px, 0xd9,(06),0xd9,(06) }, 610 { AFSTSW, ystsw, Px, 0xdd,(07),0xdf,0xe0 }, 611 { AF2XM1, ynone, Px, 0xd9, 0xf0 }, 612 { AFABS, ynone, Px, 0xd9, 0xe1 }, 613 { AFCHS, ynone, Px, 0xd9, 0xe0 }, 614 { AFCLEX, ynone, Px, 0xdb, 0xe2 }, 615 { AFCOS, ynone, Px, 0xd9, 0xff }, 616 { AFDECSTP, ynone, Px, 0xd9, 0xf6 }, 617 { AFINCSTP, ynone, Px, 0xd9, 0xf7 }, 618 { AFINIT, ynone, Px, 0xdb, 0xe3 }, 619 { AFLD1, ynone, Px, 0xd9, 0xe8 }, 620 { AFLDL2E, ynone, Px, 0xd9, 0xea }, 621 { AFLDL2T, ynone, Px, 0xd9, 0xe9 }, 622 { AFLDLG2, ynone, Px, 0xd9, 0xeb }, 623 { AFLDLN2, ynone, Px, 0xd9, 0xec }, 624 { AFLDPI, ynone, Px, 0xd9, 0xed }, 625 { AFLDZ, ynone, Px, 0xd9, 0xee }, 626 { AFNOP, ynone, Px, 0xd9, 0xd0 }, 627 { AFPATAN, ynone, Px, 0xd9, 0xf3 }, 628 { AFPREM, ynone, Px, 0xd9, 0xf8 }, 629 { AFPREM1, ynone, Px, 0xd9, 0xf5 }, 630 { AFPTAN, ynone, Px, 0xd9, 0xf2 }, 631 { AFRNDINT, ynone, Px, 0xd9, 0xfc }, 632 { AFSCALE, ynone, Px, 0xd9, 0xfd }, 633 { AFSIN, ynone, Px, 0xd9, 0xfe }, 634 { AFSINCOS, ynone, Px, 0xd9, 0xfb }, 635 { AFSQRT, ynone, Px, 0xd9, 0xfa }, 636 { AFTST, ynone, Px, 0xd9, 0xe4 }, 637 { AFXAM, ynone, Px, 0xd9, 0xe5 }, 638 { AFXTRACT, ynone, Px, 0xd9, 0xf4 }, 639 { AFYL2X, ynone, Px, 0xd9, 0xf1 }, 640 { AFYL2XP1, ynone, Px, 0xd9, 0xf9 }, 641 { AEND }, 642 0 643 }; 644