⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proctab.cpp

📁 十分经典的开源反编译工具
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// subtable 0x82
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86sub82[]=
{ {"add",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4000},
  {"or",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4001},
  {"adc",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4002},
  {"sbb",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4003},
  {"and",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4004},
  {"sub",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4005},
  {"xor",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4006},
  {"cmp",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_SIMM8,ARG_NONE,4007},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0x83
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86sub83[]=
{ {"add",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5000},
  {"add",0x0,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5001},
  {"or",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5002},
  {"or",0x1,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5003},
  {"adc",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5004},
  {"adc",0x2,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5005},
  {"sbb",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5006},
  {"sbb",0x3,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5007},
  {"and",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5008},
  {"and",0x4,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5009},
  {"sub",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5010},
  {"sub",0x5,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5011},
  {"xor",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5012},
  {"xor",0x6,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5013},
  {"cmp",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_SIMM8,ARG_NONE,5014},
  {"cmp",0x7,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_SIMM8,ARG_NONE,5015},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xc0
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subc0[]=
{ {"rol",0x0,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6000},
  {"ror",0x1,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6001},
  {"rcl",0x2,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6002},
  {"rcr",0x3,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6003},
  {"shl",0x4,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6004},
  {"shr",0x5,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6005},
  {"sal",0x6,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6006},
  {"sar",0x7,PROC_FROM80286,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,6007},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xc1
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subc1[]=
{ {"rol",0x0,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7000},
  {"rol",0x0,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7001},
  {"ror",0x1,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7002},
  {"ror",0x1,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7003},
  {"rcl",0x2,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7004},
  {"rcl",0x2,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7005},
  {"rcr",0x3,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7006},
  {"rcr",0x3,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7007},
  {"shl",0x4,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7008},
  {"shl",0x4,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7009},
  {"shr",0x5,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7010},
  {"shr",0x5,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7011},
  {"sal",0x6,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7012},
  {"sal",0x6,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7013},
  {"sar",0x7,PROC_FROM80286,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM8,ARG_NONE,7014},
  {"sar",0x7,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM8,ARG_NONE,7015},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xd0
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subd0[]=
{ {"rol",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8000},
  {"ror",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8001},
  {"rcl",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8002},
  {"rcr",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8003},
  {"shl",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8004},
  {"shr",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8005},
  {"sal",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8006},
  {"sar",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM_1,ARG_NONE,8007},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xd1
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subd1[]=
{ {"rol",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9000},
  {"rol",0x0,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9001},
  {"ror",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9002},
  {"ror",0x1,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9003},
  {"rcl",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9004},
  {"rcl",0x2,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9005},
  {"rcr",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9006},
  {"rcr",0x3,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9007},
  {"shl",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9008},
  {"shl",0x4,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9009},
  {"shr",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9010},
  {"shr",0x5,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9011},
  {"sal",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9012},
  {"sal",0x6,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9013},
  {"sar",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM_1,ARG_NONE,9014},
  {"sar",0x7,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM_1,ARG_NONE,9015},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xd2
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subd2[]=
{ {"rol",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10000},
  {"ror",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10001},
  {"rcl",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10002},
  {"rcr",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10003},
  {"shl",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10004},
  {"shr",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10005},
  {"sal",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10006},
  {"sar",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_REG_CL,ARG_NONE,10007},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xd3
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subd3[]=
{ {"rol",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11000},
  {"rol",0x0,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11001},
  {"ror",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11002},
  {"ror",0x1,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11003},
  {"rcl",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11004},
  {"rcl",0x2,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11005},
  {"rcr",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11006},
  {"rcr",0x3,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11007},
  {"shl",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11008},
  {"shl",0x4,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11009},
  {"shr",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11010},
  {"shr",0x5,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11011},
  {"sal",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11012},
  {"sal",0x6,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11013},
  {"sar",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_REG_CL,ARG_NONE,11014},
  {"sar",0x7,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_REG_CL,ARG_NONE,11015},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xf6
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subf6[]=
{ {"test",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,12000},
  {"test",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_IMM8,ARG_NONE,12001},
  {"not",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_NONE,ARG_NONE,12002},
  {"neg",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_NONE,ARG_NONE,12003},
  {"mul",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_NONE,ARG_NONE,12004},
  {"imul",0x5,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_NONE,ARG_NONE,12005},
  {"div",0x6,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_NONE,ARG_NONE,12006},
  {"idiv",0x7,PROC_FROM8086,FLAGS_MODRM|FLAGS_8BIT,ARG_MODRM,ARG_NONE,ARG_NONE,12007},
  {NULL,0x00,0,0,ARG_NONE,ARG_NONE,ARG_NONE,0}  //end marker - processor=0 & opcode=0
};

// subtable 0xf7
// - num is encoding of modrm bits 5,4,3 only
asminstdata asm86subf7[]=
{ {"test",0x0,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM,ARG_NONE,13000},
  {"test",0x0,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM,ARG_NONE,13001},
  {"test",0x1,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_IMM,ARG_NONE,13002},
  {"test",0x1,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_IMM,ARG_NONE,13003},
  {"not",0x2,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_NONE,ARG_NONE,13004},
  {"not",0x2,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_NONE,ARG_NONE,13005},
  {"neg",0x3,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODRM,ARG_NONE,ARG_NONE,13006},
  {"neg",0x3,PROC_FROM80386,FLAGS_MODRM|FLAGS_OMODE32,ARG_MODRM,ARG_NONE,ARG_NONE,13007},
  {"mul",0x4,PROC_FROM8086,FLAGS_MODRM|FLAGS_OMODE16,ARG_MODR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -