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