86 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*#define DEBUG 1	/* define when debugging */
 | 
						|
 | 
						|
#define BYTES_REVERSED
 | 
						|
#define WORDS_REVERSED
 | 
						|
 | 
						|
#ifndef WINDOWSIZE
 | 
						|
#define WINDOWSIZE	(16*4)
 | 
						|
#endif
 | 
						|
 | 
						|
#define ONE_BYTE        int
 | 
						|
#define TWO_BYTES	int
 | 
						|
#define FOUR_BYTES	long
 | 
						|
 | 
						|
#define EM_WSIZE	4
 | 
						|
#define EM_PSIZE	4
 | 
						|
#define EM_FSIZE	4
 | 
						|
#define EM_DSIZE	8
 | 
						|
#define EM_BSIZE	REGSAV
 | 
						|
 | 
						|
#define	BSS_INIT	0
 | 
						|
 | 
						|
#ifdef __solaris__
 | 
						|
#define NAME_FMT	"$%s"
 | 
						|
#define DNAM_FMT	"$%s"
 | 
						|
#define DLB_FMT		".L_%ld"
 | 
						|
#define	ILB_FMT		".L%x_%lx"
 | 
						|
#define GENLAB		'.'
 | 
						|
#else
 | 
						|
#define NAME_FMT	"_%s"
 | 
						|
#define DNAM_FMT	"_%s"
 | 
						|
#define DLB_FMT		"L_%ld"
 | 
						|
#define	ILB_FMT		"L%x_%lx"
 | 
						|
#define GENLAB		'L'
 | 
						|
#endif
 | 
						|
#define HOL_FMT		"hol%d"
 | 
						|
#define STR_FMT		".ascii\t"
 | 
						|
 | 
						|
 | 
						|
#define	ALIGN_FMT		".align 4\n"
 | 
						|
 | 
						|
#define	BYTE_FMT		".byte %ld\n"
 | 
						|
#define	WORD_FMT		".half %ld\n"
 | 
						|
#define	LONG_FMT  		".word %ld\n"
 | 
						|
#define	BSS_FMT			".skip %ld\n"
 | 
						|
 | 
						|
#ifdef __solaris__
 | 
						|
#define	SEGTXT_FMT  		".section \".text\"\n"
 | 
						|
#define	SEGDAT_FMT		".section \".data\"\n"
 | 
						|
#define	SEGBSS_FMT		".section \".bss\"\n"
 | 
						|
#else
 | 
						|
#define	SEGTXT_FMT  		".seg \"text\"\n"
 | 
						|
#define	SEGDAT_FMT		".seg \"data\"\n"
 | 
						|
#define	SEGBSS_FMT		".seg \"bss\"\n"
 | 
						|
#endif
 | 
						|
 | 
						|
#define	SYMBOL_DEF_FMT		"%s:\n"
 | 
						|
#define	GLOBAL_FMT		".global %s\n"
 | 
						|
#ifdef __solaris__
 | 
						|
#define COMM_FMT		".reserve %s, %ld, \".bss\"\n"
 | 
						|
#else
 | 
						|
#define COMM_FMT		".reserve %s, %ld, \"bss\"\n"
 | 
						|
#endif
 | 
						|
#define	LOCAL_FMT		""
 | 
						|
 | 
						|
#define	RELOC1_FMT		"ONLY LONGS CAN BE RELOCATED!"
 | 
						|
#define	RELOC2_FMT		"ONLY LONGS CAN BE RELOCATED!"
 | 
						|
#ifdef __solaris__
 | 
						|
#define	RELOC4_FMT		".section \".data\"\n.align 4\n.word %s+%d\n"
 | 
						|
#else
 | 
						|
#define	RELOC4_FMT		".seg \"data\"\n.align 4\n.word %s+%d\n"
 | 
						|
#endif
 | 
						|
 | 
						|
#define ALIGN_GAP	4
 | 
						|
#define FLOATTRANS	8
 | 
						|
#define MAX_NR_FLT_REGS	16
 | 
						|
#define FLTSAV		(MAX_NR_FLT_REGS * 4)
 | 
						|
#define FLTSAV_OFFSET	(WINDOWSIZE + FLOATTRANS)
 | 
						|
#define REGSAV		(WINDOWSIZE + FLOATTRANS + ALIGN_GAP + FLTSAV)
 | 
						|
 | 
						|
/*#define MATH_DIVIDE	1	/* define when using mathematical def of / */
 | 
						|
 | 
						|
#ifndef DEBUG
 | 
						|
#undef arg_error
 | 
						|
#define arg_error(s,i)
 | 
						|
#define RESOLV_debug 1
 | 
						|
#endif
 |