Pristine Ack-5.5
[Ack-5.5.git] / mach / i386 / ce / as.h
1 #define UNKNOWN         0
2 #define IS_REG          0x1
3 #define IS_ACCU         0x2
4 #define IS_DATA         0x4
5 #define IS_LABEL        0x8
6 #define IS_MEM          0x10
7 #define IS_ADDR         0x20
8 #define IS_ILB          0x40
9
10 #define AX              0
11 #define BX              3
12 #define CX              1
13 #define DX              2
14 #define CL              1
15 #define SP              4
16 #define BP              5
17 #define SI              6
18 #define DI              7
19
20 #define REG( op)        ( op->type & IS_REG)
21 #define ACCU( op)       ( op->type & IS_REG  &&  op->reg == AX)
22 #define REG_CL( op)     ( op->type & IS_REG  &&  op->reg == CL)
23 #define DATA( op)       ( op->type & IS_DATA)
24 #define lABEL( op)      ( op->type & IS_LABEL)
25 #define ILB( op)        ( op->type & IS_ILB)
26 /*#define MEM( op)      ( op->type & IS_MEM)*/
27 #define ADDR( op)       ( op->type & IS_ADDR)
28 #define EADDR( op)      ( op->type & ( IS_ADDR | IS_MEM | IS_REG))
29
30 #define TRUE            1
31 #define FALSE           0
32
33 struct t_operand {
34         unsigned type;
35         int reg;
36         char *expr, *lab, *off;
37        };