/*
    JPC: A x86 PC Hardware Emulator for a pure Java Virtual Machine
    Release Version 2.0

    A project from the Physics Dept, The University of Oxford

    Copyright (C) 2007 Isis Innovation Limited

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License version 2 as published by
    the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
    Details (including contact information) can be found at: 

    www.physics.ox.ac.uk/jpc
*/

package org.jpc.emulator.memory.codeblock.basic;

import org.jpc.emulator.memory.codeblock.*;

public interface FirstStageOperationSet
{
    //OPERATIONS
    public static final int ADD_O8 = 0;
    public static final int ADD_O32 = 1;
    public static final int ADD_O16 = 2;
    public static final int OR_O8 = 3;
    public static final int OR_O32 = 4;
    public static final int OR_O16 = 5;
    public static final int ADC_O8 = 6;
    public static final int ADC_O32 = 7;
    public static final int ADC_O16 = 8;
    public static final int SBB_O8 = 9;
    public static final int SBB_O32 = 10;
    public static final int SBB_O16 = 11;
    public static final int AND_O8 = 12;
    public static final int AND_O32 = 13;
    public static final int AND_O16 = 14;
    public static final int DAA = 15;
    public static final int SUB_O8 = 16;
    public static final int SUB_O32 = 17;
    public static final int SUB_O16 = 18;
    public static final int DAS = 19;
    public static final int XOR_O8 = 20;
    public static final int XOR_O32 = 21;
    public static final int XOR_O16 = 22;
    public static final int AAA = 23;
    public static final int CMP_O8 = 24;
    public static final int CMP_O32 = 25;
    public static final int CMP_O16 = 26;
    public static final int AAS = 27;
    public static final int INC_O32 = 28;
    public static final int INC_O16 = 29;
    public static final int DEC_O32 = 30;
    public static final int DEC_O16 = 31;
    public static final int PUSH_O16_A16 = 32;
    public static final int PUSH_O32_A16 = 33;
    public static final int PUSH_O16_A32 = 34;
    public static final int PUSH_O32_A32 = 35;
    public static final int POP_O16_A16 = 36;
    public static final int POP_O32_A16 = 37;
    public static final int POP_O16_A32 = 38;
    public static final int POP_O32_A32 = 39;
    public static final int PUSHA_O16_A16 = 40;
    public static final int PUSHA_O32_A16 = 41;
    public static final int PUSHA_O16_A32 = 42;
    public static final int PUSHA_O32_A32 = 43;
    public static final int POPA_O16_A16 = 44;
    public static final int POPA_O32_A16 = 45;
    public static final int POPA_O16_A32 = 46;
    public static final int POPA_O32_A32 = 47;
    public static final int BOUND_O16_A16 = 48;
    public static final int BOUND_O32_A16 = 49;
    public static final int BOUND_O16_A32 = 50;
    public static final int BOUND_O32_A32 = 51;
    public static final int IMUL_O32 = 52;
    public static final int IMUL_O16 = 53;
    public static final int JO_O8 = 54;
    public static final int JNO_O8 = 55;
    public static final int JB_O8 = 56;
    public static final int JNB_O8 = 57;
    public static final int JZ_O8 = 58;
    public static final int JNZ_O8 = 59;
    public static final int JBE_O8 = 60;
    public static final int JNBE_O8 = 61;
    public static final int JS_O8 = 62;
    public static final int JNS_O8 = 63;
    public static final int JP_O8 = 64;
    public static final int JNP_O8 = 65;
    public static final int JL_O8 = 66;
    public static final int JNL_O8 = 67;
    public static final int JLE_O8 = 68;
    public static final int JNLE_O8 = 69;
    public static final int TEST_O8 = 70;
    public static final int TEST_O32 = 71;
    public static final int TEST_O16 = 72;
    public static final int XCHG_O8 = 73;
    public static final int MOV_O8 = 74;
    public static final int MOV_O32 = 75;
    public static final int MOV_O16 = 76;
    public static final int LEA_O16_A16 = 77;
    public static final int LEA_O32_A16 = 78;
    public static final int LEA_O16_A32 = 79;
    public static final int LEA_O32_A32 = 80;
    public static final int NOP = 81;
    public static final int XCHG_O32 = 82;
    public static final int XCHG_O16 = 83;
    public static final int CWDE = 84;
    public static final int CBW = 85;
    public static final int CDQ = 86;
    public static final int CWD = 87;
    public static final int CALLF_O16_A16 = 88;
    public static final int CALLF_O32_A16 = 89;
    public static final int CALLF_O16_A32 = 90;
    public static final int CALLF_O32_A32 = 91;
    public static final int WAIT = 92;
    public static final int PUSHF_O16_A16 = 93;
    public static final int PUSHF_O32_A16 = 94;
    public static final int PUSHF_O16_A32 = 95;
    public static final int PUSHF_O32_A32 = 96;
    public static final int POPF_O16_A16 = 97;
    public static final int POPF_O32_A16 = 98;
    public static final int POPF_O16_A32 = 99;
    public static final int POPF_O32_A32 = 100;
    public static final int SAHF = 101;
    public static final int LAHF = 102;

