summaryrefslogtreecommitdiff
path: root/src/ToolBox/superpmi/superpmi-shared/registertablexarch.h
blob: f6c177cd04cb10945c81ef30f718b6c0a0bc1789 (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