projects
/
external
/
binutils.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
* Makefile.in: Add mips-linux-nat.c, mips-linux-tdep.c,
[external/binutils.git]
/
sim
/
h8500
/
inst.h
1
#define DEBUG
2
3
#define H8500_MSIZE (8*64*1024)
4
#define CSIZE 1000
5
6
7
union rtype
8
{
9
unsigned long l;
10
unsigned short s[2];
11
unsigned char *c;
12
};
13
14
15
/* Local register names */
16
typedef enum
17
{
18
R0, R1, R2, R3, R4, R5, R6, R7,
19
R_SR, /* 8 */
20
R_PC, /* 9 */
21
R_BR, /* 10 */
22
R_BP, /* 11 */
23
R_CP, /* 14 */
24
R_DP, /* 13 */
25
R_EP, /* 12 */
26
R_TP, /* 15 */
27
R_HARD_0, /* 16 */
28
R_HARD8_0, /* 17 */
29
R_LAST,
30
} reg_type;
31
32
33
34
35
typedef struct
36
{
37
fastref type;
38
union
39
{
40
int code;
41
unsigned char *bptr;
42
unsigned short *wptr;
43
unsigned long *lptr;
44
unsigned char **segptr;
45
union rtype *rptr;
46
47
}
48
reg;
49
int literal;
50
union
51
{
52
unsigned char **segreg;
53
unsigned short *wptr;
54
union rtype *rptr;
55
}
56
r2;
57
}
58
59
ea_type;
60
61
62
63
typedef struct
64
{
65
ea_type srca;
66
ea_type srcb;
67
ea_type dst;
68
fastref opcode;
69
fastref flags;
70
int next_pc;
71
int oldpc;
72
int cycles;
73
#ifdef DEBUG
74
h8500_opcode_info *op;
75
#endif
76
}
77
78
decoded_inst;
79
80
81
82
typedef struct
83
{
84
int exception;
85
union rtype regs[20];
86
87
88
89
unsigned char *memory;
90
unsigned short *cache_idx;
91
int cache_top;
92
int maximum;
93
int csize;
94
decoded_inst *cache;
95
int cycles;
96
int insts;
97
int ticks;
98
int compiles;
99
}
100
101
cpu_state_type;