OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [sim/] [h8500/] [inst.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
#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;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.