    public static final int RET_IW_O16_A16 = 103;
    public static final int RET_IW_O32_A16 = 104;
    public static final int RET_IW_O16_A32 = 105;
    public static final int RET_IW_O32_A32 = 106;
    public static final int RET_O16_A16 = 107;
    public static final int RET_O32_A16 = 108;
    public static final int RET_O16_A32 = 109;
    public static final int RET_O32_A32 = 110;
    public static final int ENTER_O16_A16 = 111;
    public static final int ENTER_O32_A16 = 112;
    public static final int ENTER_O16_A32 = 113;
    public static final int ENTER_O32_A32 = 114;
    public static final int LEAVE_O16_A16 = 115;
    public static final int LEAVE_O32_A16 = 116;
    public static final int LEAVE_O16_A32 = 117;
    public static final int LEAVE_O32_A32 = 118;
    public static final int RETF_IW_O16_A16 = 119;
    public static final int RETF_IW_O32_A16 = 120;
    public static final int RETF_IW_O16_A32 = 121;
    public static final int RETF_IW_O32_A32 = 122;
    public static final int RETF_O16_A16 = 123;
    public static final int RETF_O32_A16 = 124;
    public static final int RETF_O16_A32 = 125;
    public static final int RETF_O32_A32 = 126;
    public static final int INT3_O16_A16 = 127;
    public static final int INT3_O32_A16 = 128;
    public static final int INT3_O16_A32 = 129;
    public static final int INT3_O32_A32 = 130;
    public static final int INT_O16_A16 = 131;
    public static final int INT_O32_A16 = 132;
    public static final int INT_O16_A32 = 133;
    public static final int INT_O32_A32 = 134;
    public static final int INTO_O16_A16 = 135;
    public static final int INTO_O32_A16 = 136;
    public static final int INTO_O16_A32 = 137;
    public static final int INTO_O32_A32 = 138;
    public static final int IRET_O16_A16 = 139;
    public static final int IRET_O32_A16 = 140;
    public static final int IRET_O16_A32 = 141;
    public static final int IRET_O32_A32 = 142;
    public static final int AAM = 143;
    public static final int AAD = 144;
    public static final int SALC = 145;
    public static final int LOOPNZ_O16_A16 = 146;
    public static final int LOOPNZ_O32_A16 = 147;
    public static final int LOOPNZ_O16_A32 = 148;
    public static final int LOOPNZ_O32_A32 = 149;
    public static final int LOOPZ_O16_A16 = 150;
    public static final int LOOPZ_O32_A16 = 151;
    public static final int LOOPZ_O16_A32 = 152;
    public static final int LOOPZ_O32_A32 = 153;
    public static final int LOOP_O16_A16 = 154;
    public static final int LOOP_O32_A16 = 155;
    public static final int LOOP_O16_A32 = 156;
    public static final int LOOP_O32_A32 = 157;
    public static final int JCXZ_A16 = 158;
    public static final int JCXZ_A32 = 159;

    public static final int IN_O8_O8 = 160;
    public static final int IN_O32_O8 = 161;
    public static final int IN_O16_O8 = 162;

    public static final int IN_O8_O16 = 163;
    public static final int IN_O32_O16 = 164;
    public static final int IN_O16_O16 = 165;

    public static final int OUT_O8_O8 = 166;
    public static final int OUT_O8_O32 = 167;
    public static final int OUT_O8_O16 = 168;

    public static final int OUT_O16_O8 = 169;
    public static final int OUT_O16_O32 = 170;
    public static final int OUT_O16_O16 = 171;

