/* When generating assembly : */

#define 	ARITH_FMT	"%ld"
#define 	INT_FMT		"%d"

/* When generating object code : */

#define		CONST		0
#define		REGISTER	1
#define		AUTO_DEC	2
#define		AUTO_INC	3
#define		REG_DEF		4
#define		IND_REG		5
#define		LABEL		6
#define		L_ILB		7

#define		TRUE		1
#define		FALSE		0

#define		PC_REL		1

struct t_operand {
		int type, num;
		char *lab, *index, *const, *offset;
	};

#define fit_6bits(val)		((unsigned long)(val) < 64)
#define fit_byte(val)		((unsigned long)((val)+128) < 256)
#define fit_word(val)		((unsigned long)((val)+32768L) < 65536L)