ia32_locations.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #if !defined(IA32_LOCS_H)
00033 #define IA32_LOCS_H
00034
00035 class ia32_locations {
00036 public:
00037 ia32_locations() : num_prefixes(0), opcode_size(0), opcode_position(-1),
00038 disp_size(0), disp_position(-1), imm_cnt(0),
00039 modrm_position(-1), modrm_operand(-1), modrm_byte(0), modrm_mod(0),
00040 modrm_rm(0), modrm_reg(0), sib_byte(0), sib_position(-1),
00041 rex_position(-1), rex_byte(0), rex_w(0), rex_r(0), rex_x(0), rex_b(0),
00042 address_size(0) {
00043 imm_position[0] = -1;
00044 imm_size[0] = 0;
00045 imm_position[1] = -1;
00046 imm_size[1] = 0;
00047 }
00048 void reinit() {
00049 num_prefixes = 0;
00050 opcode_size = 0;
00051 opcode_position = -1;
00052 disp_size = 0;
00053 disp_position = -1;
00054 imm_cnt = 0;
00055 imm_position[0] = -1;
00056 imm_size[0] = -1;
00057 imm_position[1] = -1;
00058 imm_size[1] = -1;
00059 modrm_position = -1;
00060 modrm_operand = -1;
00061 modrm_byte = 0;
00062 modrm_mod = 0;
00063 modrm_rm = 0;
00064 modrm_reg = 0;
00065 sib_byte = 0;
00066 sib_position = -1;
00067 rex_position = -1;
00068 rex_byte = 0;
00069 rex_w = 0;
00070 rex_r = 0;
00071 rex_x = 0;
00072 rex_b = 0;
00073 address_size = 0;
00074 }
00075 int num_prefixes;
00076 unsigned int opcode_size;
00077 int opcode_position;
00078
00079 unsigned disp_size;
00080 int disp_position;
00081
00082 int imm_cnt;
00083
00084 int modrm_position;
00085 int modrm_operand;
00086 unsigned char modrm_byte;
00087 unsigned char modrm_mod;
00088 unsigned char modrm_rm;
00089 unsigned char modrm_reg;
00090
00091 unsigned char sib_byte;
00092 int sib_position;
00093
00094 int rex_position;
00095 unsigned char rex_byte;
00096 unsigned char rex_w;
00097 unsigned char rex_r;
00098 unsigned char rex_x;
00099 unsigned char rex_b;
00100
00101 int address_size;
00102 int imm_position[2];
00103 unsigned int imm_size[2];
00104 };
00105
00106 #endif
00107