137 Commits

Author SHA1 Message Date
keie
3172abf70d Re-introduced the possibility of a Varying EM_BSIZE
this to be able to use the latest STABLE m68k2 backend.
All this until the newest m68k2 version has been tested.
1985-01-24 16:59:06 +00:00
cvs2hg
b35b5b0c11 fixup commit for branch 'unlabeled-2.8.1' 1984-11-30 11:14:19 +00:00
ceriel
e8d88ed790 Increased MAXPATLEN to 8000. 1984-11-30 11:14:18 +00:00
bal
2d40a4fa61 Macros for B_DIST, B_USECNT and B_MARK removed, as these fields are
no longer used.
Declarations of nrinstrs and instrmap marked "extern" to satisfy ack compiler.
1984-11-30 10:52:05 +00:00
bal
0f77c7fb9f Declaration of items[] made static to avoid name conflict with ra_items.c
Core allocation macros added.
1984-11-30 10:50:27 +00:00
bal
83c3f45a29 Declaration of items[] made static to avoid name conflict with ra.c 1984-11-30 10:49:09 +00:00
bal
f84e129361 routines getcall(), get_text() and getcc() move from get.c to this file
routines putactuals(), putcall(), and putcc() move from put.c to this file
get.h, put.h, stdio.h, em_mnem.h and em_pseu.h included
1984-11-30 10:30:22 +00:00
bal
bf86a0f8ef several data structures added (moved from types.h).
core allocation macros added.
1984-11-30 10:28:35 +00:00
bal
e7cbb5780b Declarations for iv and code_info added (moved from types.h).
core allocation macros added.
1984-11-30 10:27:05 +00:00
bal
4a4b1ae156 core allocation macros added 1984-11-30 10:25:21 +00:00
bal
63e97ee535 declaration for sym,num and prc added (moved from types.h) 1984-11-30 10:24:21 +00:00
bal
b8817780f3 ic.h included before ic_lookup.h 1984-11-30 10:23:34 +00:00
bal
530c4d4c63 Lots of procedures removed (turned into macro in alloc.h or
moved to one specific phase).
1984-11-30 10:15:24 +00:00
bal
6a1b482c86 Lots of data structures removed and made local to one specific phase. 1984-11-30 10:14:30 +00:00
bal
d530ba1126 Lots of procedure newxxx() and oldxxx() turned into macros.
Lots of such procedures removed and made local to one specific phase.
1984-11-30 10:12:37 +00:00
bal
bcaecff14d As getbblocks() was moved to cf.c, em_flag.h need no longer
be included.; also, the declaration for em_flag[] was removed.
1984-11-30 10:10:41 +00:00
em
d568a6aca5 The routine salloc crashed on a 2/4 system.
Malloc was nor declared as "char *", but by default as int.
1984-11-30 00:16:29 +00:00
em
77fda75841 I removed the unused integer deftype.
Its name collided with an array in symbols.c.
1984-11-29 17:27:00 +00:00
em
92587276da The definitions of lastline, currline and firstline are made
extern in graph.h. The space reserving declaration is made in
graph.c.
1984-11-29 17:26:44 +00:00
bal
b2dfaa494e -O flag removed 1984-11-29 16:25:08 +00:00
bal
b231200eb7 macros newlvbx and oldlvbx added. 1984-11-29 15:10:11 +00:00
em
4c1ac6ad54 The first line should contain the distribution library name. 1984-11-29 15:03:41 +00:00
bal
d345f87d53 macros newlocal() and oldlocal() moved to alloc.h 1984-11-29 14:40:31 +00:00
em
3ef854719d *** empty log message *** 1984-11-29 14:22:02 +00:00
bal
17cd5516a1 -O flag removed from CFLAGS 1984-11-29 13:33:33 +00:00
bal
a117b57ec9 -O removed from CFLAGS 1984-11-29 13:31:22 +00:00
bal
925f0be202 il_aux.h included (which now contains getcall(),putcall() etc.
routines that were peviously in get.c and put.c).
1984-11-29 11:08:15 +00:00
bal
9ffcf24477 stdio.h included (required by new interface to get.h). 1984-11-29 11:06:23 +00:00
bal
bef1b25962 routines getcall(), get_text() and getcc() move from get.c to this file
routines putactuals(), putcall(), and putcc() move from put.c to this file
get.h, put.h, stdio.h, em_mnem.h and em_pseu.h included
1984-11-29 11:03:19 +00:00
bal
05de05abe7 routine getbblocks (plus its auxiliary routines) moved from get.c
to this file; core allocation macros newcfbx() and oldcfbx() added.
1984-11-29 10:51:16 +00:00
bal
54e3b3db4f newnametable() move from alloc.c to this file,
get_ca_lines moved from get.c to this file,
em_pseu.h and em_mes.h included (needed by get_ca_lines).
1984-11-29 10:31:44 +00:00
bal
21c2208de6 stdio.h included (required by new get.h interface),
macros's newlocal() and oldlocal() added, replacing routines in
alloc.c with same name.
1984-11-29 10:25:21 +00:00
bal
41cd4c15fd getbblocks(), getcall(), getcc() and get_text() removed,
get_ca_lines() removed,
curinp,lastbid,lastlabid exported
getbyte(),getshort(),getoff(),read_line and getlines() exported.
1984-11-29 10:18:53 +00:00
bal
714b50f54b getbblocks() removed (now local to CF phase),
getcall(),getcc() and get_text removed (now local to IL),
get_ca_lines() removed (now local to CA),
current input file "f" renamed "curinp" and exported,
getbyte (macro), getshort() and getoff() exported
read_line() and getlines() exported,
lastbid and lastlabid exported.
1984-11-29 10:15:23 +00:00
bal
2ac28f401c putcall an putcc removed,
curoutp, outbyte,outshort and outoff exported.
1984-11-29 10:11:37 +00:00
bal
ba5ae63e87 putcall and putcc removed (make local to IL phase)
current output file renamed "curoutp" and exported
outbyte, outshort and outoff exported.
1984-11-29 10:09:15 +00:00
bal
2e1928a4eb cleaned up 1984-11-28 09:26:44 +00:00
em
9a02327a2d Installed basic compiler in ACK tree. 1984-11-27 23:59:28 +00:00
em
8c0394eea8 1 - Added RCS identification.
2 - Changed the file name parseparams.c into parsepar.c, the original
    name was too long for RCS under BSD4.1
3 - Adapted to ACK standard Makefile format(cmp,install,...)
4 - Included more dependencies.
1984-11-27 23:53:31 +00:00
em
085069e600 Added basic.doc. 1984-11-27 23:51:07 +00:00
em
e30901a8c4 Added RCS identification. 1984-11-27 23:48:38 +00:00
em
5d2434ce92 *** empty log message *** 1984-11-27 23:46:32 +00:00
em
398a848925 Removed conflict between rcs_id in basic.yacc and lex.c. 1984-11-27 23:41:46 +00:00
em
dee952edfa Now using ACK default tmp directory from em_path.h. 1984-11-27 23:21:41 +00:00
em
1ada89da2a Added RCS identification. 1984-11-27 23:13:28 +00:00
em
02d10bc877 The version of basic copied from Martin Kerstens directory. 1984-11-27 22:23:55 +00:00
em
1046fc1eea The version of basic copied from Martin Kerstens directory. 1984-11-27 22:11:59 +00:00
bal
b5e86c2482 Initial revision 1984-11-27 16:16:36 +00:00
bal
2ab7549af6 cleaned up 1984-11-27 15:52:23 +00:00
bal
85435303c8 stack_change was renamed stack_chg 1984-11-27 15:43:14 +00:00
bal
51eccf208f Initial revision 1984-11-27 15:40:13 +00:00
bal
b27463bccd "ivars" was renamed "ivvars" to avoid name conflict with sr_expr.c 1984-11-27 15:30:34 +00:00
bal
1d613c24af cleaned up 1984-11-27 15:04:04 +00:00
bal
cc22bb4175 cleaned up; dependecies added. 1984-11-27 14:53:00 +00:00
bal
6a084edba7 cleaned up. 1984-11-27 14:25:02 +00:00
bal
e9b3f54f7c cleaned up. use CC. 1984-11-27 14:23:20 +00:00
bal
ee4b1850bb getoff() moved to front (was called before being defined)
declaration char *pseudo[] changed to char *pseudo[5] to suppress warining
1984-11-27 14:21:55 +00:00
bal
49a0e9c414 "cc" replaced by $(CC) 1984-11-27 12:59:18 +00:00
keie
56ba46b2bc Treatment of -R flag is altered.
1 - if recognized by mapflag and not by Ack internally no
    complaint is given.
2 - If recognized by both mapflag and internally:
       -R....-.... : effectuate only mapflag command
       otherwise   : effectuate both.
3 - If not recognized at all, give a warning message and
    pass the flag to the linker.
1984-11-26 17:14:17 +00:00
keie
cf20acf289 This manual page was not included in the first distribution.
This version is hacked from the VU-Pascal distribution.
1984-11-26 15:56:57 +00:00
bal
64ff1da3e4 Initial revision 1984-11-26 15:15:07 +00:00
bal
8e4156532d Initial revision 1984-11-26 15:04:22 +00:00
bal
6e32042c52 Initial revision 1984-11-26 14:51:59 +00:00
bal
e551fa234e Initial revision 1984-11-26 14:35:32 +00:00
bal
15aec67505 Initial revision 1984-11-26 14:14:55 +00:00
bal
03409fb772 Initial revision 1984-11-26 14:07:17 +00:00
bal
7fab127af3 Initial revision 1984-11-26 13:58:05 +00:00
bal
b4b66ce74f Initial revision 1984-11-26 13:43:22 +00:00
sater
fff0d30a9a added documentation for the fmt_id and fmt_ilb macros 1984-11-26 11:09:11 +00:00
sater
2c0619a13a Added support for the fmt_id and fmt_ilb macros 1984-11-26 10:50:46 +00:00
sater
2601187207 In the RREMOVE section of this file, the field e_con of the
expression union was used in stead of e_reg.
Fixed. Checked all other occurrances, are correct.
1984-11-20 16:56:26 +00:00
sater
8d7aa4baad The constant 512 slipped in instead of BUFSIZ.
Changed.
1984-11-20 10:22:12 +00:00
keie
6eaf938a14 Added a check for non-ascii characters in the description files. 1984-11-15 14:24:35 +00:00
ceriel
6d42bab835 Forgotten to close a file. This is corrected. 1984-11-12 18:05:20 +00:00
keie
2cd5f2033e Added rcs identification. 1984-11-08 12:08:31 +00:00
keie
068dee8a06 Added a P for a specification of lal on line 51.
This missing letter caused lal -1 to be mapped on the opcode
for lal 0.
1984-11-08 11:11:31 +00:00
keie
85b1c8b043 Added a check. Minis & shorties need an N or P argument. 1984-11-08 11:09:56 +00:00
bal
a955307239 The routine con_float now generates a dummy floating point constant
and gives a warning, instead of generating a fatal error + abort.
1984-11-06 12:50:21 +00:00
bal
dea117397b Patterns for floating point instruction and for LFR 8 and RET 8 added.
Each such instruction now results in a call to a library routine.
At present, all these routines generate an Illegal EM Instruction trap,
but anyone wishing to implement floating point for the 6502 can
do so without changing the back end table.
1984-11-06 12:47:26 +00:00
em
ac8dee35d0 The line with the user message for failure missed the call to echo. 1984-11-06 10:02:25 +00:00
bal
46a5c99978 make install also make a tail_mon now. 1984-11-05 15:58:11 +00:00
bal
77d2cc5222 arguments for asld changed. several libraries added. 1984-11-05 15:29:48 +00:00
bal
c4dee9c081 program for be is {LIB}/cg instead of {LIB}/be 1984-11-05 15:13:20 +00:00
keie
4a2029781a *** empty log message *** 1984-11-05 15:11:19 +00:00
bal
6cde876c44 em_head renamed head_em; em_tail renamed tail_em
installs tail_em rather than comparing it
1984-11-05 15:06:49 +00:00
em
9adb899d09 Added an example with segment prefixes. 1984-11-05 15:02:32 +00:00
em
8c2dd5a6b5 Adapted to new tree shape for libraries and binaries. 1984-11-05 14:42:17 +00:00
em
73af9ae6cf *** empty log message *** 1984-11-05 12:05:46 +00:00
em
783f95590f *** empty log message *** 1984-11-05 11:55:15 +00:00
keie
d5399de251 The flag -LIB was missing in the call to the shell-procedure
compmodule. Thus the generated libraries could not be effectively
used by our assembler/linker.
1984-11-05 11:37:23 +00:00
bal
b94907a1fa Negation of negative operand with inc/dec added in certain cases.
Don't know effect for sure, author has left.
Added rcsid.
1984-11-02 11:09:46 +00:00
bal
40fcf103bd Initial revision 1984-11-02 10:13:29 +00:00
sater
7f230788d0 Name of error file was wrong, it was the runtime error file instead
of the compile time error file.
1984-11-01 09:30:36 +00:00
ceriel
f0445587cf The input routine used to skip space. This "feature" has been removed
because it is also used to read strings, in which space is significant.
1984-10-31 15:26:09 +00:00
keie
a089216ae7 Adapted to make use of ../../compare and ../../install. 1984-10-26 12:58:15 +00:00
keie
150d744512 Initial revision 1984-10-26 12:54:35 +00:00
keie
e25887d5ca Adapted to make use of ../../compare and ../../install. 1984-10-26 11:48:51 +00:00
keie
c0e66dc8d3 Initial revision 1984-10-26 11:48:13 +00:00
keie
61ab763c07 *** empty log message *** 1984-10-26 11:47:56 +00:00
keie
86f29918c8 Adapted to make use of ../../compare and ../../install. 1984-10-26 11:04:10 +00:00
keie
af335c7be5 *** empty log message *** 1984-10-26 11:01:40 +00:00
keie
2d11c4b2fe Initial revision 1984-10-26 11:00:08 +00:00
ceriel
6fd15f62dc Running makedepend again gave a difference. 1984-10-26 10:31:22 +00:00
ceriel
ca787ba372 removed the "depend" emtry, added a "distr" entry, which should be used
before a distribution is made.
Also added the -DNORCSID flag to the lint-options.
1984-10-26 10:25:55 +00:00
keie
aa65dc9fbd Adapted to use ../../install and ../../compare and hide knowledge
about final destination of libraries.
1984-10-26 10:25:32 +00:00
ceriel
ff47f2ee43 Added a "distr" entry, which will be propagated to the src directory. 1984-10-26 10:24:48 +00:00
keie
5be59d3ade Adapted to make use of ../../compare. 1984-10-26 10:21:18 +00:00
keie
aa74e86069 Adapted to make use of ../../install and ../../compare. 1984-10-26 10:20:29 +00:00
keie
a915561735 Initial revision 1984-10-26 10:20:28 +00:00
keie
9f1edee15f *** empty log message *** 1984-10-26 10:19:56 +00:00
keie
a17a987cb8 *** empty log message *** 1984-10-26 10:12:57 +00:00
keie
db9268bb08 Adapted to use install in ../.. 1984-10-25 14:28:56 +00:00
keie
f064ac567e Now using the compare script in ../.. 1984-10-25 14:28:19 +00:00
keie
17504bb39a Initial revision 1984-10-25 14:28:18 +00:00
keie
ad77d9eb14 *** empty log message *** 1984-10-25 14:24:43 +00:00
keie
558e2166ba Altered the installation procedure.
The libraries etc. are now installed in lib/m68k2 using install in ../..
1984-10-25 14:22:53 +00:00
keie
c71656ab19 Altered to make use of ../../install and ../../compare. 1984-10-25 14:19:58 +00:00
keie
23cf9b8443 Initial revision 1984-10-25 14:19:57 +00:00
keie
44b78ad38d *** empty log message *** 1984-10-25 14:15:27 +00:00
keie
386c0d6e1a Now making use of ../../install and ../../compare. 1984-10-25 14:10:00 +00:00
keie
046ee8050f Adapted to make use of compare in ../.. 1984-10-25 11:40:16 +00:00
keie
1154d87f41 Adapted to make use of install and compare in ../.. 1984-10-25 11:39:39 +00:00
keie
0c16a79a37 *** empty log message *** 1984-10-25 11:39:38 +00:00
keie
f177d69279 Adapted to make use of install and compare in ../.. 1984-10-25 11:27:08 +00:00
keie
a4368ea2d1 *** empty log message *** 1984-10-25 11:25:22 +00:00
keie
675d30712d Removed the definition of LIBDIR, it is superfluous. 1984-10-25 11:16:31 +00:00
keie
209801cac1 Adapted to make use of install and compare in ../.. 1984-10-25 11:16:30 +00:00
keie
9c57272ef9 Initial revision 1984-10-25 11:15:20 +00:00
keie
01f22b3870 Moved the include directory from mach/ibm/include to lib/ibm/include. 1984-10-25 11:00:06 +00:00
keie
6ade85f76e Adapted to use compare in ../.. 1984-10-25 10:46:32 +00:00
keie
0349b620cd Adapted to compare in ../.. 1984-10-25 10:45:22 +00:00
keie
6001a4462e Initial revision 1984-10-25 10:45:21 +00:00
keie
0d853f8c4b *** empty log message *** 1984-10-23 15:29:53 +00:00
keie
e5277be072 Initial revision 1984-10-23 15:29:30 +00:00
keie
cc246efa46 We have only one copy of the script for compare and install now
they are present in ../..
1984-10-23 15:14:17 +00:00
sater
2fe95a276d changed EM_WSIZE to TEM_WSIZE 1984-10-23 15:10:15 +00:00
sater
628d3da626 changed references to EM_?SIZE to TEM_?SIZE 1984-10-23 15:04:24 +00:00
4 changed files with 2341 additions and 3154 deletions

View File

@@ -1,256 +0,0 @@
#ifndef NORCSID
static char rcsid[] = "$Header$";
#endif
/*
* (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
*
* This product is part of the Amsterdam Compiler Kit.
*
* Permission to use, sell, duplicate or disclose this software must be
* obtained in writing. Requests for such permissions may be sent to
*
* Dr. Andrew S. Tanenbaum
* Wiskundig Seminarium
* Vrije Universiteit
* Postbox 7161
* 1007 MC Amsterdam
* The Netherlands
*
* Author: Hans van Staveren
*/
/*
* machine dependent back end routines for the PDP-11
*/
static char procnam[40] ;
/* #define REGPATCH /* save all registers in markblock */
con_part(sz,w) register sz; word w; {
while (part_size % sz)
part_size++;
if (part_size == TEM_WSIZE)
part_flush();
if (sz == 1) {
w &= 0xFF;
if (part_size)
w <<= 8;
part_word |= w;
} else {
assert(sz == 2);
part_word = w;
}
part_size += sz;
}
con_mult(sz) word sz; {
long l;
if (sz != 4)
fatal("bad icon/ucon size");
#ifdef ACK_ASS
fprintf(codefile,".long %s\n",str);
#else
l = atol(str);
fprintf(codefile,"\t%o;%o\n",(int)(l>>16),(int)l);
#endif
}
/*
* The next function is difficult to do when not running on a PDP 11 or VAX
* The strategy followed is to assume the code generator is running on a PDP 11
* unless the ACK_ASS define is on.
* In the last case floating point constants are simply not handled
*/
con_float() {
#ifdef ACK_ASS
static int been_here;
if (argval != 4 && argval != 8)
fatal("bad fcon size");
fprintf(codefile,".long\t");
if (argval == 8)
fprintf(codefile,"F_DUM,");
fprintf(codefile,"F_DUM\n");
if ( !been_here++)
fprintf(stderr,"Warning : dummy float-constant(s)\n");
#else
double f;
register short *p,i;
if (argval != 4 && argval != 8)
fatal("bad fcon size");
f = atof(str);
p = (short *) &f;
i = *p++;
if (argval == 8) {
fprintf(codefile,"\t%o;%o;",i,*p++);
i = *p++;
}
fprintf(codefile,"\t%o;%o\n",i,*p++);
#endif
}
#ifdef REGVARS
char Rstring[10];
full lbytes;
struct regadm {
char *ra_str;
long ra_off;
} regadm[2];
int n_regvars;
regscore(off,size,typ,score,totyp) long off; {
if (size != 2)
return(-1);
score -= 1; /* allow for save/restore */
if (off>=0)
score -= 2;
if (typ==reg_pointer)
score *= 17;
else if (typ==reg_loop)
score = 10*score+50; /* Guestimate */
else
score *= 10;
return(score); /* estimated # of words of profit */
}
i_regsave() {
Rstring[0] = 0;
n_regvars=0;
}
f_regsave() {
register i;
if (n_regvars==0 || lbytes==0) {
#ifdef REGPATCH
fprintf(codefile,"mov r2,-(sp)\nmov r4,-(sp)\n");
#endif
fprintf(codefile,"mov r5,-(sp)\nmov sp,r5\n");
if (lbytes == 2)
fprintf(codefile,"tst -(sp)\n");
else if (lbytes!=0)
fprintf(codefile,"sub $0%o,sp\n",lbytes);
for (i=0;i<n_regvars;i++)
fprintf(codefile,"mov %s,-(sp)\n",regadm[i].ra_str);
} else {
if (lbytes>6) {
fprintf(codefile,"mov $0%o,r0\n",lbytes);
fprintf(codefile,"jsr r5,PR%s\n",Rstring);
} else {
fprintf(codefile,"jsr r5,PR%d%s\n",lbytes,Rstring);
}
}
for (i=0;i<n_regvars;i++) {
if (regadm[i].ra_off>=0)
fprintf(codefile,"mov 0%lo(r5),%s\n",regadm[i].ra_off,
regadm[i].ra_str);
/* generate equates for access to registers */
fprintf(codefile,"~%s%s=%ld.\n",regadm[i].ra_str+1, procnam,
regadm[i].ra_off) ;
}
}
regsave(regstr,off,size) char *regstr; long off; {
fprintf(codefile,"%c Local %ld into %s\n",COMMENTCHAR,off,regstr);
/* commented away
#ifndef REGPATCH
fprintf(codefile,"mov %s,-(sp)\n",regstr);
#endif
strcat(Rstring,regstr);
if (off>=0)
fprintf(codefile,"mov 0%lo(r5),%s\n",off,regstr);
end of commented away */
strcat(Rstring,regstr);
regadm[n_regvars].ra_str = regstr;
regadm[n_regvars].ra_off = off;
n_regvars++;
}
regreturn() {
#ifdef REGPATCH
fprintf(codefile,"jmp eret\n");
#else
fprintf(codefile,"jmp RT%s\n",Rstring);
#endif
}
#endif
doplb(name) char *name ; {
register char *p, *q ;
p=procnam, q=name ;
while ( *p++ = *q++ ) ;
fprintf(codefile,"%s:\n",name) ;
}
prolog(nlocals) full nlocals; {
#ifndef REGVARS
#ifdef REGPATCH
fprintf(codefile,"mov r2,-(sp)\nmov r4,-(sp)\n");
#endif
fprintf(codefile,"mov r5,-(sp)\nmov sp,r5\n");
if (nlocals == 0)
return;
if (nlocals == 2)
fprintf(codefile,"tst -(sp)\n");
else
fprintf(codefile,"sub $0%o,sp\n",nlocals);
#else
lbytes = nlocals;
#endif
}
dlbdlb(as,ls) string as,ls; {
if (strlen(as)+strlen(ls)+2<sizeof(labstr)) {
strcat(ls,":");
strcat(ls,as);
} else
fatal("too many consecutive labels");
}
mes(type) word type; {
int argt ;
switch ( (int)type ) {
case ms_ext :
for (;;) {
switch ( argt=getarg(
ptyp(sp_cend)|ptyp(sp_pnam)|sym_ptyp) ) {
case sp_cend :
return ;
default:
strarg(argt) ;
#ifdef ACK_ASS
fprintf(codefile,".define %s\n",argstr) ;
#else
fprintf(codefile,".globl %s\n",argstr) ;
#endif
break ;
}
}
default :
while ( getarg(any_ptyp) != sp_cend ) ;
break ;
}
}
char *segname[] = {
".text", /* SEGTXT */
".data", /* SEGCON */
".data", /* SEGROM */
".bss" /* SEGBSS */
};

View File

@@ -1,46 +0,0 @@
/* $Header$ */
/* The next define switches between codegeneration for an ACK assembler
* or for the standard UNIX V7 assembler.
* If on code is generated for the ACK assembler.
*/
/* #define ACK_ASS /* code for ACK assembler */
#ifdef ACK_ASS
#define COMMENTCHAR '!'
#define ex_ap(y) fprintf(codefile,".extern %s\n",y)
#else
#define COMMENTCHAR '/'
#define ex_ap(y) fprintf(codefile,".globl %s\n",y)
#endif
#define in_ap(y) /* nothing */
#define newplb(x) doplb(x)
#define newilb(x) fprintf(codefile,"%s:\n",x)
#define newdlb(x) fprintf(codefile,"%s:\n",x)
#ifdef ACK_ASS
#define newlbss(l,x) fprintf(codefile,"%s:.space 0%o\n",l,x);
#else
#define newlbss(l,x) fprintf(codefile,"%s:.=.+0%o\n",l,x);
#endif
#define cst_fmt "$0%o"
#define off_fmt "0%o"
#define ilb_fmt "I%03x%x"
#define dlb_fmt "_%d"
#define hol_fmt "hol%d"
#define hol_off "0%o+hol%d"
#ifdef ACK_ASS
#define con_cst(x) fprintf(codefile,".short 0%o\n",x)
#define con_ilb(x) fprintf(codefile,".short %s\n",x)
#define con_dlb(x) fprintf(codefile,".short %s\n",x)
#else
#define con_cst(x) fprintf(codefile,"0%o\n",x)
#define con_ilb(x) fprintf(codefile,"%s\n",x)
#define con_dlb(x) fprintf(codefile,"%s\n",x)
#endif
#define id_first '_'
#define BSS_INIT 0

File diff suppressed because it is too large Load Diff

2341
util/cgg/bootgram.y Normal file

File diff suppressed because it is too large Load Diff