    public static final int JMP_O8_SHORT = 172;
    public static final int INT1_O16_A16 = 173;
    public static final int INT1_O32_A16 = 174;
    public static final int INT1_O16_A32 = 175;
    public static final int INT1_O32_A32 = 176;
    public static final int HLT = 177;
    public static final int CMC = 178;
    public static final int CLC = 179;
    public static final int STC = 180;
    public static final int CLI = 181;
    public static final int STI = 182;
    public static final int CLD = 183;
    public static final int STD = 184;
    public static final int INS_O8_A16 = 185;
    public static final int INS_O16_A16 = 186;
    public static final int INS_O32_A16 = 187;
    public static final int MOVS_O8_A16 = 188;
    public static final int MOVS_O16_A16 = 189;
    public static final int MOVS_O32_A16 = 190;
    public static final int CMPS_O8_A16 = 191;
    public static final int CMPS_O16_A16 = 192;
    public static final int CMPS_O32_A16 = 193;
    public static final int STOS_O8_A16 = 194;
    public static final int STOS_O16_A16 = 195;
    public static final int STOS_O32_A16 = 196;
    public static final int SCAS_O8_A16 = 197;
    public static final int SCAS_O16_A16 = 198;
    public static final int SCAS_O32_A16 = 199;
    public static final int CALL_O16_A16 = 200;
    public static final int CALL_O32_A16 = 201;
    public static final int CALL_O16_A32 = 202;
    public static final int CALL_O32_A32 = 203;
    public static final int JMP_O32_NEAR_RELATIVE = 204;
    public static final int JMP_O16_NEAR_RELATIVE = 205;
    public static final int JMP_O32_FAR = 206;
    public static final int JMP_O16_FAR = 207;
    public static final int ROL_O8 = 208;
    public static final int ROR_O8 = 209;
    public static final int RCL_O8 = 210;
    public static final int RCR_O8 = 211;
    public static final int SHL_O8 = 212;
    public static final int SHR_O8 = 213;
    public static final int SAR_O8 = 214;
    public static final int ROL_O16 = 215;
    public static final int ROR_O16 = 216;
    public static final int RCL_O16 = 217;
    public static final int RCR_O16 = 218;
    public static final int SHL_O16 = 219;
    public static final int SHR_O16 = 220;
    public static final int SAR_O16 = 221;
    public static final int ROL_O32 = 222;
    public static final int ROR_O32 = 223;
    public static final int RCL_O32 = 224;
    public static final int RCR_O32 = 225;
    public static final int SHL_O32 = 226;
    public static final int SHR_O32 = 227;
    public static final int SAR_O32 = 228;
    public static final int XLAT = 229;
    public static final int INC_O8 = 230;
    public static final int DEC_O8 = 231;
    public static final int IDIV_O16 = 232;
    public static final int DIV_O16 = 233;
    public static final int MUL_O16 = 234;
    public static final int NEG_O16 = 235;
    public static final int NOT_O16 = 236;
    public static final int IDIV_O32 = 237;
    public static final int DIV_O32 = 238;
    public static final int MUL_O32 = 239;
    public static final int NEG_O32 = 240;
    public static final int NOT_O32 = 241;
    public static final int IMUL_O8 = 242;
    public static final int DIV_O8 = 243;
    public static final int MUL_O8 = 244;
    public static final int NEG_O8 = 245;
    public static final int NOT_O8 = 246;
    public static final int LES_O16_A16 = 247;
    public static final int LES_O32_A16 = 248;
    public static final int LES_O16_A32 = 249;
    public static final int LES_O32_A32 = 250;
    public static final int LDS_O16_A16 = 251;
    public static final int LDS_O32_A16 = 252;
    public static final int LDS_O16_A32 = 253;
    public static final int LDS_O32_A32 = 254;

    public static final int LFS_O16_A16 = 622;
    public static final int LFS_O32_A16 = 623;
    public static final int LFS_O16_A32 = 624;
    public static final int LFS_O32_A32 = 625;
    public static final int LGS_O16_A16 = 626;
    public static final int LGS_O32_A16 = 627;
    public static final int LGS_O16_A32 = 628;
    public static final int LGS_O32_A32 = 629;

