Pristine Ack-5.5
[Ack-5.5.git] / mach / m68020 / ncg / mach.h
1 /* $Id: mach.h,v 1.12 1994/06/24 13:07:14 ceriel Exp $ */
2 /*
3  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4  * See the copyright notice in the ACK home directory, in the file "Copyright".
5  */
6 #include <whichone.h>
7
8 #ifndef TBL68020
9 #ifndef TBL68000
10 Something is very wrong here. You must specify the machine: either
11 TBL68000 or TBL68020, in the file whichone.h, then REMOVE tables.c
12 and then run "make" again
13 #endif
14 #endif
15 #if WORD_SIZE!=2 && WORD_SIZE!=4
16 You must specify the appropriate word size, then REMOVE tables.c
17 #endif
18
19 #define ex_ap(y)        fprintf(codefile,".extern %s\n",y)
20 #define in_ap(y)        /* nothing */
21
22 #define newilb(x)       fprintf(codefile,"%s:\n",x)
23 #define newdlb(x)       fprintf(codefile,"%s:\n",x)
24 #define dlbdlb(x,y)     fprintf(codefile,"%s = %s\n",x,y)
25 #define newlbss(l,x)    fprintf(codefile,".comm %s,%ld\n",l,x);
26
27 #define pop_fmt         "(sp)+"
28 #define cst_fmt         "%ld"
29 #define off_fmt         "%ld"
30 #define ilb_fmt         "I%x_%x"
31 #define dlb_fmt         "I_%d"
32 #define hol_fmt         "hol%d"
33
34 #define hol_off         "%ld+hol%d"
35
36 #if WORD_SIZE==2
37 #define con_cst(x)      fprintf(codefile,".data2\t%ld\n",x)
38 #else
39 #define con_cst(x)      fprintf(codefile,".data4\t%ld\n",x)
40 #endif
41 #define con_ilb(x)      fprintf(codefile,".data4\t%s\n",x)
42 #define con_dlb(x)      fprintf(codefile,".data4\t%s\n",x)
43
44 #define modhead         ".sect .text\n.sect .rom\n.sect .data\n.sect .bss\n"
45
46 #define fmt_id(sf,st)   sprintf(st,"_%s",sf)
47
48 #define BSS_INIT        0
49 #define MACH_OPTIONS