Imported Upstream version 2.9.0
[debian/cc1111] / src / izt / regs.h
1 #ifndef REGS_INCLUDE
2 #define REGS_INCLUDE
3
4 typedef enum {
5     REG_ID_NONE,
6     // Z80
7     REG_ID_A,
8     REG_ID_B,
9     REG_ID_C,
10     REG_ID_D,
11     REG_ID_E,
12     REG_ID_H,
13     REG_ID_L,
14     REG_ID_AF,
15     REG_ID_BC,
16     REG_ID_DE,
17     REG_ID_HL,
18     REG_ID_IX,
19     REG_ID_IY,
20     // TLCS-900H
21     REG_ID_XBC,
22     REG_ID_XDE,
23     // i186
24     REG_ID_AL,
25     REG_ID_AH,
26     REG_ID_AX,
27     REG_ID_BL,
28     REG_ID_BH,
29     REG_ID_BX,
30
31     REG_ID_BP,
32
33     REG_ID_CL,
34     REG_ID_CH,
35     REG_ID_CX,
36     REG_ID_DL,
37     REG_ID_DH,
38     REG_ID_DX,
39     REG_ID_MAX
40 } REG_ID;
41
42 enum {
43     REG_USED = 1,
44     REG_USED_HIDDEN = 2
45 };
46
47 enum {
48     REG_TYPE_CND = 1,
49     REG_TYPE_GPR = 2
50 } REG_TYPE;
51
52 typedef struct regs {
53     int size;
54     REG_ID id;
55     const char *name;
56     int used;
57     REG_ID hides[3];
58 } REG;
59
60 #endif