160 lines
4.5 KiB
C
160 lines
4.5 KiB
C
|
/*++
|
||
|
|
||
|
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_
|