?? atab-x86.c
字號:
{ I_FXCH, 1, { REG_FPU, 0, 0 }, "\xD9\xC8", 2, FPUCODE, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_FXTRACT[] = { { I_FXTRACT, 1, { REGISTER, 0, 0 }, "\xD9\xF4", 2, -1, { R_ST0, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_FYL2X[] = { { I_FYL2X, 1, { REGISTER, 0, 0 }, "\xD9\xF1", 2, -1, { R_ST0, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_FYL2XP1[] = { { I_FYL2XP1, 1, { REGISTER, 0, 0 }, "\xD9\xF9", 2, -1, { R_ST0, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_HLT[] = { { I_HLT, 0, { 0, 0, 0 }, "\xF4", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_IDIV[] = { { I_IDIV, 1, { REGMEM|BITS8, 0, 0 }, "\xF6", 1, 7, { -1, -1, -1 } }, { I_IDIV, 1, { REGMEM|BITS16, 0, 0 }, "\xF7", 1, 7, { -1, -1, -1 } }, { I_IDIV, 1, { REGMEM|BITS32, 0, 0 }, "\xF7", 1, 7, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_IMUL[] = { { I_IMUL, 1, { REGMEM|BITS8, 0, 0 }, "\xF6", 1, 5, { -1, -1, -1 } }, { I_IMUL, 1, { REGMEM|BITS16, 0, 0 }, "\xF7", 1, 5, { -1, -1, -1 } }, { I_IMUL, 1, { REGMEM|BITS32, 0, 0 }, "\xF7", 1, 5, { -1, -1, -1 } }, { I_IMUL, 2, { REG16, REGMEM|BITS16, 0 }, "\x0F\xAF", 2, REGRM, { -1, -1, -1 } }, { I_IMUL, 2, { REG32, REGMEM|BITS32, 0 }, "\x0F\xAF", 2, REGRM, { -1, -1, -1 } }, { I_IMUL, 3, { REG16, REGMEM|BITS16, IMMEDIATE|BITS8 }, "\x6B", 1, REGRM, { -1, -1, -1 } }, { I_IMUL, 3, { REG32, REGMEM|BITS32, IMMEDIATE|BITS8 }, "\x6B", 1, REGRM, { -1, -1, -1 } }, { I_IMUL, 3, { REG16, REGMEM|BITS16, IMMEDIATE|BITS16 }, "\x69", 1, REGRM, { -1, -1, -1 } }, { I_IMUL, 3, { REG32, REGMEM|BITS32, IMMEDIATE|BITS32 }, "\x69", 1, REGRM, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_IN[] = { { I_IN, 2, { REGISTER|BITS8, IMMEDIATE|BITS8, 0 }, "\xE4", 1, -1, { R_AL, -1, -1 } }, { I_IN, 2, { REGISTER|BITS16, IMMEDIATE|BITS8, 0 }, "\xE5", 1, -1, { R_AX, -1, -1 } }, { I_IN, 2, { REGISTER|BITS32, IMMEDIATE|BITS8, 0 }, "\xE5", 1, -1, { R_EAX, -1, -1 } }, { I_IN, 2, { REGISTER|BITS8, REGISTER|BITS16, 0 }, "\xEC", 1, -1, { R_AL, R_DX, -1 } }, { I_IN, 2, { REGISTER|BITS16, REGISTER|BITS16, 0 }, "\xED", 1, -1, { R_AX, R_DX, -1 } }, { I_IN, 2, { REGISTER|BITS32, REGISTER|BITS16, 0 }, "\xED", 1, -1, { R_EAX, R_DX, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INC[] = { { I_INC, 1, { REGMEM|BITS8, 0, 0 }, "\xFE", 1, 0, { -1, -1, -1 } }, { I_INC, 1, { REGMEM|BITS16, 0, 0 }, "\xFF", 1, 0, { -1, -1, -1 } }, { I_INC, 1, { REGMEM|BITS32, 0, 0 }, "\xFF", 1, 0, { -1, -1, -1 } }, { I_INC, 1, { REG16, 0, 0 }, "\x40", 1, REGCODE, { -1, -1, -1 } }, { I_INC, 1, { REG32, 0, 0 }, "\x40", 1, REGCODE, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INSB[] = { { I_INSB, 0, { 0, 0, 0 }, "\x6C", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INSD[] = { { I_INSD, 0, { BITS32, 0, 0 }, "\x6D", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INSW[] = { { I_INSW, 0, { 0, 0, 0 }, "\x6D", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INT[] = { { I_INT, 1, { IMMEDIATE|BITS8, 0, 0 }, "\xCD", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INT3[] = { { I_INT3, 0, { 0, 0, 0 }, "\xCC", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INTO[] = { { I_INTO, 0, { 0, 0, 0 }, "\xCE", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INVD[] = { { I_INVD, 0, { 0, 0, 0 }, "\x0F\x08", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_INVLPG[] = { { I_INVLPG, 1, { MEMORY, 0, 0 }, "\x0F\x01", 2, 7, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_IRET[] = { { I_IRET, 0, { 0, 0, 0 }, "\xCF", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_IRETD[] = { { I_IRETD, 0, { BITS32, 0, 0 }, "\xCF", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JA[] = { { I_JA, 1, { RELATIVE|BITS8, 0, 0 }, "\x77", 1, -1, { -1, -1, -1 } }, { I_JA, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x87", 2, -1, { -1, -1, -1 } }, { I_JA, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x87", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JC[] = { { I_JC, 1, { RELATIVE|BITS8, 0, 0 }, "\x72", 1, -1, { -1, -1, -1 } }, { I_JC, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x82", 2, -1, { -1, -1, -1 } }, { I_JC, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x82", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JCXZ[] = { { I_JCXZ, 1, { RELATIVE|BITS8, 0, 0 }, "\xE3", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JE[] = { { I_JE, 1, { RELATIVE|BITS8, 0, 0 }, "\x74", 1, -1, { -1, -1, -1 } }, { I_JE, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x84", 2, -1, { -1, -1, -1 } }, { I_JE, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x84", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JG[] = { { I_JG, 1, { RELATIVE|BITS8, 0, 0 }, "\x7F", 1, -1, { -1, -1, -1 } }, { I_JG, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x8F", 2, -1, { -1, -1, -1 } }, { I_JG, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x8F", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JL[] = { { I_JL, 1, { RELATIVE|BITS8, 0, 0 }, "\x7C", 1, -1, { -1, -1, -1 } }, { I_JL, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x8C", 2, -1, { -1, -1, -1 } }, { I_JL, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x8C", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JLE[] = { { I_JLE, 1, { RELATIVE|BITS8, 0, 0 }, "\x7E", 1, -1, { -1, -1, -1 } }, { I_JLE, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x8E", 2, -1, { -1, -1, -1 } }, { I_JLE, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x8E", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JMP[] = { { I_JMP, 1, { RELATIVE|BITS8|SHORT, 0, 0 }, "\xEB", 1, -1, { -1, -1, -1 } }, { I_JMP, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\xE9", 1, -1, { -1, -1, -1 } }, { I_JMP, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\xE9", 1, -1, { -1, -1, -1 } }, { I_JMP, 1, { REGMEM|BITS16|NEAR, 0, 0 }, "\xFF", 1, 4, { -1, -1, -1 } }, { I_JMP, 1, { REGMEM|BITS32|NEAR, 0, 0 }, "\xFF", 1, 4, { -1, -1, -1 } }, { I_JMP, 1, { SEG16|OFF16|FAR, 0, 0 }, "\xEA", 1, -1, { -1, -1, -1 } }, { I_JMP, 1, { SEG16|OFF32|BITS32|FAR, 0, 0 }, "\xEA", 1, -1, { -1, -1, -1 } }, { I_JMP, 1, { REGMEM|BITS16|FAR, 0, 0 }, "\xFF", 1, 5, { -1, -1, -1 } }, { I_JMP, 1, { REGMEM|BITS32|FAR, 0, 0 }, "\xFF", 1, 5, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNA[] = { { I_JNA, 1, { RELATIVE|BITS8, 0, 0 }, "\x76", 1, -1, { -1, -1, -1 } }, { I_JNA, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x86", 2, -1, { -1, -1, -1 } }, { I_JNA, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x86", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNC[] = { { I_JNC, 1, { RELATIVE|BITS8, 0, 0 }, "\x73", 1, -1, { -1, -1, -1 } }, { I_JNC, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x83", 2, -1, { -1, -1, -1 } }, { I_JNC, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x83", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNE[] = { { I_JNE, 1, { RELATIVE|BITS8, 0, 0 }, "\x75", 1, -1, { -1, -1, -1 } }, { I_JNE, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x85", 2, -1, { -1, -1, -1 } }, { I_JNE, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x85", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNL[] = { { I_JNL, 1, { RELATIVE|BITS8, 0, 0 }, "\x7D", 1, -1, { -1, -1, -1 } }, { I_JNL, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x8D", 2, -1, { -1, -1, -1 } }, { I_JNL, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x8D", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNO[] = { { I_JNO, 1, { RELATIVE|BITS8, 0, 0 }, "\x71", 1, -1, { -1, -1, -1 } }, { I_JNO, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x81", 2, -1, { -1, -1, -1 } }, { I_JNO, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x81", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNP[] = { { I_JNP, 1, { RELATIVE|BITS8, 0, 0 }, "\x7B", 1, -1, { -1, -1, -1 } }, { I_JNP, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x8B", 2, -1, { -1, -1, -1 } }, { I_JNP, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x8B", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JNS[] = { { I_JNS, 1, { RELATIVE|BITS8, 0, 0 }, "\x79", 1, -1, { -1, -1, -1 } }, { I_JNS, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x89", 2, -1, { -1, -1, -1 } }, { I_JNS, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x89", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JO[] = { { I_JO, 1, { RELATIVE|BITS8, 0, 0 }, "\x70", 1, -1, { -1, -1, -1 } }, { I_JO, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x80", 2, -1, { -1, -1, -1 } }, { I_JO, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x80", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JP[] = { { I_JP, 1, { RELATIVE|BITS8, 0, 0 }, "\x7A", 1, -1, { -1, -1, -1 } }, { I_JP, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x8A", 2, -1, { -1, -1, -1 } }, { I_JP, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x8A", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_JS[] = { { I_JS, 1, { RELATIVE|BITS8, 0, 0 }, "\x78", 1, -1, { -1, -1, -1 } }, { I_JS, 1, { RELATIVE|BITS16|NEAR, 0, 0 }, "\x0F\x88", 2, -1, { -1, -1, -1 } }, { I_JS, 1, { RELATIVE|BITS32|NEAR, 0, 0 }, "\x0F\x88", 2, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LAHF[] = { { I_LAHF, 0, { 0, 0, 0 }, "\x9F", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LAR[] = { { I_LAR, 2, { REG16, REGMEM|BITS16, 0 }, "\x0F\x02", 2, REGRM, { -1, -1, -1 } }, { I_LAR, 2, { REG32, REGMEM|BITS32, 0 }, "\x0F\x02", 2, REGRM, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LDS[] = { { I_LDS, 2, { REG16, REGMEM|BITS16, 0 }, "\xC5", 1, REGRM, { -1, -1, -1 } }, { I_LDS, 2, { REG32, REGMEM|BITS32, 0 }, "\xC5", 1, REGRM, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LEA[] = { { I_LEA, 2, { REG16, MEMORY, 0 }, "\x8D", 1, REGRM, { -1, -1, -1 } }, { I_LEA, 2, { REG32, MEMORY, 0 }, "\x8D", 1, REGRM, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LEAVE[] = { { I_LEAVE, 0, { 0, 0, 0 }, "\xC9", 1, -1, { -1, -1, -1 } }, { I_LEAVE, 0, { BITS32, 0, 0 }, "\xC9", 1, -1, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LES[] = { { I_LES, 2, { REG16, REGMEM|BITS16, 0 }, "\xC4", 1, REGRM, { -1, -1, -1 } }, { I_LES, 2, { REG32, REGMEM|BITS32, 0 }, "\xC4", 1, REGRM, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LFS[] = { { I_LFS, 2, { REG16, REGMEM|BITS16, 0 }, "\x0F\xB4", 2, REGRM, { -1, -1, -1 } }, { I_LFS, 2, { REG32, REGMEM|BITS32, 0 }, "\x0F\xB4", 2, REGRM, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LGDT[] = { { I_LGDT, 1, { MEMORY|BITS16, 0, 0 }, "\x0F\x01", 2, 2, { -1, -1, -1 } }, { -1, -1, { -1, -1, -1 }, 0, -1, -1, { -1, -1, -1 } }};static struct x86OpCode Instruction_LGS[] = {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -