📄 microcodeset.java
字号:
/* 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.optimised;
public interface MicrocodeSet
{
//Rough Frequency Ordered Microcodes
public static final int MEM_RESET = 0;
public static final int ADDR_MASK16 = 1;
public static final int EIP_UPDATE = 2;
public static final int ADDR_IB = 3;
public static final int PUSH_O16_A16 = 4;
public static final int LOAD_SEG_SS = 5;
public static final int LOAD0_AX = 6;
public static final int ADDR_BP = 7;
public static final int LOAD0_IB = 8;
public static final int LOAD0_MEM_WORD = 9;
public static final int STORE1_ESP = 10;
public static final int POP_O16_A16 = 11;
public static final int STORE0_AX = 12;
public static final int LOAD0_IW = 13;
public static final int LOAD_SEG_DS = 14;
public static final int STORE0_BX = 15;
public static final int SUB = 16;
public static final int STORE0_BP = 17;
public static final int ADDR_BX = 18;
public static final int LOAD0_SP = 19;
public static final int ADD = 20;
public static final int STORE0_MEM_WORD = 21;
public static final int LOAD0_MEM_BYTE = 22;
public static final int JNZ_O8 = 23;
public static final int STORE0_AL = 24;
public static final int LOAD0_BX = 25;
public static final int LOAD1_IB = 26;
public static final int LOAD1_IW = 27;
public static final int CALL_O16_A16 = 28;
public static final int STORE0_CX = 29;
public static final int LOAD0_CX = 30;
public static final int LOAD0_BP = 31;
public static final int RET_O16_A16 = 32;
public static final int STORE0_SP = 33;
public static final int LOAD0_AL = 34;
public static final int ADD_O16_FLAGS = 35;
public static final int SUB_O16_FLAGS = 36;
public static final int STORE0_DS = 37;
public static final int LOAD0_DX = 38;
public static final int BITWISE_FLAGS_O8 = 39;
public static final int STORE0_SI = 40;
public static final int XOR = 41;
public static final int STORE0_DX = 42;
public static final int ADDR_SI = 43;
public static final int SUB_O8_FLAGS = 44;
public static final int JZ_O8 = 45;
public static final int LOAD0_AH = 46;
public static final int STORE0_DI = 47;
public static final int LOAD0_SI = 48;
public static final int ADDR_IW = 49;
public static final int BITWISE_FLAGS_O16 = 50;
public static final int LOAD0_DS = 51;
public static final int LOAD1_MEM_WORD = 52;
public static final int LOAD0_DI = 53;
public static final int INC = 54;
public static final int STORE0_ES = 55;
public static final int INC_O16_FLAGS = 56;
public static final int AND = 57;
public static final int STORE0_BH = 58;
public static final int LOAD_SEG_ES = 59;
public static final int STORE0_AH = 60;
public static final int LOAD1_CX = 61;
public static final int ADD_O8_FLAGS = 62;
public static final int LOAD1_AX = 63;
public static final int LOAD1_BH = 64;
public static final int LOAD0_BH = 65;
public static final int STORE0_MEM_BYTE = 66;
public static final int LOAD0_ES = 67;
public static final int LOAD1_AH = 68;
public static final int ADC = 69;
public static final int JUMP_O8 = 70;
public static final int JNC_O8 = 71;
public static final int JC_O8 = 72;
public static final int LOAD1_AL = 73;
public static final int ADC_O16_FLAGS = 74;
public static final int JUMP_O16 = 75;
public static final int LOAD_SEG_CS = 76;
public static final int DEC = 77;
public static final int DEC_O16_FLAGS = 78;
public static final int LOAD0_ADDR = 79;
public static final int SHL = 80;
public static final int STORE0_BL = 81;
public static final int SHL_O16_FLAGS = 82;
public static final int LOAD1_BX = 83;
public static final int OR = 84;
public static final int STORE1_ES = 85;
public static final int STORE1_AX = 86;
public static final int LOAD1_DI = 87;
public static final int LOAD1_MEM_BYTE = 88;
public static final int JCXZ = 89;
public static final int LOAD1_SI = 90;
public static final int STORE1_DS = 91;
public static final int LOAD1_CL = 92;
public static final int JUMP_ABS_O16 = 93;
public static final int STORE0_CL = 94;
public static final int ADDR_DI = 95;
public static final int SHR = 96;
public static final int SHR_O16_FLAGS = 97;
public static final int JA_O8 = 98;
public static final int JNA_O8 = 99;
public static final int INT_O16_A16 = 100;
public static final int STI = 101;
public static final int ADC_O8_FLAGS = 102;
public static final int OUT_O8 = 103;
public static final int JZ_O16 = 104;
public static final int JL_O8 = 105;
public static final int IRET_O16_A16 = 106;
public static final int IMULA_O16 = 107;
public static final int LOAD1_DX = 108;
public static final int CLD = 109;
public static final int LOAD0_DL = 110;
public static final int SIGN_EXTEND_8_16 = 111;
public static final int MOVSB_A16 = 112;
public static final int LOOP_CX = 113;
public static final int RET_IW_O16_A16 = 114;
public static final int STORE0_DL = 115;
public static final int IN_O8 = 116;
public static final int SBB = 117;
public static final int STORE0_FLAGS = 118;
public static final int STORE0_EFLAGS = 119;
public static final int LOAD0_FLAGS = 120;
public static final int LOAD0_EFLAGS = 121;
public static final int SBB_O16_FLAGS = 122;
public static final int LODSB_A16 = 123;
public static final int POPA_A16 = 124;
public static final int PUSHA_A16 = 125;
public static final int LOAD1_DL = 126;
public static final int REP_MOVSB_A16 = 127;
public static final int NOT = 128;
public static final int LOAD1_BP = 129;
public static final int REP_MOVSW_A16 = 130;
public static final int LOAD0_BL = 131;
public static final int DIV_O16 = 132;
public static final int MUL_O16 = 133;
public static final int LOAD0_SS = 134;
public static final int CLI = 135;
public static final int JNZ_O16 = 136;
public static final int LOAD0_CL = 137;
public static final int JG_O8 = 138;
public static final int CALL_FAR_O16_A16 = 139;
public static final int RET_FAR_O16_A16 = 140;
public static final int STORE0_SS = 141;
public static final int JUMP_FAR_O16 = 142;
public static final int CWD = 143;
public static final int STORE0_CH = 144;
public static final int LOAD1_CH = 145;
public static final int LOAD0_CH = 146;
public static final int IDIV_O16 = 147;
public static final int STOSB_A16 = 148;
public static final int JNL_O8 = 149;
public static final int DEC_O8_FLAGS = 150;
public static final int INC_O8_FLAGS = 151;
public static final int LOAD0_EAX = 152;
public static final int RET_FAR_IW_O16_A16 = 153;
public static final int LOAD1_BL = 154;
public static final int STORE0_EAX = 155;
public static final int JNG_O8 = 156;
public static final int LODSW_A16 = 157;
public static final int REPE_CMPSB_A16 = 158;
public static final int ENTER_O16_A16 = 159;
public static final int LEAVE_O16_A16 = 160;
public static final int STORE0_MEM_DWORD = 161;
public static final int ROR_O8_FLAGS = 162;
public static final int ROR_O8 = 163;
public static final int POP_O32_A16 = 164;
public static final int PUSH_O32_A16 = 165;
public static final int REPNE_SCASB_A16 = 166;
public static final int SUB_O32_FLAGS = 167;
public static final int LOAD1_ID = 168;
public static final int LOAD0_MEM_DWORD = 169;
public static final int INC_O32_FLAGS = 170;
public static final int LOAD0_CS = 171;
public static final int STORE1_DI = 172;
public static final int LAHF = 173;
public static final int STORE0_DH = 174;
public static final int LOAD0_DH = 175;
public static final int LOAD1_DH = 176;
public static final int CALL_ABS_O16_A16 = 177;
public static final int JC_O16 = 178;
public static final int REP_STOSW_A16 = 179;
public static final int STORE1_CL = 180;
public static final int SBB_O8_FLAGS = 181;
public static final int NEG = 182;
public static final int NEG_O16_FLAGS = 183;
public static final int SHL_O8_FLAGS = 184;
public static final int JNC_O16 = 185;
public static final int STOSW_A16 = 186;
public static final int MUL_O8 = 187;
public static final int DIV_O8 = 188;
public static final int LOAD1_SP = 189;
public static final int STORE1_MEM_WORD = 190;
public static final int BITWISE_FLAGS_O32 = 191;
public static final int LOAD1_EAX = 192;
public static final int NOOP = 193;
public static final int STC = 194;
public static final int CLC = 195;
public static final int LOOPZ_CX = 196;
public static final int SAR_O16_FLAGS = 197;
public static final int SAR_O16 = 198;
public static final int LOAD0_EBX = 199;
public static final int STORE0_EBX = 200;
public static final int JNS_O8 = 201;
public static final int ADD_O32_FLAGS = 202;
public static final int LOAD0_ECX = 203;
public static final int LOAD0_ESI = 204;
public static final int STORE0_ECX = 205;
public static final int STORE0_EDI = 206;
public static final int STORE0_ESI = 207;
public static final int LOAD0_EDI = 208;
public static final int STORE0_EDX = 209;
public static final int SHR_O32_FLAGS = 210;
public static final int SHR_O8_FLAGS = 211;
public static final int RCL_O16_FLAGS = 212;
public static final int RCL_O16 = 213;
public static final int JA_O16 = 214;
public static final int LOAD1_MEM_DWORD = 215;
public static final int SHL_O32_FLAGS = 216;
public static final int LOAD1_EDX = 217;
public static final int STORE1_AL = 218;
public static final int LOAD1_ECX = 219;
public static final int LOAD0_EDX = 220;
public static final int MOVSW_A16 = 221;
public static final int LOAD1_EBX = 222;
public static final int LOAD1_EDI = 223;
public static final int LOAD0_CR0 = 224;
public static final int STORE0_CR0 = 225;
public static final int NEG_O8_FLAGS = 226;
public static final int LGDT_O16 = 227;
public static final int SMSW = 228;
public static final int ADDR_ID = 229;
public static final int OUT_O16 = 230;
public static final int POPAD_A16 = 231;
public static final int PUSHAD_A16 = 232;
public static final int STORE1_SI = 233;
public static final int STORE1_MEM_BYTE = 234;
public static final int MUL_O32 = 235;
public static final int SETC = 236;
public static final int REP_SUB_O8_FLAGS = 237;
public static final int REP_SUB_O16_FLAGS = 238;
public static final int REP_SUB_O32_FLAGS = 239;
//Operand Microcodes
public static final int LOAD0_ESP = 240;
public static final int LOAD0_EBP = 241;
public static final int LOAD0_FS = 242;
public static final int LOAD0_GS = 243;
public static final int LOAD0_CR2 = 244;
public static final int LOAD0_CR3 = 245;
public static final int LOAD0_CR4 = 246;
public static final int LOAD0_DR0 = 247;
public static final int LOAD0_DR1 = 248;
public static final int LOAD0_DR2 = 249;
public static final int LOAD0_DR3 = 250;
public static final int LOAD0_DR6 = 251;
public static final int LOAD0_DR7 = 252;
public static final int LOAD0_MEM_QWORD = 253;
public static final int STORE0_MEM_QWORD = 254;
public static final int LOAD0_ID = 255;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -