|
|
1.1 root 1: /* macdefs.h 1.7 88/05/31 */
2:
3: #ifndef _MACDEFS_
4: #define _MACDEFS_
5:
6: #define makecc(val,i) lastcon = (lastcon<<8)|((val<<24)>>24);
7:
8: #define ARGINIT SZINT
9: #define AUTOINIT (13*SZINT)
10:
11: /*
12: * Storage space requirements.
13: */
14: #define SZCHAR 8
15: #define SZINT 32
16: #define SZFLOAT 32
17: #define SZDOUBLE 64
18: #define SZLONG 32
19: #define SZSHORT 16
20: #define SZPOINT 32
21:
22: /*
23: * Alignment constraints
24: */
25: #define ALCHAR 8
26: #define ALINT 32
27: #define ALFLOAT 32
28: #define ALDOUBLE 32
29: #define ALLONG 32
30: #define ALSHORT 16
31: #define ALPOINT 32
32: #define ALSTRUCT 8
33: #define ALSTACK 32
34:
35: #define ACONFMT "$0x%lx" /* format for printing address constants */
36: #define CONFMT "%ld" /* format for printing constants */
37: #define LABFMT "L%d" /* format for printing labels */
38:
39: typedef long CONSZ; /* size in which constants are converted */
40: typedef unsigned long U_CONSZ;/* unsigned version of the above */
41: typedef long OFFSZ; /* size in which offsets are kept */
42:
43: #define CCTRANS(x) x /* character set macro */
44:
45: /*
46: * Register cookie for stack pointer.
47: */
48: #define STKREG 13 /* stack pointer */
49:
50: /*
51: * Maximum and minimum register variables
52: */
53: #define MINRVAR 6 /* use R6 thru ... */
54: #define MAXRVAR 12 /* ... R12 */
55:
56: #define BACKAUTO /* stack grows negatively for automatics */
57: #define BACKTEMP /* stack grows negatively for temporaries */
58: /*#define FIELDOPS /* no hardware field support */
59: /*#define RTOLBYTES /* bytes are number from left to right */
60: #define ADDROREG /* can unwind &o, where o is OREG */
61:
62: #define ASSTRINGS /* assembler handles string initializations */
63: #define STABDOT /* assembler understands .stabd */
64: #define LCOMM /* assembler supports .lcomm */
65: #define SPRECC /* double only arithmetic not supported */
66:
67: #define ENUMSIZE(high,low) INT /* enums are always stored in full int */
68:
69: #define FIXDEF(p) if (!nerrors) outstab(p); else
70: #define FIXARG(p) if (!nerrors) fixarg(p); else
71: #define FIXSTRUCT(p,q) if (!nerrors) outstruct(p,q); else
72:
73: #ifndef ncopy
74: #define ncopy(q, p) ((q)->in = (p)->in)
75: #endif
76:
77: #define aobeg()
78: #define aocode(p)
79: #define aoend()
80:
81: #define PRTDCON /* use machine-specific prtdcon routine */
82: extern prtdcon();
83: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.