00001
00002
00003 #ifndef ROSE_ENUMS_X86
00004 #define ROSE_ENUMS_X86
00005
00006 #include "AssemblerX86Init.h"
00007
00009 enum X86InstructionSize
00010 {
00011 x86_insnsize_none,
00012 x86_insnsize_16,
00013 x86_insnsize_32,
00014 x86_insnsize_64
00015 };
00016
00018 enum X86RegisterClass
00019 {
00020 x86_regclass_gpr,
00021 x86_regclass_segment,
00022 x86_regclass_cr,
00023 x86_regclass_dr,
00024 x86_regclass_st,
00025 x86_regclass_mm,
00026 x86_regclass_xmm,
00027 x86_regclass_ip,
00028 x86_regclass_flags
00029 };
00030
00032 enum X86SegmentRegister
00033 {
00034 x86_segreg_es = 0,
00035 x86_segreg_cs = 1,
00036 x86_segreg_ss = 2,
00037 x86_segreg_ds = 3,
00038 x86_segreg_fs = 4,
00039 x86_segreg_gs = 5,
00040 x86_segreg_none = 16
00041 };
00042
00044 enum X86GeneralPurposeRegister
00045 {
00046 x86_gpr_ax = 0,
00047 x86_gpr_cx = 1,
00048 x86_gpr_dx = 2,
00049 x86_gpr_bx = 3,
00050 x86_gpr_sp = 4,
00051 x86_gpr_bp = 5,
00052 x86_gpr_si = 6,
00053 x86_gpr_di = 7,
00054 x86_gpr_r8 = 8,
00055 x86_gpr_r9 = 9,
00056 x86_gpr_r10 = 10,
00057 x86_gpr_r11 = 11,
00058 x86_gpr_r12 = 12,
00059 x86_gpr_r13 = 13,
00060 x86_gpr_r14 = 14,
00061 x86_gpr_r15 = 15,
00062 };
00063
00065 enum X86Flag
00066 {
00067 x86_flag_cf = 0,
00068 x86_flag_pf = 2,
00069 x86_flag_af = 4,
00070 x86_flag_zf = 6,
00071 x86_flag_sf = 7,
00072 x86_flag_tf = 8,
00073 x86_flag_if = 9,
00074 x86_flag_df = 10,
00075 x86_flag_of = 11,
00076 x86_flag_iopl = 12,
00077 x86_flag_nt = 14,
00078 x86_flag_rf = 16,
00079 x86_flag_vm = 17,
00080 x86_flag_ac = 18,
00081 x86_flag_vif = 19,
00082 x86_flag_vip = 20,
00083 x86_flag_id = 21
00084 };
00085
00087 enum X86BranchPrediction
00088 {
00089 x86_branch_prediction_none,
00090 x86_branch_prediction_taken,
00091 x86_branch_prediction_not_taken
00092 };
00093
00095 enum X86RepeatPrefix
00096 {
00097 x86_repeat_none,
00098 x86_repeat_repne,
00099 x86_repeat_repe
00100 };
00101
00102 #if 0
00103
00106 enum X86PositionInRegister {
00107 x86_regpos_unknown,
00108 x86_regpos_low_byte,
00109 x86_regpos_high_byte,
00110 x86_regpos_word,
00111 x86_regpos_dword,
00112 x86_regpos_qword,
00113 x86_regpos_all
00114 };
00115 #endif
00116
00117 #endif