    public static final int OUTS_O8_A16 = 255;
    public static final int OUTS_O16_A16 = 256;
    public static final int OUTS_O32_A16 = 257;
    public static final int LODS_O8_A16 = 258;
    public static final int LODS_O16_A16 = 259;
    public static final int LODS_O32_A16 = 260;
    public static final int IDIV_O8 = 261;
    public static final int EIP_UPDATE = 262;

    public static final int REP_INS_O8_A16 = 263;
    public static final int REP_INS_O16_A16 = 264;
    public static final int REP_INS_O32_A16 = 265;
    public static final int REP_MOVS_O8_A16 = 266;
    public static final int REP_MOVS_O16_A16 = 267;
    public static final int REP_MOVS_O32_A16 = 268;
    public static final int REPE_CMPS_O8_A16 = 269;
    public static final int REPE_CMPS_O16_A16 = 270;
    public static final int REPE_CMPS_O32_A16 = 271;
    public static final int REPNE_CMPS_O8_A16 = 272;
    public static final int REPNE_CMPS_O16_A16 = 273;
    public static final int REPNE_CMPS_O32_A16 = 274;
    public static final int REP_STOS_O8_A16 = 275;
    public static final int REP_STOS_O16_A16 = 276;
    public static final int REP_STOS_O32_A16 = 277;
    public static final int REPE_SCAS_O8_A16 = 278;
    public static final int REPE_SCAS_O16_A16 = 279;
    public static final int REPE_SCAS_O32_A16 = 280;
    public static final int REPNE_SCAS_O8_A16 = 281;
    public static final int REPNE_SCAS_O16_A16 = 282;
    public static final int REPNE_SCAS_O32_A16 = 283;
    public static final int REP_OUTS_O8_A16 = 284;
    public static final int REP_OUTS_O16_A16 = 285;
    public static final int REP_OUTS_O32_A16 = 286;
    public static final int REP_LODS_O8_A16 = 287;
    public static final int REP_LODS_O16_A16 = 288;
    public static final int REP_LODS_O32_A16 = 289;
    public static final int REP_INS_O8_A32 = 290;
    public static final int REP_INS_O16_A32 = 291;
    public static final int REP_INS_O32_A32 = 292;
    public static final int REP_MOVS_O8_A32 = 293;
    public static final int REP_MOVS_O16_A32 = 294;
    public static final int REP_MOVS_O32_A32 = 295;
    public static final int REPE_CMPS_O8_A32 = 296;
    public static final int REPE_CMPS_O16_A32 = 297;
    public static final int REPE_CMPS_O32_A32 = 298;
    public static final int REPNE_CMPS_O8_A32 = 299;
    public static final int REPNE_CMPS_O16_A32 = 300;
    public static final int REPNE_CMPS_O32_A32 = 301;
    public static final int REP_STOS_O8_A32 = 302;
    public static final int REP_STOS_O16_A32 = 303;
    public static final int REP_STOS_O32_A32 = 304;
    public static final int REPE_SCAS_O8_A32 = 305;
    public static final int REPE_SCAS_O16_A32 = 306;
    public static final int REPE_SCAS_O32_A32 = 307;
    public static final int REPNE_SCAS_O8_A32 = 308;
    public static final int REPNE_SCAS_O16_A32 = 309;
    public static final int REPNE_SCAS_O32_A32 = 310;
    public static final int REP_OUTS_O8_A32 = 311;
    public static final int REP_OUTS_O16_A32 = 312;
    public static final int REP_OUTS_O32_A32 = 313;
    public static final int REP_LODS_O8_A32 = 314;
    public static final int REP_LODS_O16_A32 = 315;
    public static final int REP_LODS_O32_A32 = 316;
    public static final int CALLN_O16_A16 = 317;
    public static final int CALLN_O32_A16 = 318;
    public static final int CALLN_O16_A32 = 319;
    public static final int CALLN_O32_A32 = 320;
    public static final int JO_O16 = 321;
    public static final int JNO_O16 = 322;
    public static final int JB_O16 = 323;
    public static final int JNB_O16 = 324;
    public static final int JZ_O16 = 325;
    public static final int JNZ_O16 = 326;
    public static final int JBE_O16 = 327;
    public static final int JNBE_O16 = 328;
    public static final int JS_O16 = 329;
    public static final int JNS_O16 = 330;
    public static final int JP_O16 = 331;
    public static final int JNP_O16 = 332;
    public static final int JL_O16 = 333;
    public static final int JNL_O16 = 334;
    public static final int JLE_O16 = 335;
    public static final int JNLE_O16 = 336;
    public static final int JO_O32 = 337;
    public static final int JNO_O32 = 338;
    public static final int JB_O32 = 339;
    public static final int JNB_O32 = 340;
    public static final int JZ_O32 = 341;
    public static final int JNZ_O32 = 342;
    public static final int JBE_O32 = 343;
    public static final int JNBE_O32 = 344;
    public static final int JS_O32 = 345;
    public static final int JNS_O32 = 346;
    public static final int JP_O32 = 347;
    public static final int JNP_O32 = 348;
    public static final int JL_O32 = 349;
    public static final int JNL_O32 = 350;
    public static final int JLE_O32 = 351;
    public static final int JNLE_O32 = 352;
    public static final int INS_O8_A32 = 353;
    public static final int INS_O16_A32 = 354;
    public static final int INS_O32_A32 = 355;
    public static final int MOVS_O8_A32 = 356;
    public static final int MOVS_O16_A32 = 357;
    public static final int MOVS_O32_A32 = 358;
    public static final int CMPS_O8_A32 = 359;
    public static final int CMPS_O16_A32 = 360;
    public static final int CMPS_O32_A32 = 361;
    public static final int STOS_O8_A32 = 362;
    public static final int STOS_O16_A32 = 363;
    public static final int STOS_O32_A32 = 364;
    public static final int SCAS_O8_A32 = 365;
    public static final int SCAS_O16_A32 = 366;
    public static final int SCAS_O32_A32 = 367;
    public static final int OUTS_O8_A32 = 368;
    public static final int OUTS_O16_A32 = 369;
    public static final int OUTS_O32_A32 = 370;
    public static final int LODS_O8_A32 = 371;
    public static final int LODS_O16_A32 = 372;
    public static final int LODS_O32_A32 = 373;
    public static final int JMP_O32_NEAR_ABSOLUTE = 374;
    public static final int JMP_O16_NEAR_ABSOLUTE = 375;
    public static final int IMUL_REGA_O8 = 376;
    public static final int IMUL_REGA_O16 = 377;
    public static final int IMUL_REGA_O32 = 378;

