Initial revision
This commit is contained in:
40
mach/i86/ce/as.h
Normal file
40
mach/i86/ce/as.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#define UNKNOWN 0
|
||||
#define IS_REG 0x1
|
||||
#define IS_ACCU 0x2
|
||||
#define IS_DATA 0x4
|
||||
#define IS_LABEL 0x8
|
||||
#define IS_MEM 0x10
|
||||
#define IS_ADDR 0x20
|
||||
#define IS_ILB 0x40
|
||||
|
||||
#define AX 0
|
||||
#define BX 3
|
||||
#define CL 1
|
||||
#define SP 4
|
||||
#define BP 5
|
||||
#define SI 6
|
||||
#define DI 7
|
||||
|
||||
#define REG( op) ( op->type & IS_REG)
|
||||
#define ACCU( op) ( op->type & IS_REG && op->reg == AX)
|
||||
#define REG_CL( op) ( op->type & IS_REG && op->reg == CL)
|
||||
#define DATA( op) ( op->type & IS_DATA)
|
||||
#define lABEL( op) ( op->type & IS_LABEL)
|
||||
#define ILB( op) ( op->type & IS_ILB)
|
||||
#define MEM( op) ( op->type & IS_MEM)
|
||||
#define ADDR( op) ( op->type & IS_ADDR)
|
||||
#define EADDR( op) ( op->type & ( IS_ADDR | IS_MEM | IS_REG))
|
||||
#define CONST1( op) ( op->type & IS_DATA && strcmp( "1", op->expr) == 0)
|
||||
#define MOVS( op) ( op->type & IS_LABEL&&strcmp("\"movs\"", op->lab) == 0)
|
||||
#define IMMEDIATE( op) ( op->type & ( IS_DATA | IS_LABEL))
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
struct t_operand {
|
||||
unsigned type;
|
||||
int reg;
|
||||
char *expr, *lab, *off;
|
||||
};
|
||||
|
||||
extern struct t_operand saved_op, *AX_oper;
|
||||
Reference in New Issue
Block a user