fcml  1.1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
fcml_registers.hpp
Go to the documentation of this file.
1 /*
2  * FCML - Free Code Manipulation Library.
3  * Copyright (C) 2010-2015 Slawomir Wojtasiak
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
29 #ifndef FCML_REGISTERS_HPP_
30 #define FCML_REGISTERS_HPP_
31 
32 #include "fcml_common.hpp"
33 
34 namespace fcml {
35 
36  extern const Register UNDEF;
37 
38  extern const Register AL;
39  extern const Register AX;
40  extern const Register EAX;
41  extern const Register RAX;
42  extern const Register MM0;
43  extern const Register XMM0;
44  extern const Register YMM0;
45 
46  extern const Register CL;
47  extern const Register CX;
48  extern const Register ECX;
49  extern const Register RCX;
50  extern const Register MM1;
51  extern const Register XMM1;
52  extern const Register YMM1;
53 
54  extern const Register DL;
55  extern const Register DX;
56  extern const Register EDX;
57  extern const Register RDX;
58  extern const Register MM2;
59  extern const Register XMM2;
60  extern const Register YMM2;
61 
62  extern const Register BL;
63  extern const Register BX;
64  extern const Register EBX;
65  extern const Register RBX;
66  extern const Register MM3;
67  extern const Register XMM3;
68  extern const Register YMM3;
69 
70  extern const Register AH;
71  extern const Register SPL;
72  extern const Register SP;
73  extern const Register ESP;
74  extern const Register RSP;
75  extern const Register MM4;
76  extern const Register XMM4;
77  extern const Register YMM4;
78 
79  extern const Register CH;
80  extern const Register BPL;
81  extern const Register BP;
82  extern const Register EBP;
83  extern const Register RBP;
84  extern const Register MM5;
85  extern const Register XMM5;
86  extern const Register YMM5;
87 
88  extern const Register DH;
89  extern const Register SIL;
90  extern const Register SI;
91  extern const Register ESI;
92  extern const Register RSI;
93  extern const Register MM6;
94  extern const Register XMM6;
95  extern const Register YMM6;
96 
97  extern const Register BH;
98  extern const Register DIL;
99  extern const Register DI;
100  extern const Register EDI;
101  extern const Register RDI;
102  extern const Register MM7;
103  extern const Register XMM7;
104  extern const Register YMM7;
105 
106  extern const Register R8L;
107  extern const Register R8W;
108  extern const Register R8D;
109  extern const Register R8;
110  extern const Register XMM8;
111  extern const Register YMM8;
112 
113  extern const Register R9L;
114  extern const Register R9W;
115  extern const Register R9D;
116  extern const Register R9;
117  extern const Register XMM9;
118  extern const Register YMM9;
119 
120  extern const Register R10L;
121  extern const Register R10W;
122  extern const Register R10D;
123  extern const Register R10;
124  extern const Register XMM10;
125  extern const Register YMM10;
126 
127  extern const Register R11L;
128  extern const Register R11W;
129  extern const Register R11D;
130  extern const Register R11;
131  extern const Register XMM11;
132  extern const Register YMM11;
133 
134  extern const Register R12L;
135  extern const Register R12W;
136  extern const Register R12D;
137  extern const Register R12;
138  extern const Register XMM12;
139  extern const Register YMM12;
140 
141  extern const Register R13L;
142  extern const Register R13W;
143  extern const Register R13D;
144  extern const Register R13;
145  extern const Register XMM13;
146  extern const Register YMM13;
147 
148  extern const Register R14L;
149  extern const Register R14W;
150  extern const Register R14D;
151  extern const Register R14;
152  extern const Register XMM14;
153  extern const Register YMM14;
154 
155  extern const Register R15L;
156  extern const Register R15W;
157  extern const Register R15D;
158  extern const Register R15;
159  extern const Register XMM15;
160  extern const Register YMM15;
161 
162  extern const Register ES;
163  extern const Register CS;
164  extern const Register SS;
165  extern const Register DS;
166  extern const Register FS;
167  extern const Register GS;
168 
169  extern const Register ST0;
170  extern const Register ST1;
171  extern const Register ST2;
172  extern const Register ST3;
173  extern const Register ST4;
174  extern const Register ST5;
175  extern const Register ST6;
176  extern const Register ST7;
177 
178  extern const Register CR0;
179  extern const Register CR2;
180  extern const Register CR3;
181  extern const Register CR4;
182  extern const Register CR8;
183 
184  extern const Register DR0;
185  extern const Register DR1;
186  extern const Register DR2;
187  extern const Register DR3;
188  extern const Register DR4;
189  extern const Register DR5;
190  extern const Register DR6;
191  extern const Register DR7;
192 
193  extern const Register IP;
194  extern const Register EIP;
195  extern const Register RIP;
196 
197 }
198 
199 #endif /* FCML_REGISTERS_HPP_ */
C++ wrappers common classes.
Definition: fcml_assembler.hpp:39