    public static final int SGDT_O16 = 379;
    public static final int SGDT_O32 = 380;
    public static final int LGDT_O16 = 381;
    public static final int LGDT_O32 = 382;
    public static final int SIDT_O16 = 383;
    public static final int SIDT_O32 = 384;
    public static final int LIDT_O16 = 385;
    public static final int LIDT_O32 = 386;

    public static final int SMSW = 387;
    public static final int LMSW = 388;
    public static final int INVLPG = 389;

    public static final int MOV_TO_CR_O32 = 390;
    public static final int MOV_TO_SEG = 391;

    public static final int MOVZX_O16_O8 = 392;
    public static final int MOVZX_O32_O8 = 393;
    public static final int MOVZX_O16_O16 = 394;
    public static final int MOVZX_O32_O16 = 395;

    public static final int LSS_O16_A16 = 396;
    public static final int LSS_O32_A16 = 397;
    public static final int LSS_O16_A32 = 398;
    public static final int LSS_O32_A32 = 399;

    public static final int CMOVO_O16 = 400;
    public static final int CMOVNO_O16 = 401;
    public static final int CMOVB_O16 = 402;
    public static final int CMOVNB_O16 = 403;
    public static final int CMOVZ_O16 = 404;
    public static final int CMOVNZ_O16 = 405;
    public static final int CMOVBE_O16 = 406;
    public static final int CMOVNBE_O16 = 407;
    public static final int CMOVS_O16 = 408;
    public static final int CMOVNS_O16 = 409;
    public static final int CMOVP_O16 = 410;
    public static final int CMOVNP_O16 = 411;
    public static final int CMOVL_O16 = 412;
    public static final int CMOVNL_O16 = 413;
    public static final int CMOVLE_O16 = 414;
    public static final int CMOVNLE_O16 = 415;
    public static final int CMOVO_O32 = 416;
    public static final int CMOVNO_O32 = 417;
    public static final int CMOVB_O32 = 418;
    public static final int CMOVNB_O32 = 419;
    public static final int CMOVZ_O32 = 420;
    public static final int CMOVNZ_O32 = 421;
    public static final int CMOVBE_O32 = 422;
    public static final int CMOVNBE_O32 = 423;
    public static final int CMOVS_O32 = 424;
    public static final int CMOVNS_O32 = 425;
    public static final int CMOVP_O32 = 426;
    public static final int CMOVNP_O32 = 427;
    public static final int CMOVL_O32 = 428;
    public static final int CMOVNL_O32 = 429;
    public static final int CMOVLE_O32 = 430;
    public static final int CMOVNLE_O32 = 431;

