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
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
monitor.h
Abstract:
This module contains definitions for monitor.c
Author:
Lluis Abello (lluis) 09-Sep-1991
Revision History:
--*/
#ifndef _MONITOR_
#define _MONITOR_
//
// Define register names.
//
typedef enum _REGISTER_NAME_ID {
zero, // general register 0
at, // general register 1
v0, // general register 2
v1, // general register 3
a0, // general register 4
a1, // general register 5
a2, // general register 6
a3, // general register 7
t0, // general register 8
t1, // general register 9
t2, // general register 10
t3, // general register 11
t4, // general register 12
t5, // general register 13
t6, // general register 14
t7, // general register 15
s0, // general register 16
s1, // general register 17
s2, // general register 18
s3, // general register 19
s4, // general register 20
s5, // general register 21
s6, // general register 22
s7, // general register 23
t8, // general register 24
t9, // general register 25
k0, // general register 26
k1, // general register 27
gp, // general register 28
sp, // general register 29
s8, // general register 30
ra, // 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
fsr, // fp status register
index, // cop0 register 0
random, // cop0 register 1
entrylo0, // cop0 register 2
entrylo1, // cop0 register 3
context, // cop0 register 4
pagemask, // cop0 register 5
wired, // cop0 register 6
badvaddr, // cop0 register 8
count, // cop0 register 9
entryhi, // cop0 register 10
compare, // cop0 register 11
psr, // cop0 register 12
cause, // cop0 register 13
epc, // cop0 register 14
prid, // cop0 register 15
config, // cop0 register 16
lladdr, // cop0 register 17
watchlo, // cop0 register 18
watchhi, // cop0 register 19
ecc, // cop0 register 26
cacheerror, // cop0 register 27
taglo, // cop0 register 28
taghi, // cop0 register 29
errorepc, // cop0 register 30
invalidregister
} REGISTER_NAME_ID;
extern PCHAR RegisterNameTable[(REGISTER_NAME_ID)invalidregister];
extern ULONG RegisterTable[(REGISTER_NAME_ID)invalidregister];
//
// Define Command names.
//
typedef enum _COMMAND_NAME_ID {
Dump,
DumpByte,
DumpWord,
DumpDouble,
Enter,
EnterByte,
EnterWord,
EnterDouble,
Output,
OutputByte,
OutputWord,
OutputDouble,
Input,
InputByte,
InputWord,
InputDouble,
Register,
Zero,
Fill,
AvailableDevices,
Help,
Help2,
#ifdef DUO
SwitchProcessor,
#endif
Quit,
invalidcommand
} COMMAND_NAME_ID;
extern PCHAR CommandNameTable[(COMMAND_NAME_ID)invalidcommand];
#endif // _MONITOR_
|