summaryrefslogtreecommitdiff
path: root/src/ToolBox/superpmi/superpmi-shared/registertablexarch.h
blob: 4704881082238205e80c500ba6a85dbc6b073168 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//

//----------------------------------------------------------
// RegisterTableXarch.h - X macro table for x86/AMD64 registers, for use with DISX86
//----------------------------------------------------------

#ifndef REGDEF
#error  Must define REGDEF macro before including this file
#endif

/*
REGDEF(msdisID,                  name)
*/

// 32 bit general purpose registers
REGDEF(DISX86::REGA::regaEax,   "eax")
REGDEF(DISX86::REGA::regaEcx,   "ecx")
REGDEF(DISX86::REGA::regaEdx,   "edx")
REGDEF(DISX86::REGA::regaEbx,   "ebx")
REGDEF(DISX86::REGA::regaEsp,   "esp")
REGDEF(DISX86::REGA::regaEbp,   "ebp")
REGDEF(DISX86::REGA::regaEsi,   "esi")
REGDEF(DISX86::REGA::regaEdi,   "edi")
REGDEF(DISX86::REGA::regaR8d,   "r8d")
REGDEF(DISX86::REGA::regaR9d,   "r9d")
REGDEF(DISX86::REGA::regaR10d,  "r10d")
REGDEF(DISX86::REGA::regaR11d,  "r11d")
REGDEF(DISX86::REGA::regaR12d,  "r12d")
REGDEF(DISX86::REGA::regaR13d,  "r13d")
REGDEF(DISX86::REGA::regaR14d,  "r14d")
REGDEF(DISX86::REGA::regaR15d,  "r15d")

// 64 bit general purpose registers
REGDEF(DISX86::REGA::regaRax,   "rax")
REGDEF(DISX86::REGA::regaRcx,   "rcx")
REGDEF(DISX86::REGA::regaRdx,   "rdx")
REGDEF(DISX86::REGA::regaRbx,   "rbx")
REGDEF(DISX86::REGA::regaRsp,   "rsp")
REGDEF(DISX86::REGA::regaRbp,   "rbp")
REGDEF(DISX86::REGA::regaRsi,   "rsi")
REGDEF(DISX86::REGA::regaRdi,   "rdi")
REGDEF(DISX86::REGA::regaR8,    "r8")
REGDEF(DISX86::REGA::regaR9,    "r9")
REGDEF(DISX86::REGA::regaR10,   "r10")
REGDEF(DISX86::REGA::regaR11,   "r11")
REGDEF(DISX86::REGA::regaR12,   "r12")
REGDEF(DISX86::REGA::regaR13,   "r13")
REGDEF(DISX86::REGA::regaR14,   "r14")
REGDEF(DISX86::REGA::regaR15,   "r15")

// 16 bit general purpose registers
REGDEF(DISX86::REGA::regaAx,    "ax")
REGDEF(DISX86::REGA::regaCx,    "cx")
REGDEF(DISX86::REGA::regaDx,    "dx")
REGDEF(DISX86::REGA::regaBx,    "bx")
REGDEF(DISX86::REGA::regaSp,    "sp")
REGDEF(DISX86::REGA::regaBp,    "bp")
REGDEF(DISX86::REGA::regaSi,    "si")
REGDEF(DISX86::REGA::regaDi,    "di")
REGDEF(DISX86::REGA::regaR8w,   "r8w")
REGDEF(DISX86::REGA::regaR9w,   "r9w")
REGDEF(DISX86::REGA::regaR10w,  "r10w")
REGDEF(DISX86::REGA::regaR11w,  "r11w")
REGDEF(DISX86::REGA::regaR12w,  "r12w")
REGDEF(DISX86::REGA::regaR13w,  "r13w")
REGDEF(DISX86::REGA::regaR14w,  "r14w")
REGDEF(DISX86::REGA::regaR15w,  "r15w")

// 8 bit general purpose registers
REGDEF(DISX86::REGA::regaAl,    "al")
REGDEF(DISX86::REGA::regaCl,    "cl")
REGDEF(DISX86::REGA::regaDl,    "dl")
REGDEF(DISX86::REGA::regaBl,    "bl")
REGDEF(DISX86::REGA::regaSpl,   "spl")
REGDEF(DISX86::REGA::regaBpl,   "bpl")
REGDEF(DISX86::REGA::regaSil,   "sil")
REGDEF(DISX86::REGA::regaDil,   "dil")
REGDEF(DISX86::REGA::regaR8b,   "r8b")
REGDEF(DISX86::REGA::regaR9b,   "r9b")
REGDEF(DISX86::REGA::regaR10b,  "r10b")
REGDEF(DISX86::REGA::regaR11b,  "r11b")
REGDEF(DISX86::REGA::regaR12b,  "r12b")
REGDEF(DISX86::REGA::regaR13b,  "r13b")
REGDEF(DISX86::REGA::regaR14b,  "r14b")
REGDEF(DISX86::REGA::regaR15b,  "r15b")

// 8 bit general purpose registers
REGDEF(DISX86::REGA::regaAh,    "ah")
REGDEF(DISX86::REGA::regaCh,    "ch")
REGDEF(DISX86::REGA::regaDh,    "dh")
REGDEF(DISX86::REGA::regaBh,    "bh")

// x87 floating point stack
REGDEF(DISX86::REGA::regaSt0,   "st0")
REGDEF(DISX86::REGA::regaSt1,   "st1")
REGDEF(DISX86::REGA::regaSt2,   "st2")
REGDEF(DISX86::REGA::regaSt3,   "st3")
REGDEF(DISX86::REGA::regaSt4,   "st4")
REGDEF(DISX86::REGA::regaSt5,   "st5")
REGDEF(DISX86::REGA::regaSt6,   "st6")
REGDEF(DISX86::REGA::regaSt7,   "st7")

// XMM registers
REGDEF(DISX86::REGA::regaXmm0,  "xmm0")
REGDEF(DISX86::REGA::regaXmm1,  "xmm1")
REGDEF(DISX86::REGA::regaXmm2,  "xmm2")
REGDEF(DISX86::REGA::regaXmm3,  "xmm3")
REGDEF(DISX86::REGA::regaXmm4,  "xmm4")
REGDEF(DISX86::REGA::regaXmm5,  "xmm5")
REGDEF(DISX86::REGA::regaXmm6,  "xmm6")
REGDEF(DISX86::REGA::regaXmm7,  "xmm7")
REGDEF(DISX86::REGA::regaXmm8,  "xmm8")
REGDEF(DISX86::REGA::regaXmm9,  "xmm9")
REGDEF(DISX86::REGA::regaXmm10, "xmm10")
REGDEF(DISX86::REGA::regaXmm11, "xmm11")
REGDEF(DISX86::REGA::regaXmm12, "xmm12")
REGDEF(DISX86::REGA::regaXmm13, "xmm13")
REGDEF(DISX86::REGA::regaXmm14, "xmm14")
REGDEF(DISX86::REGA::regaXmm15, "xmm15")

#undef REGDEF