    public static final int SETO = 432;
    public static final int SETNO = 433;
    public static final int SETB = 434;
    public static final int SETNB = 435;
    public static final int SETZ = 436;
    public static final int SETNZ = 437;
    public static final int SETBE = 438;
    public static final int SETNBE = 439;
    public static final int SETS = 440;
    public static final int SETNS = 441;
    public static final int SETP = 442;
    public static final int SETNP = 443;
    public static final int SETL = 444;
    public static final int SETNL = 445;
    public static final int SETLE = 446;
    public static final int SETNLE = 447;

    public static final int CPUID = 448;
    public static final int CLTS = 449;
    public static final int SLDT = 450;
    public static final int STR_O32 = 451;
    public static final int STR_O16 = 452;
    public static final int LLDT = 453;
    public static final int LTR = 454;
    public static final int VERR = 455;
    public static final int VERW = 456;

    public static final int MOVSX_O16_O8 = 457;
    public static final int MOVSX_O32_O8 = 458;
    public static final int MOVSX_O16_O16 = 459;
    public static final int MOVSX_O32_O16 = 460;

    public static final int SHRD_O16 = 461;
    public static final int SHRD_O32 = 462;

    public static final int SHLD_O16 = 463;
    public static final int SHLD_O32 = 464;

    public static final int BTR_O16 = 465;
    public static final int BTR_O32 = 466;
    public static final int BTS_O16 = 467;
    public static final int BTS_O32 = 468;
    public static final int BT_O16 = 469;
    public static final int BT_O32 = 470;
    public static final int BTC_O16 = 471;
    public static final int BTC_O32 = 472;


    public static final int BTR_O16_O8 = 473;
    public static final int BTR_O32_O8 = 474;
    public static final int BTS_O16_O8 = 475;
    public static final int BTS_O32_O8 = 476;
    public static final int BT_O16_O8 = 477;
    public static final int BT_O32_O8 = 478;
    public static final int BTC_O16_O8 = 479;
    public static final int BTC_O32_O8 = 480;

    public static final int UD2 = 481;

    public static final int BSF_O16 = 482;
    public static final int BSF_O32 = 483;
    public static final int BSR_O16 = 484;
    public static final int BSR_O32 = 485;

    public static final int MOV_TO_DR_O32 = 486;
    public static final int RDTSC = 487;
    public static final int RDMSR = 488;

    public static final int XADD_O8 = 489;
    public static final int XADD_O16 = 490;
    public static final int XADD_O32 = 491;

    public static final int CMPXCHG_O8 = 492;
    public static final int CMPXCHG_O16 = 493;
    public static final int CMPXCHG_O32 = 494;

    public static final int CMPXCHG8B = 495;
    public static final int BSWAP = 496;
    public static final int WRMSR = 630;
    public static final int ARPL = 631;
    public static final int INVD = 632;
    public static final int WBINVD = 633;

    //FPU Operations
    public static final int FADD_SR = 497;
    public static final int FMUL_SR = 498;
    public static final int FCOM_SR = 499;
    public static final int FCOMP_SR = 500;
    public static final int FSUB_SR = 501;
    public static final int FSUBR_SR = 502;
    public static final int FDIV_SR = 503;
    public static final int FDIVR_SR = 504;
    
    public static final int FLD_SR = 505;
    public static final int FST_SR = 506;
    public static final int FSTP_SR = 507;
    public static final int FNLDENV_14 = 508;
    public static final int FNLDENV_28 = 634;
    public static final int FLDCW = 509;
    public static final int FNSTENV_14 = 510;
    public static final int FNSTENV_28 = 635;
    public static final int FSTCW = 511;
    
    public static final int FIADD_DI = 512;
    public static final int FIMUL_DI = 513;
    public static final int FICOM_DI = 514;
    public static final int FICOMP_DI = 515;
    public static final int FISUB_DI = 516;
    public static final int FISUBR_DI = 517;
    public static final int FIDIV_DI = 518;
    public static final int FIDIVR_DI = 519;
    
