63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Header$ */
 | 
						|
/*
 | 
						|
 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
 | 
						|
 * See the copyright notice in the ACK home directory, in the file "Copyright".
 | 
						|
 */
 | 
						|
/* @(#)mach1.c	1.8 */
 | 
						|
/*
 | 
						|
 * Motorola 68000/68010 dependent C declarations
 | 
						|
 */
 | 
						|
 | 
						|
#define	low3(z)		((short)(z) & 07)
 | 
						|
#define	low4(z)		((short)(z) & 017)
 | 
						|
 | 
						|
#define	fit3(z)		((((z)-1) & ~(int)07) == 0)
 | 
						|
#define	fit4(z)		(((z) & ~(int)017) == 0)
 | 
						|
#define	fit8(z)		(((z) & ~(int)0xFF) == 0)
 | 
						|
#define	fit16(z)	(((z) & ~(valu_t)0xFFFF) == 0)
 | 
						|
 | 
						|
#define	SIZE_B		0000
 | 
						|
#define	SIZE_W		0100
 | 
						|
#define	SIZE_L		0200
 | 
						|
#define	SIZE_NON	0300
 | 
						|
#define	SIZE_DEF	SIZE_W
 | 
						|
 | 
						|
extern int	mrg_1,mrg_2;
 | 
						|
extern expr_t	exp_1,exp_2;
 | 
						|
#ifndef ASLD
 | 
						|
extern valu_t	rel_1,rel_2;
 | 
						|
#endif
 | 
						|
extern int 	model;		/* 68000/68010 */
 | 
						|
 | 
						|
/* addressing mode bits */
 | 
						|
#define	DTA		0x01
 | 
						|
#define	MEM		0x02
 | 
						|
#define	CTR		0x04
 | 
						|
#define	ALT		0x08
 | 
						|
#define	FITB		0x10
 | 
						|
#define	FITW		0x20
 | 
						|
#define	PUTW		0x40
 | 
						|
#define	PUTL		0x80
 | 
						|
 | 
						|
#ifndef extern
 | 
						|
extern short	eamode[];
 | 
						|
#else
 | 
						|
short	eamode[] = {
 | 
						|
/* 00A */	DTA        |ALT,
 | 
						|
/* 01A */	            ALT,
 | 
						|
/* 02A */	DTA|MEM|CTR|ALT,
 | 
						|
/* 03A */	DTA|MEM    |ALT,
 | 
						|
/* 04A */	DTA|MEM    |ALT,
 | 
						|
/* 05A */	DTA|MEM|CTR|ALT|FITW|PUTW | (RELO2      )<<8,
 | 
						|
/* 06A */	DTA|MEM|CTR|ALT     |PUTW | (RELO1      )<<8,
 | 
						|
/* 07x */	0,
 | 
						|
/* 070 */	DTA|MEM|CTR|ALT|FITW|PUTW | (RELO2      )<<8,
 | 
						|
/* 071 */	DTA|MEM|CTR|ALT     |PUTL | (RELO4      )<<8,
 | 
						|
/* 072 */	DTA|MEM|CTR    |FITW|PUTW | (RELO2|RELPC)<<8,
 | 
						|
/* 073 */	DTA|MEM|CTR         |PUTW | (RELO1|RELPC)<<8,
 | 
						|
/* 074x */	0,
 | 
						|
/* 074B */	DTA|MEM        |FITB|PUTW | (RELO1      )<<8,
 | 
						|
/* 074W */	DTA|MEM        |FITW|PUTW | (RELO2      )<<8,
 | 
						|
/* 074L */	DTA|MEM             |PUTL | (RELO4      )<<8,
 | 
						|
};
 | 
						|
#endif
 |