ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
InstructionEnumsX86.h
Go to the documentation of this file.
1
/* Enum constants for Intel x86 architectures */
2
3
#ifndef ROSE_ENUMS_X86
4
#define ROSE_ENUMS_X86
5
6
#include "
AssemblerX86Init.h
"
/* A big enum whose members are all possible x86 instructions. */
7
9
enum
X86InstructionSize
10
{
11
x86_insnsize_none
,
12
x86_insnsize_16
,
13
x86_insnsize_32
,
14
x86_insnsize_64
15
};
16
18
enum
X86RegisterClass
19
{
20
x86_regclass_gpr
,
21
x86_regclass_segment
,
22
x86_regclass_cr
,
23
x86_regclass_dr
,
24
x86_regclass_st
,
25
x86_regclass_mm
,
26
x86_regclass_xmm
,
27
x86_regclass_ip
,
28
x86_regclass_flags
29
};
30
32
enum
X86SegmentRegister
33
{
34
x86_segreg_es
= 0,
// Numbering is based on Intel documentation
35
x86_segreg_cs
= 1,
36
x86_segreg_ss
= 2,
37
x86_segreg_ds
= 3,
38
x86_segreg_fs
= 4,
39
x86_segreg_gs
= 5,
40
x86_segreg_none
= 16
/* For unspecified segment overrides */
41
};
42
44
enum
X86GeneralPurposeRegister
45
{
46
x86_gpr_ax
= 0,
// Numbering is based on Intel documentation
47
x86_gpr_cx
= 1,
48
x86_gpr_dx
= 2,
49
x86_gpr_bx
= 3,
50
x86_gpr_sp
= 4,
51
x86_gpr_bp
= 5,
52
x86_gpr_si
= 6,
53
x86_gpr_di
= 7,
54
x86_gpr_r8
= 8,
55
x86_gpr_r9
= 9,
56
x86_gpr_r10
= 10,
57
x86_gpr_r11
= 11,
58
x86_gpr_r12
= 12,
59
x86_gpr_r13
= 13,
60
x86_gpr_r14
= 14,
61
x86_gpr_r15
= 15,
62
};
63
65
enum
X86Flag
66
{
67
x86_flag_cf
= 0,
68
x86_flag_pf
= 2,
69
x86_flag_af
= 4,
70
x86_flag_zf
= 6,
71
x86_flag_sf
= 7,
72
x86_flag_tf
= 8,
73
x86_flag_if
= 9,
74
x86_flag_df
= 10,
75
x86_flag_of
= 11,
76
x86_flag_iopl
= 12,
/* 2 bits, 12 and 13 */
77
x86_flag_nt
= 14,
78
x86_flag_rf
= 16,
79
x86_flag_vm
= 17,
80
x86_flag_ac
= 18,
81
x86_flag_vif
= 19,
82
x86_flag_vip
= 20,
83
x86_flag_id
= 21
84
};
85
87
enum
X86BranchPrediction
88
{
89
x86_branch_prediction_none
,
90
x86_branch_prediction_taken
,
91
x86_branch_prediction_not_taken
92
};
93
95
enum
X86RepeatPrefix
96
{
97
x86_repeat_none
,
98
x86_repeat_repne
,
99
x86_repeat_repe
100
};
101
102
#if 0
103
106
enum
X86PositionInRegister {
107
x86_regpos_unknown,
108
x86_regpos_low_byte,
109
x86_regpos_high_byte,
110
x86_regpos_word,
111
x86_regpos_dword,
112
x86_regpos_qword,
113
x86_regpos_all
114
};
115
#endif
116
117
#endif
rose-edg4x
src
frontend
Disassemblers
InstructionEnumsX86.h
Generated on Mon May 5 2014 17:29:24 for ROSE by
1.8.4