1/* REGISTER AND FLAG DEFINITIONS FOR LEXICAL ANALYSIS (PART OF ASSEMBLING) */
2
3#ifndef __REGS_TOKEN
4#define __REGS_TOKEN
5
6/** if you permutate the FLAGS-defines or the REGISTER-defines  **/
7/** then update in regs.c *flag_name[N_FLAGS+1] and *reg_name[N_REGISTERS+1] **/
8
9/*** all 8 Bit registers must preceed the 16-bit registers ! ***/
10#define R_EMPTY 0
11#define R_A 1
12#define R_B 2
13#define R_C 3
14#define R_D 4
15#define R_E 5
16#define R_H 6
17#define R_L 7
18#define R_IXh  8
19#define R_IXl  9
20#define R_IYh 10
21#define R_IYl 11
22#define R_I   12
23#define R_R   13
24#define R_AF 14
25#define R_BC 15
26#define R_DE 16
27#define R_HL 17
28#define R_SP 18
29#define R_IX 19
30#define R_IY 20
31#define R_AF_ 21      /* used only in syntax for EX AF,AF' */
32#define R_ILLEGAL -1
33
34#define N_8BIT_REGS 13
35#define N_REGISTERS 21   /* N_8BIT_REGS+1 is the first 16-bit register */
36
37
38#define F_EMPTY 0
39#define F_NZ 8
40#define F_Z  1
41#define F_NC 2
42#define F_C  3  /* !! must be R_C, because symbol C is carry or C-register !!*/
43#define F_PO 4  /* asm.c: inside convert_arg: convert(reg,.. convert(flag,.. */
44#define F_PE 5
45#define F_P  6
46#define F_M  7
47
48#define F_H 9
49#define F_NH 10
50#define F_N 11
51#define F_NN 12
52#define F_ILLEGAL -1
53
54#define N_FLAGS 8 /* number of flags in table flag (used by jp, ret and call) */
55
56#endif
57