    public static final int FILD_DI = 520;
    public static final int FISTTP_DI = 521;
    public static final int FIST_DI = 522;
    public static final int FISTP_DI = 523;
    public static final int FLD_XR = 524;
    public static final int FSTP_XR = 525;
    
    public static final int FADD_DR = 526;
    public static final int FMUL_DR = 527;
    public static final int FCOM_DR = 528;
    public static final int FCOMP_DR = 529;
    public static final int FSUB_DR = 530;
    public static final int FSUBR_DR = 531;
    public static final int FDIV_DR = 532;
    public static final int FDIVR_DR = 533;
    
    public static final int FLD_DR = 534;
    public static final int FISTTP_QI = 535;
    public static final int FST_DR = 536;
    public static final int FSTP_DR = 537;
    public static final int FRSTOR_98108 = 538;
    public static final int FSAVE_98108 = 539;
    public static final int FSTSW = 540;

    public static final int FIADD_WI = 541;
    public static final int FIMUL_WI = 542;
    public static final int FICOM_WI = 543;
    public static final int FICOMP_WI = 544;
    public static final int FISUB_WI = 545;
    public static final int FISUBR_WI = 546;
    public static final int FIDIV_WI = 547;
    public static final int FIDIVR_WI = 548;
    
    public static final int FILD_WI = 549;
    public static final int FISTTP_WI = 550;
    public static final int FIST_WI = 551;
    public static final int FISTP_WI = 552;
    public static final int FBLD = 553;
    public static final int FILD_QI = 554;
    public static final int FBSTP = 555;
    public static final int FISTP_QI = 556;
    
    //operations that act on two fpu stack operands
    public static final int FADD = 557;
    public static final int FMUL = 558;
    public static final int FCOM = 559;
    public static final int FCOMP = 560;
    public static final int FSUB = 561;
    public static final int FSUBR = 562;
    public static final int FDIV = 563;
    public static final int FDIVR = 564;
    
    public static final int FLD = 565;
    public static final int FXCH = 566;

    public static final int FCMOVB = 567;
    public static final int FCMOVE = 568;
    public static final int FCMOVBE = 569;
    public static final int FCMOVU = 570;
    
    public static final int FCMOVNB = 571;
    public static final int FCMOVNE = 572;
    public static final int FCMOVNBE = 573;
    public static final int FCMOVNU = 574;
    public static final int FUCOMI = 575;
    public static final int FCOMI = 576;

    public static final int FFREE = 577;
    public static final int FST = 578;
    public static final int FSTP = 579;
    public static final int FUCOM = 580;
    public static final int FUCOMP = 581;

    public static final int FADDP = 582;
    public static final int FMULP = 583;
    public static final int FSUBRP = 584;
    public static final int FSUBP = 585;
    public static final int FDIVRP = 586;
    public static final int FDIVP = 587;

    public static final int FUCOMIP = 588;
    public static final int FCOMIP = 589;

    //operations that use the whole opcode + modrm combination to encode themselves
    public static final int FNOP = 590;
    
    public static final int FCHS = 591;
    public static final int FABS = 592;
    public static final int FTST = 593;
    public static final int FXAM = 594;
    public static final int FLD1 = 595;
    public static final int FLDL2T = 596;
    public static final int FLDL2E = 597;
    public static final int FLDPI = 598;
    public static final int FLDLG2 = 599;
    public static final int FLDLN2 = 600;
    public static final int FLDZ = 601;
    
    public static final int F2XM1 = 602;
    public static final int FYL2X = 603;
    public static final int FPTAN = 604;
    public static final int FPATAN = 605;
    public static final int FXTRACT = 606;
    public static final int FPREM1 = 607;
    public static final int FDECSTP = 608;
    public static final int FINCSTP = 609;
    public static final int FPREM = 610;
    public static final int FYL2XP1 = 611;
    public static final int FSQRT = 612;
    public static final int FSINCOS = 613;
    public static final int FRNDINT = 614;
    public static final int FSCALE = 615;
    public static final int FSIN = 616;
    public static final int FCOS = 617;
    
    public static final int FUCOMPP = 618;
    
    public static final int FCLEX = 619;
    public static final int FNINIT = 620;
    
    public static final int FCOMPP = 621;
}
