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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
/*++
Copyright (c) 1991 Microsoft Corporation
Copyright (c) 1993 Digital Equipment Corporation
Module Name:
monitor.h
Abstract:
This module contains definitions for monitor.c
Author:
Lluis Abello (lluis) 09-Sep-1991
Revision History:
21-May-1992 John DeRosa [DEC]
Modified for Alpha and the Alpha-64 calling standard.
--*/
#ifndef _MONITOR_
#define _MONITOR_
#include "fwpexcpt.h"
//
// Define register names.
//
typedef enum _REGISTER_NAME_ID {
ReservedForExceptionType,
exceptparam1, // exception parameter 1
exceptparam2, // exception parameter 2
exceptparam3, // exception parameter 3
exceptparam4, // exception parameter 4
exceptparam5, // exception parameter 5
exceptpsr, // exception psr
exceptmmcsr, // exception mm csr
exceptva, // exception va
exceptpc, // exception pc
v0, // general register 0
t0, // general register 1
t1, // general register 2
t2, // general register 3
t3, // general register 4
t4, // general register 5
t5, // general register 6
t6, // general register 7
t7, // general register 8
s0, // general register 9
s1, // general register 10
s2, // general register 11
s3, // general register 12
s4, // general register 13
s5, // general register 14
fp, // general register 15
a0, // general register 16
a1, // general register 17
a2, // general register 18
a3, // general register 19
a4, // general register 20
a5, // general register 21
t8, // general register 22
t9, // general register 23
t10, // general register 24
t11, // general register 25
ra, // general register 26
t12, // general register 27
at, // general register 28
gp, // general register 29
sp, // general register 30
zero, // general register 31
f0, // fp register 0
f1, // fp register 1
f2, // fp register 2
f3, // fp register 3
f4, // fp register 4
f5, // fp register 5
f6, // fp register 6
f7, // fp register 7
f8, // fp register 8
f9, // fp register 9
f10, // fp register 10
f11, // fp register 11
f12, // fp register 12
f13, // fp register 13
f14, // fp register 14
f15, // fp register 15
f16, // fp register 16
f17, // fp register 17
f18, // fp register 18
f19, // fp register 19
f20, // fp register 20
f21, // fp register 21
f22, // fp register 22
f23, // fp register 23
f24, // fp register 24
f25, // fp register 25
f26, // fp register 26
f27, // fp register 27
f28, // fp register 28
f29, // fp register 29
f30, // fp register 30
f31, // fp register 31
invalidregister
} REGISTER_NAME_ID;
extern PCHAR RegisterNameTable[(REGISTER_NAME_ID)invalidregister];
extern ULONG RegisterTable[(REGISTER_NAME_ID)invalidregister];
//
// Define Command names.
//
// This must match the command table in monitor.c
//
//
// I/O Write commands, and Available Devices, have been disabled for
// the final product.
//
#if 0
typedef enum _COMMAND_NAME_ID {
Dump,
DumpByte,
DumpWord,
DumpLongword,
DumpQuad,
Enter,
EnterByte,
EnterWord,
EnterLongword,
EnterQuad,
Help,
Help2,
Deposit,
DepositByte,
DepositWord,
DepositLongword,
DepositQuad,
Examine,
ExamineByte,
ExamineWord,
ExamineLongword,
ExamineQuad,
IORead,
IOReadByte,
IOReadWord,
IOReadLongword,
IOWrite,
IOWriteByte,
IOWriteWord,
IOWriteLongword,
Register,
IntegerRegisterDump,
FloatingRegisterDump,
Zero,
Fill,
AvailableDevices,
Quit,
invalidcommand
} COMMAND_NAME_ID;
#else
typedef enum _COMMAND_NAME_ID {
Dump,
DumpByte,
DumpWord,
DumpLongword,
DumpQuad,
Enter,
EnterByte,
EnterWord,
EnterLongword,
EnterQuad,
Help,
Help2,
Deposit,
DepositByte,
DepositWord,
DepositLongword,
DepositQuad,
Examine,
ExamineByte,
ExamineWord,
ExamineLongword,
ExamineQuad,
IORead,
IOReadByte,
IOReadWord,
IOReadLongword,
Register,
IntegerRegisterDump,
FloatingRegisterDump,
Zero,
Fill,
Quit,
invalidcommand
} COMMAND_NAME_ID;
#endif
extern PCHAR CommandNameTable[(COMMAND_NAME_ID)invalidcommand];
#endif // _MONITOR_
|