retdec
x86_defs.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_CAPSTONE2LLVMIR_X86_X86_DEFS_H
8 #define RETDEC_CAPSTONE2LLVMIR_X86_X86_DEFS_H
9 
18 {
19 // FLAGS
20  X86_REG_CF = X86_REG_ENDING + 1, // 0
21  // reserved 1
22  X86_REG_PF, // 2
23  // reserved 3
24  X86_REG_AF, // 4
25  // reserved 5
26  X86_REG_ZF, // 6
27  X86_REG_SF, // 7
28  X86_REG_TF, // 8
29  X86_REG_IF, // 9
30  X86_REG_DF, // 10
31  X86_REG_OF, // 11
32  X86_REG_IOPL, // 12-13
33  X86_REG_NT, // 14
34  // reserved 15
35 // EFLAGS
36  X86_REG_RF, // 16
37  X86_REG_VM, // 17
38  X86_REG_AC, // 18
39  X86_REG_VIF, // 19
40  X86_REG_VIP, // 20
41  X86_REG_ID // 21
42  // reserved 22-31
43 // RFLAGS
44  // reserved 32-63
45 };
46 
55 {
56 // Exception flags
57 // One or more fp exceptions have been detected since the bits were last
58 // cleared.
59  X87_REG_IE = X86_REG_ID + 1, // 0 -- invalid operation
60  X87_REG_DE, // 1 -- denormalized operand
61  X87_REG_ZE, // 2 -- zero divide
62  X87_REG_OE, // 3 -- overflow
63  X87_REG_UE, // 4 -- underflow
64  X87_REG_PE, // 5 -- precision
65 // Stack fault
66 // Indicates that stack overflow or underflow has occurred with x87 FPU data
67 // register stack.
68  X87_REG_SF, // 6
69 // Error summanry status
70  X87_REG_ES, // 7
71 // Condition code
72 // Indicate the results of fp comparison and arithmetic operations.
73  X87_REG_C0, // 8
74  X87_REG_C1, // 9
75  X87_REG_C2, // 10
76  X87_REG_C3, // 14
77 // Top of stack pointer
78  X87_REG_TOP, // 11-13
79 // FPU busy
80  X87_REG_B // 15
81 };
82 
91 {
92 // Exception Masks
93  X87_REG_IM = X87_REG_B + 1, // 0 -- invalid operation
94  X87_REG_DM, // 1 -- denormal operand
95  X87_REG_ZM, // 2 -- zero divide
96  X87_REG_OM, // 3 -- overflow
97  X87_REG_UM, // 4 -- underflow
98  X87_REG_PM, // 5 -- precision
99  // reserved 6-7
100 // Precision control
101  X87_REG_PC, // 8-9
102 // Rounding Control
103  X87_REG_RC, // 10-11
104 // Infiinity control
105  X87_REG_X, // 12
106  // reserved 13-15
107 };
108 
114 enum class x86_addr_space
115 {
116  DEFAULT = 0,
117  GS = 256,
118  FS = 257,
119  SS = 258
120 };
121 
122 #endif
x86_reg_rflags
Definition: x86_defs.h:18
@ X86_REG_AF
Definition: x86_defs.h:24
@ X86_REG_IOPL
Definition: x86_defs.h:32
@ X86_REG_TF
Definition: x86_defs.h:28
@ X86_REG_ZF
Definition: x86_defs.h:26
@ X86_REG_VIP
Definition: x86_defs.h:40
@ X86_REG_RF
Definition: x86_defs.h:36
@ X86_REG_VIF
Definition: x86_defs.h:39
@ X86_REG_NT
Definition: x86_defs.h:33
@ X86_REG_OF
Definition: x86_defs.h:31
@ X86_REG_ID
Definition: x86_defs.h:41
@ X86_REG_VM
Definition: x86_defs.h:37
@ X86_REG_CF
Definition: x86_defs.h:20
@ X86_REG_SF
Definition: x86_defs.h:27
@ X86_REG_IF
Definition: x86_defs.h:29
@ X86_REG_DF
Definition: x86_defs.h:30
@ X86_REG_AC
Definition: x86_defs.h:38
@ X86_REG_PF
Definition: x86_defs.h:22
x87_reg_control
Definition: x86_defs.h:91
@ X87_REG_IM
Definition: x86_defs.h:93
@ X87_REG_X
Definition: x86_defs.h:105
@ X87_REG_PM
Definition: x86_defs.h:98
@ X87_REG_RC
Definition: x86_defs.h:103
@ X87_REG_DM
Definition: x86_defs.h:94
@ X87_REG_ZM
Definition: x86_defs.h:95
@ X87_REG_PC
Definition: x86_defs.h:101
@ X87_REG_UM
Definition: x86_defs.h:97
@ X87_REG_OM
Definition: x86_defs.h:96
x87_reg_status
Definition: x86_defs.h:55
@ X87_REG_OE
Definition: x86_defs.h:62
@ X87_REG_C3
Definition: x86_defs.h:76
@ X87_REG_DE
Definition: x86_defs.h:60
@ X87_REG_ES
Definition: x86_defs.h:70
@ X87_REG_ZE
Definition: x86_defs.h:61
@ X87_REG_C1
Definition: x86_defs.h:74
@ X87_REG_C2
Definition: x86_defs.h:75
@ X87_REG_B
Definition: x86_defs.h:80
@ X87_REG_UE
Definition: x86_defs.h:63
@ X87_REG_SF
Definition: x86_defs.h:68
@ X87_REG_IE
Definition: x86_defs.h:59
@ X87_REG_C0
Definition: x86_defs.h:73
@ X87_REG_TOP
Definition: x86_defs.h:78
@ X87_REG_PE
Definition: x86_defs.h:64
x86_addr_space
Definition: x86_defs.h:115