+++ /dev/null
-p=/proj/em/Work
-sh TakeAction 'make distr' $p/distr/Action
-sh TakeAction 'make distr' $p/distr/Action1
+++ /dev/null
-cmp: # compile everything and compare
- (cd etc ; make cmp )
- (cd util ; make cmp )
- (cd lang ; make cmp )
- (cd mach ; make cmp )
-
-install: # compile everything to machine code
- (cd etc ; make install )
- (cd util ; make install )
- (cd lang/cem ; make install )
- (cd mach ; make install )
- (cd lang/pc ; make install )
-
-clean: # remove all non-sources, except boot-files
- (cd doc ; make clean )
- (cd man ; make clean )
- (cd h ; make clean )
- (cd etc ; make clean )
- (cd util ; make clean )
- (cd lang ; make clean )
- (cd mach ; make clean )
-
-opr: # print all sources
- make pr | opr
-
-pr: # print all sources
- @( pr Makefile ; \
- (cd doc ; make pr ) ; \
- (cd man ; make pr ) ; \
- (cd h ; make pr ) ; \
- (cd etc ; make pr ) ; \
- (cd lang ; make pr ) ; \
- (cd util ; make pr ) ; \
- (cd mach ; make pr ) \
- )
+++ /dev/null
-# (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
-# $Header$
-#
-# Don't generate line updating code by default (i.e.: -L flag provided to cem).
-# To put it on again: use -NL
-var LFLAG=-L
-var C_INCLUDES=-I{EM}/include/_tail_cc
-var ANSI_C_INCLUDES=-I{EM}/include/tail_ac
-
-callname ack
-name cpp
- # no from, this is a preprocessor
- to .i
- program {EM}/lib/cpp{ANSI_C?}
- mapflag -I* CPP_F={CPP_F?} -I*
- mapflag -U* CPP_F={CPP_F?} -U*
- mapflag -D* CPP_F={CPP_F?} -D*
- mapflag -P CPP_F={CPP_F?} -P
- mapflag -C CPP_F={CPP_F?} -C
- mapflag -wo CPP_F={CPP_F?} -o
- mapflag -ansi ANSI_C=.ansi
- args {CPP_F?} ({SUFFIX?}:.ocm=-I{EM}/include/occam) \
- ({ANSI_C?}:.ansi={SYSINCLUDES?} {ANSI_C_INCLUDES} {INCLUDES?}) \
- ({ANSI_C?.c}:{SUFFIX}={SYSINCLUDES?} {C_INCLUDES} {INCLUDES?}) \
- -D{NAME} \
- ({ANSI_C?.xx}:.xx=-DEM_WSIZE={w} -DEM_PSIZE={p} \
- -DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d}) \
- -D_EM_WSIZE={w} -D_EM_PSIZE={p} \
- -D_EM_SSIZE={s} -D_EM_LSIZE={l} -D_EM_FSIZE={f} -D_EM_DSIZE={d} \
- <
- stdout
- prep is
-end
-name cem
- from .c
- to .k
- program {EM}/lib/em_cemcom{ANSI_C?}
- mapflag -ansi ANSI=ansi
-# mapflag -I* CPP_F={CPP_F?} -I*
-# mapflag -U* CPP_F={CPP_F?} -U*
-# mapflag -D* CPP_F={CPP_F?} -D*
- mapflag -M* CEM_F={CEM_F?} -M*
- mapflag -L CEM_F={CEM_F?} -L
- mapflag -A CEM_F={CEM_F?} -A
- mapflag -NL LFLAG=
- mapflag -KR CEM_F={CEM_F?} -R
- mapflag -w CEM_F={CEM_F?} -w
- mapflag -wa CEM_F={CEM_F?} -a
- mapflag -wo CEM_F={CEM_F?} -o
- mapflag -ws CEM_F={CEM_F?} -s
- mapflag -g CEM_F={CEM_F?} -g
- mapflag -p CEM_F={CEM_F?} -p
- mapflag -V* CEM_F={CEM_F?} -V*
- rts .c
- need .c
- args \
- {CPP_F?} \
- {SYSINCLUDES?} \
- ({ANSI_C?}:.ansi={ANSI_C_INCLUDES}) \
- ({ANSI_C?.c}:.c={C_INCLUDES}) \
- {INCLUDES?} \
- -D{NAME} \
- -D_EM_WSIZE={w} -D_EM_PSIZE={p} \
- -D_EM_SSIZE={s} -D_EM_LSIZE={l} -D_EM_FSIZE={f} -D_EM_DSIZE={d} \
- -Vw{w}.{w}i{w}.{w}p{p}.{w}f{f}.{w}s{s}.{s}l{l}.{w}d{d}.{w} \
- {CC_ALIGN?} \
- {CEM_F?} {LFLAG?} < >
- callname acc
- callname cc
-end
-name pc
- from .p
- to .k
- program {EM}/lib/em_pc
- mapflag -L PC_F={PC_F?} -L
-# mapflag -s PC_F={PC_F?} -s
- mapflag -_ PC_F={PC_F?} -U
- mapflag -w PC_F={PC_F?} -w
- mapflag -V* PC_F={PC_F?} -V*
- mapflag -M* PC_F={PC_F?} -M*
-# mapflag -i* PC_F={PC_F?} -i*
- mapflag -A PC_F={PC_F?} -A
-# mapflag -R PC_F={PC_F?} -R
- mapflag --* PC_F={PC_F?} -*
-#range checks can only be disabled through comments
- args \
- -Vw{w}.{w}i{w}.{w}l{l}.{w}p{p}.{w}f{d}.{w}S{w}.{w} \
- {PC_F?} < > {SOURCE}
- prep cond
- rts .p
- need .p
- callname apc
- callname pc
-end
-name m2
- from .mod.def
- to .k
- program {EM}/lib/em_m2
- mapflag -I* M2_INCL={M2_INCL?} -I*
- mapflag -L M2_F={M2_F?} -L
- mapflag -g M2_F={M2_F?} -g
- mapflag -w* M2_F={M2_F?} -w*
- mapflag -W* M2_F={M2_F?} -W*
- mapflag -_ M2_F={M2_F?} -U
- mapflag -M* M2_F={M2_F?} -M*
- mapflag -x M2_F={M2_F?} -x
- mapflag -Xs M2_F={M2_F?} -s
- mapflag -V* M2_F={M2_F?} -V*
- mapflag --* M2_F={M2_F?} -*
- args \
- {M2_INCL?} -I{EM}/lib/m2 {M2SYSLIB?} \
- -Vw{w}.{w}i{w}.{w}p{p}.{w}l{l}.{w}f{f}.{w}d{d}.{w} \
- {M2_ALIGN?} {M2_F?} < >
- prep cond
- rts .mod
- need .mod
- callname m2
-end
-name ocm
- from .ocm
- to .k
- program {EM}/lib/em_occam
- mapflag -L OCM_F={OCM_F?} -L
- mapflag -V* OCM_F={OCM_F?} -V*
- args -Vw{w}p{p}l{l} {OCM_F?}
- stdin
- stdout
- rts .ocm
- need .ocm
- prep cond
- callname ocm
-end
-name abc
- from .b
- to .k
- program {EM}/lib/em_bem
- mapflag -h ABC_F={ABC_F?} -h
- mapflag -w ABC_F={ABC_F?} -w
- mapflag -L ABC_F={ABC_F?} -L
- mapflag -E ABC_F={ABC_F?} -E
-# mapflag -d ABC_F={ABC_F?} -d
- args -Vw{w}p{p}f{d} {ABC_F?} < > {SOURCE}
- prep cond
- rts .b
- need .b
- callname abc
-end
-var A68INIT={EM}/lib/em_a68s_init
-name a68s
- from .8.a68
- to .k
- program {EM}/lib/em_a68s{w}{p}
- mapflag -PA* A68INIT=*
- args < > {SOURCE}.lst {A68INIT}{w}{p} /dev/null
- prep cond
- rts .8
- need .8
- callname a68s
-end
-name encode
- from .e
- to .k
- program {EM}/lib/em_encode
- args <
- prep cond
- stdout
-end
-name opt
- from .k
- to .m
- program {EM}/lib/em_opt
- mapflag -LIB OPT_F={OPT_F?} -L
- args {OPT_F?} <
- stdout
- optimizer
-end
-name ego
- from .m.ma
- to .gk
- program {EM}/lib/em_ego
- mapflag -EGO-* EGO_F={EGO_F?} -*
-# The following lines are obsolete, but here for backwards compatibility.
-# They should be removed some day.
- mapflag -IL* EGO_F={EGO_F?} -IL*
- mapflag -CS* EGO_F={EGO_F?} -CS*
- mapflag -SR* EGO_F={EGO_F?} -SR*
- mapflag -UD* EGO_F={EGO_F?} -UD*
- mapflag -LV* EGO_F={EGO_F?} -LV*
- mapflag -SA* EGO_F={EGO_F?} -RA*
- mapflag -SP* EGO_F={EGO_F?} -SP*
- mapflag -BO* EGO_F={EGO_F?} -BO*
- mapflag -CJ* EGO_F={EGO_F?} -CJ*
- mapflag -EV EGO_F={EGO_F?} -V
-# End of obsolete lines
- mapflag -Q* EGO_F={EGO_F?} -Q*
- mapflag -T* EGO_F={EGO_F?} -T*
- mapflag -S* EGO_F={EGO_F?} -S*
- mapflag -s* EGO_F={EGO_F?} -s*
- mapflag -a EGO_F={EGO_F?} -a
- mapflag -O* EGO_F={EGO_F?} -O*
- args \
- {EGO_F?} -P {EM}/lib/ego \
- -M{EM}/lib/ego/{M}descr <
- optimizer 2
- stdout
- combiner
-end
-name opt2
- # output of the global optimizer is processed by a stripped version
- # of the em peephole optimizer
- from .gk
- to .g
- program {EM}/lib/em_opt2
-# mapflag -LIB OPT_F={OPT_F?} -L
- args {OPT_F?} <
- optimizer
- stdout
-end
-name decode
- from .k.m.g.gk
- to .e
- program {EM}/lib/em_decode
- args <
- stdout
-end
+++ /dev/null
-# $Revision$
-var w=2
-var p=2
-var s=2
-var l=4
-var f=4
-var d=8
-var NAME=i8086
-var M=i86
-var LIB=lib/i86/tail_
-var LIBIBM=lib/ibm/tail_
-var RT=lib/i86/head_
-var RTIBM=lib/ibm/head_
-var CPP_F=-Dunix
-var INCLUDES=-I{EM}/include -I{EM}/lib/ibm/include
-name be
- from .m.g
- to .s
- program {EM}/lib/{M}/cg
- args <
- stdout
- need .e
-end
-name asld
- from .s.a
- to .out
- outfile a.out
- program {EM}/lib/{M}/as
- mapflag -l* LNAME={EM}/{LIB}*
- mapflag -i IFILE={EM}/{RT}i
- args {IFILE?} (.e:{HEAD}={EM}/{RTIBM}em) \
- ({RTS}:.b.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
- (.p:{TAIL}={EM}/{LIB}pc) \
- (.b:{TAIL}={EM}/{LIB}bc) \
- (.b.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
- (.e:{TAIL}={EM}/{LIBIBM}em) \
- (.b.c.p:{TAIL}={EM}/{LIBIBM}mon) \
- (.e:{TAIL}={EM}/{LIBIBM}em.vend)
- linker
-end
+++ /dev/null
-# $Revision$
-var w=2
-var p=2
-var s=2
-var l=4
-var f=4
-var d=8
-var M=int
-var NAME=int22
-var LIB=lib/int22/tail_
-var RT=lib/int22/head_
-var SIZE_FLAG=-sm
-var CPP_F=-Dunix=unix
-var INCLUDES=-I{EM}/include/_tail_cc -I{EM}/include/_tail_mon
-name asld
- from .k.m.a.g
- to .out
- outfile e.out
- program {EM}/lib/em_ass
- mapflag -l* LNAME={EM}/{LIB}*
- mapflag -+* ASS_F={ASS_F?} -+*
- mapflag --* ASS_F={ASS_F?} --*
- mapflag -s* SIZE_FLAG=-s*
- args {SIZE_FLAG} \
- ({RTS}:.ocm.b.c={EM}/{RT}cc) \
- ({RTS}:.mod={EM}/{RT}m2) \
- ({RTS}:.p={EM}/{RT}pc) -o > < \
- (.p:{TAIL}={EM}/{LIB}pc) \
- (.b:{TAIL}={EM}/{LIB}bc) \
- (.ocm:{TAIL}={EM}/{LIB}ocm) \
- (.mod:{TAIL}={EM}/{LIB}m2) \
- (.ocm.b.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
- (.mod.ocm.b.c.p:{TAIL}={EM}/{LIB}mon)
- linker
-end
+++ /dev/null
-# $Revision$
-var w=2
-var p=4
-var s=2
-var l=4
-var f=4
-var d=8
-var NAME=m68k2
-var M=m68k2
-var LIBDIR=/lib/{M}
-var LIB=lib/{M}/tail_
-var RT=lib/{M}/head_
-var INCLUDES=-I{EM}/include -I/usr/include
-name be
- from .m.g
- to .s
- program {EM}/lib/{M}/cg
- args <
- stdout
- need .e
-end
-name asld
- from .s.a
- to .out
- outfile a.out
- program {EM}/lib/{M}/as
- mapflag -l* LNAME={EM}/{LIB}*
- args (.e:{HEAD}={EM}/{RT}em) \
-({RTS}:.b.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
-(.p.c.b:{TAIL}={EM}/{LIBDIR}/sys1.s) (.p:{TAIL}={EM}/{LIBDIR}/sys2.s) \
-(.c:{TAIL}={EM}/{LIBDIR}/write.s) \
-(.p:{TAIL}={EM}/{LIB}pc) \
-(.b:{TAIL}={EM}/{LIB}bc) \
-(.b.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
-(.b.c:{TAIL}={EM}/{LIB}mon {EM}/{LIB}fake) \
-(.e:{TAIL}={EM}/{LIB}em.rt {EM}/{LIB}em.vend)
- prep cond
- linker
-end
+++ /dev/null
-# $Revision$
-var w=1
-var p=2
-var s=1
-var l=2
-var f=4
-var d=8
-var NAME=nascom
-var M=z80a
-var LIB=lib/{M}/tail_
-var RT=lib/{M}/head_
-var INCLUDES=-I{EM}/include -I/usr/include
-name be
- from .m.g
- to .s
- program {EM}/lib/{M}/be
- args <
- stdout
- need .e
-end
-name asld
- from .s.a
- to .out
- outfile a.out
- program {EM}/lib/z80/as
- mapflag -l* LNAME={EM}/{LIB}*
- args (.e:{HEAD}={EM}/{RT}em) ({RTS}:.b.c={EM}/{RT}cc) -o > \
-(.e:{TAIL}={EM}/{LIB}em.1 {EM}/{LIB}em.2)
- linker
-end
+++ /dev/null
-var w=2
-var p=2
-var s=2
-var l=4
-var f=4
-var d=8
-var NAME=i8086
-var M=i86
-var LIB=mach/i86/lib/tail_
-var RT=mach/i86/lib/head_
-var INCLUDES=-I{EM}/include -I/usr/include
-name be
- from .m
- to .s
- program {EM}/lib/{M}_cg
- args <
- prop >
- need .e
-end
-name asld
- from .s.a
- to a.out
- program {EM}/lib/{M}_as
- mapflag -l* LNAME={EM}/{LIB}*
- mapflag -i IFILE={EM}/{RT}i
- args {IFILE?} (.e:{HEAD}={EM}/{RT}em) \
-({RTS}:.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
-(.p:{TAIL}={EM}/{LIB}pc) (.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
-(.c.p.e:{TAIL}={EM}/{LIB}netio) (.c.p.e:{TAIL}={EM}/{LIB}alo) \
-(.c.p:{TAIL}={EM}/{LIB}mon) (.e:{TAIL}={EM}/{LIB}em)
- prop C
-end
+++ /dev/null
-var w=2
-var p=2
-var s=2
-var l=4
-var f=4
-var d=8
-var NAME=i8086
-var M=i86
-var LIB=mach/i86/lib/tail_
-var ALIB=mach/i86/lib/sat_tail_
-var RT=mach/i86/lib/head_
-var ART=mach/i86/lib/sat_head_
-var CCP_F=-Dunix
-var INCLUDES=-I{EM}/include -I/usr/include
-name be
- from .m
- to .s
- program {EM}/lib/{M}_cg
- args <
- prop >
- need .e
-end
-name asld
- from .s.a
- to a.out
- program {EM}/lib/{M}_as
- mapflag -l* LNAME={EM}/{LIB}*
- args (.e:{HEAD}={EM}/{ART}em) \
-({RTS}:.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
-(.p:{TAIL}={EM}/{LIB}pc) (.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
-(.c.p:{TAIL}={EM}/{ALIB}mon) (.c.p.e:{TAIL}={EM}/{LIB}alo) \
-(.e:{TAIL}={EM}/{LIB}em)
- prop C
-end
+++ /dev/null
-/* Error codes. They are negative since a few system calls, such as READ, can
- * either return a positive number indicating success, or an error code.
- */
-
-#define NERROR 34
-#define OK 0
-#define ERROR -1
-#define EPERM -1
-#define ENOENT -2
-#define ESRCH -3
-#define EINTR -4
-#define EIO -5
-#define ENXIO -6
-#define E2BIG -7
-#define ENOEXEC -8
-#define EBADF -9
-#define ECHILD -10
-#define EAGAIN -11
-#define ENOMEM -12
-#define EACCES -13
-#define EFAULT -14
-#define ENOTBLK -15
-#define EBUSY -16
-#define EEXIST -17
-#define EXDEV -18
-#define ENODEV -19
-#define ENOTDIR -20
-#define EISDIR -21
-#define EINVAL -22
-#define ENFILE -23
-#define EMFILE -24
-#define ENOTTY -25
-#define ETXTBSY -26
-#define EFBIG -27
-#define ENOSPC -28
-#define ESPIPE -29
-#define EROFS -30
-#define EMLINK -31
-#define EPIPE -32
-#define EDOM -33
-#define ERANGE -34
-
-#define E_LOCKED -101
-#define E_BAD_CALL -102
-#define E_LONG_STRING -103
-#define EOF -104 /* End Of File - used by drivers */
-
-/* The following error codes are generated by the kernel itself. */
-#define E_BAD_DEST -1 /* destination address illegal */
-#define E_BAD_SRC -2 /* source address illegal */
-#define E_TRY_AGAIN -3 /* can't send-- tables full */
-#define E_OVERRUN -4 /* interrupt for task that is not waiting */
-#define E_BAD_BUF -5 /* message buf outside caller's addr space */
-#define E_TASK -6 /* can't send to task */
-#define E_NO_MESSAGE -7 /* RECEIVE failed: no message present */
-#define E_NO_PERM -8 /* ordinary users can't send to tasks */
-#define E_BAD_FCN -9 /* only valid fcns are SEND, RECEIVE, BOTH */
-#define E_BAD_ADDR -10 /* bad address given to utility routine */
-#define E_BAD_PROC -11 /* bad proc number given to utility */
+++ /dev/null
-/* Error codes. They are negative since a few system calls, such as READ, can
- * either return a positive number indicating success, or an error code.
- */
-
-#define NERROR 34
-#define OK 0
-#define ERROR -1
-#define EPERM -1
-#define ENOENT -2
-#define ESRCH -3
-#define EINTR -4
-#define EIO -5
-#define ENXIO -6
-#define E2BIG -7
-#define ENOEXEC -8
-#define EBADF -9
-#define ECHILD -10
-#define EAGAIN -11
-#define ENOMEM -12
-#define EACCES -13
-#define EFAULT -14
-#define ENOTBLK -15
-#define EBUSY -16
-#define EEXIST -17
-#define EXDEV -18
-#define ENODEV -19
-#define ENOTDIR -20
-#define EISDIR -21
-#define EINVAL -22
-#define ENFILE -23
-#define EMFILE -24
-#define ENOTTY -25
-#define ETXTBSY -26
-#define EFBIG -27
-#define ENOSPC -28
-#define ESPIPE -29
-#define EROFS -30
-#define EMLINK -31
-#define EPIPE -32
-#define EDOM -33
-#define ERANGE -34
-
-#define E_LOCKED -101
-#define E_BAD_CALL -102
-#define E_LONG_STRING -103
-#define EOF -104 /* End Of File - used by drivers */
-
-/* The following error codes are generated by the kernel itself. */
-#define E_BAD_DEST -1 /* destination address illegal */
-#define E_BAD_SRC -2 /* source address illegal */
-#define E_TRY_AGAIN -3 /* can't send-- tables full */
-#define E_OVERRUN -4 /* interrupt for task that is not waiting */
-#define E_BAD_BUF -5 /* message buf outside caller's addr space */
-#define E_TASK -6 /* can't send to task */
-#define E_NO_MESSAGE -7 /* RECEIVE failed: no message present */
-#define E_NO_PERM -8 /* ordinary users can't send to tasks */
-#define E_BAD_FCN -9 /* only valid fcns are SEND, RECEIVE, BOTH */
-#define E_BAD_ADDR -10 /* bad address given to utility routine */
-#define E_BAD_PROC -11 /* bad proc number given to utility */
+++ /dev/null
-struct stat {
- short int st_dev;
- unsigned short st_ino;
- unsigned short st_mode;
- short int st_nlink;
- short int st_uid;
- short int st_gid;
- short int st_rdev;
- long st_size;
- long st_atime;
- long st_mtime;
- long st_ctime;
-};
-
-/* Some common definitions. */
-#define S_IFMT 0170000 /* type of file */
-#define S_IFDIR 0040000 /* directory */
-#define S_IFCHR 0020000 /* character special */
-#define S_IFBLK 0060000 /* block special */
-#define S_IFREG 0100000 /* regular */
-#define S_ISUID 04000 /* set user id on execution */
-#define S_ISGID 02000 /* set group id on execution */
-#define S_ISVTX 01000 /* save swapped text even after use */
-#define S_IREAD 00400 /* read permission, owner */
-#define S_IWRITE 00200 /* write permission, owner */
-#define S_IEXEC 00100 /* execute/search permission, owner */
+++ /dev/null
-/* The <dir.h> header gives the layout of a directory. */
-
-#ifndef _DIR_H
-#define _DIR_H
-
-#define DIRBLKSIZ 512 /* size of directory block */
-
-#ifndef DIRSIZ
-#define DIRSIZ 14
-#endif
-
-struct direct {
- ino_t d_ino;
- char d_name[DIRSIZ];
-};
-
-#endif /* _DIR_H */
+++ /dev/null
-#define NCALLS 70 /* number of system calls allowed */
-
-#define EXIT 1
-#define FORK 2
-#define READ 3
-#define WRITE 4
-#define OPEN 5
-#define CLOSE 6
-#define WAIT 7
-#define CREAT 8
-#define LINK 9
-#define UNLINK 10
-#define CHDIR 12
-#define TIME 13
-#define MKNOD 14
-#define CHMOD 15
-#define CHOWN 16
-#define BRK 17
-#define STAT 18
-#define LSEEK 19
-#define GETPID 20
-#define MOUNT 21
-#define UMOUNT 22
-#define SETUID 23
-#define GETUID 24
-#define STIME 25
-#define PTRACE 26
-#define ALARM 27
-#define FSTAT 28
-#define PAUSE 29
-#define UTIME 30
-#define ACCESS 33
-#define SYNC 36
-#define KILL 37
-#define RENAME 38
-#define MKDIR 39
-#define RMDIR 40
-#define DUP 41
-#define PIPE 42
-#define TIMES 43
-#define SETGID 46
-#define GETGID 47
-#define SIGNAL 48
-#define IOCTL 54
-#define FCNTL 55
-#define EXEC 59
-#define UMASK 60
-#define CHROOT 61
-
-/* The following are not system calls, but are processed like them. */
-#define KSIG 64 /* kernel detected a signal */
-#define UNPAUSE 65 /* to MM or FS: check for EINTR */
-#define BRK2 66 /* to MM: used to say how big FS & INIT are */
-#define REVIVE 67 /* to FS: revive a sleeping process */
-#define TASK_REPLY 68 /* to FS: reply code from tty task */
-
-/* The following IS a system call for amoeba transactions */
-#define AM_SYSCALL 69
+++ /dev/null
-/* System calls. */
-#define SEND 1 /* function code for sending messages */
-#define RECEIVE 2 /* function code for receiving messages */
-#define BOTH 3 /* function code for SEND + RECEIVE */
-#define ANY (NR_PROCS+100) /* receive(ANY, buf) accepts from any source */
-
-/* Task numbers, function codes and reply codes. */
-
-#define TTY -NR_TASKS /* terminal I/O class */
-# define TTY_READ 3 /* fcn code for reading from tty */
-# define TTY_WRITE 4 /* fcn code for writing to tty */
-# define TTY_IOCTL 5 /* fcn code for ioctl */
-# define TTY_SETPGRP 6 /* fcn code for setpgrp */
-# define TTY_OPEN 7 /* fcn code for opening tty */
-# define TTY_CLOSE 8 /* fcn code for closing tty */
-# define SUSPEND -998 /* used in interrupts when tty has no data */
-
-#ifdef AM_KERNEL
-#define AMOEBA
-#endif
-
-#ifdef AMOEBA
-
-/* There are AM_NTASK copies of the amoeba kernel task.
- * If you change AM_NTASKS be sure to adjust kernel/table.c and fs/table.c
- */
-#define AM_NTASKS 4 /* number of kernel tasks of this class */
-
-#define AMINT_CLASS (TTY+1) /* Amoeba event handler */
-#define AMOEBA_CLASS (AMINT_CLASS+AM_NTASKS) /* transaction handlers */
-# define ETHER_ARRIV 1 /* fcn code for packet arrival */
-# define AM_TRANS 2 /* amoeba transaction */
-# define AM_GETREQ 3 /* amoeba getrequest */
-# define AM_PUTREP 4 /* amoeba putrep */
-# define AM_REVIVE 6 /* used by kernel task to revive luser task */
-# define AM_TIMEOUT 8 /* used to talk to clock task */
-# define AM_PUTSIG 9 /* when the luser hits the DEL ! */
-# define AM_TASK_DIED 10 /* sent if task died during a transaction */
-
-#else /* if AMOEBA not defined */
-
-#define AMOEBA_CLASS TTY
-
-#endif /* AMOEBA */
-
-/*
- * New class definitions should go here and should be defined relative
- * to AMOEBA_CLASS (ie. as AMOEBA_CLASS+n, for the nth task added).
- */
-
-#define IDLE (AMOEBA_CLASS+1) /* task to run when there's nothing to run */
-
-#define PRINTER -7 /* printer I/O class */
-/* The printer uses the same commands as TTY. */
-
-#define WINCHESTER -6 /* winchester (hard) disk class */
-#define FLOPPY -5 /* floppy disk class */
-# define DISK_READ 3 /* fcn code to DISK (must equal TTY_READ) */
-# define DISK_WRITE 4 /* fcn code to DISK (must equal TTY_WRITE) */
-# define DISK_IOCTL 5 /* fcn code for setting up RAM disk */
-# define SCATTERED_IO 6 /* fcn code for multiple reads/writes */
-# define OPTIONAL_IO 16 /* modifier to DISK_* codes within vector */
-
-#define MEM -4 /* /dev/ram, /dev/(k)mem and /dev/null class */
-# define RAM_DEV 0 /* minor device for /dev/ram */
-# define MEM_DEV 1 /* minor device for /dev/mem */
-# define KMEM_DEV 2 /* minor device for /dev/kmem */
-# define NULL_DEV 3 /* minor device for /dev/null */
-#if (CHIP == INTEL)
-# define PORT_DEV 4 /* minor device for /dev/port */
-#endif
-
-#define CLOCK -3 /* clock class */
-# define SET_ALARM 1 /* fcn code to CLOCK, set up alarm */
-# define GET_TIME 3 /* fcn code to CLOCK, get real time */
-# define SET_TIME 4 /* fcn code to CLOCK, set real time */
-# define REAL_TIME 1 /* reply from CLOCK: here is real time */
-
-#define SYSTASK -2 /* internal functions */
-# define SYS_XIT 1 /* fcn code for sys_xit(parent, proc) */
-# define SYS_GETSP 2 /* fcn code for sys_sp(proc, &new_sp) */
-# define SYS_SIG 3 /* fcn code for sys_sig(proc, sig) */
-# define SYS_FORK 4 /* fcn code for sys_fork(parent, child) */
-# define SYS_NEWMAP 5 /* fcn code for sys_newmap(procno, map_ptr) */
-# define SYS_COPY 6 /* fcn code for sys_copy(ptr) */
-# define SYS_EXEC 7 /* fcn code for sys_exec(procno, new_sp) */
-# define SYS_TIMES 8 /* fcn code for sys_times(procno, bufptr) */
-# define SYS_ABORT 9 /* fcn code for sys_abort() */
-# define SYS_FRESH 10 /* fcn code for sys_fresh() (Atari only) */
-# define SYS_KILL 11 /* fcn code for sys_kill(proc, sig) */
-# define SYS_GBOOT 12 /* fcn code for sys_gboot(procno, bootptr) */
-# define SYS_UMAP 13 /* fcn code for sys_umap(procno, etc) */
-# define SYS_MEM 14 /* fcn code for sys_mem() */
-# define SYS_TRACE 15 /* fcn code for sys_trace(req,pid,addr,data) */
-
-#define HARDWARE -1 /* used as source on interrupt generated msgs*/
-
-/* Names of message fields for messages to CLOCK task. */
-#define DELTA_TICKS m6_l1 /* alarm interval in clock ticks */
-#define FUNC_TO_CALL m6_f1 /* pointer to function to call */
-#define NEW_TIME m6_l1 /* value to set clock to (SET_TIME) */
-#define CLOCK_PROC_NR m6_i1 /* which proc (or task) wants the alarm? */
-#define SECONDS_LEFT m6_l1 /* how many seconds were remaining */
-
-/* Names of message fields used for messages to block and character tasks. */
-#define DEVICE m2_i1 /* major-minor device */
-#define PROC_NR m2_i2 /* which (proc) wants I/O? */
-#define COUNT m2_i3 /* how many bytes to transfer */
-#define POSITION m2_l1 /* file offset */
-#define ADDRESS m2_p1 /* core buffer address */
-
-/* Names of message fields for messages to TTY task. */
-#define TTY_LINE m2_i1 /* message parameter: terminal line */
-#define TTY_REQUEST m2_i3 /* message parameter: ioctl request code */
-#define TTY_SPEK m2_l1 /* message parameter: ioctl speed, erasing */
-#define TTY_FLAGS m2_l2 /* message parameter: ioctl tty mode */
-#define TTY_PGRP m2_i3 /* message parameter: process group */
-
-/* Names of messages fields used in reply messages from tasks. */
-#define REP_PROC_NR m2_i1 /* # of proc on whose behalf I/O was done */
-#define REP_STATUS m2_i2 /* bytes transferred or error number */
-
-/* Names of fields for copy message to SYSTASK. */
-#define SRC_SPACE m5_c1 /* T or D space (stack is also D) */
-#define SRC_PROC_NR m5_i1 /* process to copy from */
-#define SRC_BUFFER m5_l1 /* virtual address where data come from */
-#define DST_SPACE m5_c2 /* T or D space (stack is also D) */
-#define DST_PROC_NR m5_i2 /* process to copy to */
-#define DST_BUFFER m5_l2 /* virtual address where data go to */
-#define COPY_BYTES m5_l3 /* number of bytes to copy */
-
-/* Field names for accounting, SYSTASK and miscellaneous. */
-#define USER_TIME m4_l1 /* user time consumed by process */
-#define SYSTEM_TIME m4_l2 /* system time consumed by process */
-#define CHILD_UTIME m4_l3 /* user time consumed by process' children */
-#define CHILD_STIME m4_l4 /* sys time consumed by process' children */
-
-#define PROC1 m1_i1 /* indicates a process */
-#define PROC2 m1_i2 /* indicates a process */
-#define PID m1_i3 /* process id passed from MM to kernel */
-#define STACK_PTR m1_p1 /* used for stack ptr in sys_exec, sys_getsp */
-#define PR m6_i1 /* process number for sys_sig */
-#define SIGNUM m6_i2 /* signal number for sys_sig */
-#define FUNC m6_f1 /* function pointer for sys_sig */
-#define MEM_PTR m1_p1 /* tells where memory map is for sys_newmap */
-#define CANCEL 0 /* general request to force a task to cancel */
-#define SIG_MAP m1_i2 /* used by kernel for passing signal bit map */
-
-#ifdef AMOEBA
-
-/* Names of message fields for amoeba tasks */
-#define AM_OP m2_i1 /* one of the above operators */
-#define AM_PROC_NR m2_i2 /* process # of proc doing operation */
-#define AM_COUNT m2_i3 /* size of buffer for operation */
-#define AM_ADDRESS m2_p1 /* address of buffer for operation */
-
-/* For communication between MM and AMOEBA_CLASS kernel tasks */
-#define AM_STATUS m2_i3 /* same use as REP_STATUS but for amoeba */
-#define AM_FREE_IT m2_l1 /* 1=not a getreq, 0=is a getreq */
-
-/* Special for passing a physical address from the ethernet driver */
-#define AM_PADDR m2_l1 /* to the transaction layer */
-
-#endif /* AMOEBA */
-
-#define HARD_INT 2 /* fcn code for all hardware interrupts */
+++ /dev/null
-/* Copyright (C) 1990 by Prentice-Hall, Inc. Permission is hereby granted
- * to redistribute the binary and source programs of this system for
- * educational or research purposes. For other use, written permission from
- * Prentice-Hall is required.
- */
-
-#define EXTERN extern /* used in *.h files */
-#define PRIVATE static /* PRIVATE x limits the scope of x */
-#define PUBLIC /* PUBLIC is the opposite of PRIVATE */
-#define FORWARD static /* some compilers require this to be 'static'*/
-
-#define TRUE 1 /* used for turning integers into Booleans */
-#define FALSE 0 /* used for turning integers into Booleans */
-
-#define HZ 60 /* clock freq (software settable on IBM-PC) */
-#define BLOCK_SIZE 1024 /* # bytes in a disk block */
-#define SUPER_USER (uid_t) 0 /* uid_t of superuser */
-
-#define MAJOR 8 /* major device = (dev>>MAJOR) & 0377 */
-#define MINOR 0 /* minor device = (dev>>MINOR) & 0377 */
-
-#ifdef AM_KERNEL
-#define NR_TASKS 14 /* must be 5 more than without amoeba */
-#else
-#define NR_TASKS 9 /* number of tasks in the transfer vector */
-#endif
-
-#define NR_PROCS 32 /* number of slots in proc table */
-#define NR_SEGS 3 /* # segments per process */
-#define T 0 /* proc[i].mem_map[T] is for text */
-#define D 1 /* proc[i].mem_map[D] is for data */
-#define S 2 /* proc[i].mem_map[S] is for stack */
-
-#define MAX_P_LONG 2147483647 /* maximum positive long, i.e. 2**31 - 1 */
-
-/* Memory is allocated in clicks. */
-#if (CHIP == INTEL) || (CHIP == M68000)
-#define CLICK_SIZE 256 /* unit in which memory is allocated */
-#define CLICK_SHIFT 8 /* log2 of CLICK_SIZE */
-#endif
-
-#define click_to_round_k(n) \
- ((unsigned) ((((unsigned long) (n) << CLICK_SHIFT) + 512) / 1024))
-#if CLICK_SIZE < 1024
-#define k_to_click(n) ((n) * (1024 / CLICK_SIZE))
-#else
-#define k_to_click(n) ((n) / (CLICK_SIZE / 1024))
-#endif
-
-/* Process numbers of some important processes */
-#define MM_PROC_NR 0 /* process number of memory manager */
-#define FS_PROC_NR 1 /* process number of file system */
-#define INIT_PROC_NR 2 /* init -- the process that goes multiuser */
-#define LOW_USER 2 /* first user not part of operating system */
-
-/* Miscellaneous */
-#define BYTE 0377 /* mask for 8 bits */
-#define TO_USER 0 /* flag telling to copy from fs to user */
-#define FROM_USER 1 /* flag telling to copy from user to fs */
-#define READING 0 /* copy data to user */
-#define WRITING 1 /* copy data from user */
-
-#if (MACHINE != ATARI)
-#define ABS -999 /* this process means absolute memory */
-#endif
-
-#define WORD_SIZE 2 /* number of bytes per word */
-
-#define NIL_PTR (char *) 0 /* generally useful expression */
-
-#define NO_NUM 0x8000 /* used as numerical argument to panic() */
-#define SIG_PUSH_BYTES (4*sizeof(int)) /* how many bytes pushed by signal */
-
-/* Flag bits for i_mode in the inode. */
-#define I_TYPE 0170000 /* this field gives inode type */
-#define I_REGULAR 0100000 /* regular file, not dir or special */
-#define I_BLOCK_SPECIAL 0060000 /* block special file */
-#define I_DIRECTORY 0040000 /* file is a directory */
-#define I_CHAR_SPECIAL 0020000 /* character special file */
-#define I_NAMED_PIPE 0010000 /* named pipe (FIFO) */
-#define I_SET_UID_BIT 0004000 /* set effective uid_t on exec */
-#define I_SET_GID_BIT 0002000 /* set effective gid_t on exec */
-#define ALL_MODES 0006777 /* all bits for user, group and others */
-#define RWX_MODES 0000777 /* mode bits for RWX only */
-#define R_BIT 0000004 /* Rwx protection bit */
-#define W_BIT 0000002 /* rWx protection bit */
-#define X_BIT 0000001 /* rwX protection bit */
-#define I_NOT_ALLOC 0000000 /* this inode is free */
+++ /dev/null
-/* Error codes. They are negative since a few system calls, such as READ, can
- * either return a positive number indicating success, or an error code.
- */
-
-#define NERROR 34
-#define OK 0
-#define ERROR -1
-#define EPERM -1
-#define ENOENT -2
-#define ESRCH -3
-#define EINTR -4
-#define EIO -5
-#define ENXIO -6
-#define E2BIG -7
-#define ENOEXEC -8
-#define EBADF -9
-#define ECHILD -10
-#define EAGAIN -11
-#define ENOMEM -12
-#define EACCES -13
-#define EFAULT -14
-#define ENOTBLK -15
-#define EBUSY -16
-#define EEXIST -17
-#define EXDEV -18
-#define ENODEV -19
-#define ENOTDIR -20
-#define EISDIR -21
-#define EINVAL -22
-#define ENFILE -23
-#define EMFILE -24
-#define ENOTTY -25
-#define ETXTBSY -26
-#define EFBIG -27
-#define ENOSPC -28
-#define ESPIPE -29
-#define EROFS -30
-#define EMLINK -31
-#define EPIPE -32
-#define EDOM -33
-#define ERANGE -34
-
-#define E_LOCKED -101
-#define E_BAD_CALL -102
-#define E_LONG_STRING -103
-#define EOF -104 /* End Of File - used by drivers */
-
-/* The following error codes are generated by the kernel itself. */
-#define E_BAD_DEST -1 /* destination address illegal */
-#define E_BAD_SRC -2 /* source address illegal */
-#define E_TRY_AGAIN -3 /* can't send-- tables full */
-#define E_OVERRUN -4 /* interrupt for task that is not waiting */
-#define E_BAD_BUF -5 /* message buf outside caller's addr space */
-#define E_TASK -6 /* can't send to task */
-#define E_NO_MESSAGE -7 /* RECEIVE failed: no message present */
-#define E_NO_PERM -8 /* ordinary users can't send to tasks */
-#define E_BAD_FCN -9 /* only valid fcns are SEND, RECEIVE, BOTH */
-#define E_BAD_ADDR -10 /* bad address given to utility routine */
-#define E_BAD_PROC -11 /* bad proc number given to utility */
+++ /dev/null
-struct stat {
- short int st_dev;
- unsigned short st_ino;
- unsigned short st_mode;
- short int st_nlink;
- short int st_uid;
- short int st_gid;
- short int st_rdev;
- long st_size;
- long st_atime;
- long st_mtime;
- long st_ctime;
-};
-
-/* Some common definitions. */
-#define S_IFMT 0170000 /* type of file */
-#define S_IFDIR 0040000 /* directory */
-#define S_IFCHR 0020000 /* character special */
-#define S_IFBLK 0060000 /* block special */
-#define S_IFREG 0100000 /* regular */
-#define S_ISUID 04000 /* set user id on execution */
-#define S_ISGID 02000 /* set group id on execution */
-#define S_ISVTX 01000 /* save swapped text even after use */
-#define S_IREAD 00400 /* read permission, owner */
-#define S_IWRITE 00200 /* write permission, owner */
-#define S_IEXEC 00100 /* execute/search permission, owner */
+++ /dev/null
-#ifndef _TYPE_H
-#define _TYPE_H
-/* Macros */
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-#define MIN(a,b) ((a) < (b) ? (a) : (b))
-
-/* Type definitions */
-typedef unsigned short unshort; /* must be 16-bit unsigned */
-typedef unshort block_nr; /* block number */
-typedef unshort zone_nr; /* zone number */
-
-#define MAX_BLOCK_NR ((block_nr) 0177777) /* largest block number */
-#define HIGHEST_ZONE ((zone_nr) 0177777) /* largest zone number */
-#define MAX_INODE_NR ((ino_t 0177777) /* largest inode number */
-#define MAX_FILE_POS 017777777777L /* largest legal file offset */
-
-#define NO_BLOCK ((block_nr) 0) /* absence of a block number */
-#define NO_ENTRY ((ino_t) 0) /* absence of a dir entry */
-#define NO_ZONE ((zone_nr) 0) /* absence of a zone number */
-#define NO_DEV ((dev_t) ~0) /* absence of a device numb */
-
-typedef unshort bit_nr; /* if ino_t & zone_nr both unshort,
- then also unshort, else long */
-typedef long zone_type; /* zone size */
-
-#if (CHIP == INTEL)
-typedef unsigned vir_bytes; /* virtual addresses and lengths in bytes */
-#endif
-
-#if (CHIP == M68000)
-typedef long vir_bytes; /* virtual addresses and lengths in bytes */
-#endif
-
-typedef unsigned vir_clicks; /* virtual addresses and lengths in clicks */
-typedef long phys_bytes; /* physical addresses and lengths in bytes */
-typedef unsigned phys_clicks; /* physical addresses and lengths in clicks */
-typedef int signed_clicks; /* same length as phys_clicks, but signed */
-
-/* Types relating to messages. */
-#define M1 1
-#define M3 3
-#define M4 4
-#define M3_STRING 14
-
-typedef struct {int m1i1, m1i2, m1i3; char *m1p1, *m1p2, *m1p3;} mess_1;
-typedef struct {int m2i1, m2i2, m2i3; long m2l1, m2l2; char *m2p1;} mess_2;
-typedef struct {int m3i1, m3i2; char *m3p1; char m3ca1[M3_STRING];} mess_3;
-typedef struct {long m4l1, m4l2, m4l3, m4l4;} mess_4;
-typedef struct {char m5c1, m5c2; int m5i1, m5i2; long m5l1, m5l2, m5l3;} mess_5;
-#if _ANSI
-typedef struct {int m6i1, m6i2, m6i3; long m6l1; void (*m6f1)(int);} mess_6;
-#else
-typedef struct {int m6i1, m6i2, m6i3; long m6l1; void (*m6f1)();} mess_6;
-#endif
-
-typedef struct {
- int m_source; /* who sent the message */
- int m_type; /* what kind of message is it */
- union {
- mess_1 m_m1;
- mess_2 m_m2;
- mess_3 m_m3;
- mess_4 m_m4;
- mess_5 m_m5;
- mess_6 m_m6;
- } m_u;
-} message;
-
-#define MESS_SIZE (sizeof(message))
-#define NIL_MESS (message *) 0
-
-/* The following defines provide names for useful members. */
-#define m1_i1 m_u.m_m1.m1i1
-#define m1_i2 m_u.m_m1.m1i2
-#define m1_i3 m_u.m_m1.m1i3
-#define m1_p1 m_u.m_m1.m1p1
-#define m1_p2 m_u.m_m1.m1p2
-#define m1_p3 m_u.m_m1.m1p3
-
-#define m2_i1 m_u.m_m2.m2i1
-#define m2_i2 m_u.m_m2.m2i2
-#define m2_i3 m_u.m_m2.m2i3
-#define m2_l1 m_u.m_m2.m2l1
-#define m2_l2 m_u.m_m2.m2l2
-#define m2_p1 m_u.m_m2.m2p1
-
-#define m3_i1 m_u.m_m3.m3i1
-#define m3_i2 m_u.m_m3.m3i2
-#define m3_p1 m_u.m_m3.m3p1
-#define m3_ca1 m_u.m_m3.m3ca1
-
-
-#define m4_l1 m_u.m_m4.m4l1
-#define m4_l2 m_u.m_m4.m4l2
-#define m4_l3 m_u.m_m4.m4l3
-#define m4_l4 m_u.m_m4.m4l4
-
-#define m5_c1 m_u.m_m5.m5c1
-#define m5_c2 m_u.m_m5.m5c2
-#define m5_i1 m_u.m_m5.m5i1
-#define m5_i2 m_u.m_m5.m5i2
-#define m5_l1 m_u.m_m5.m5l1
-#define m5_l2 m_u.m_m5.m5l2
-#define m5_l3 m_u.m_m5.m5l3
-
-#define m6_i1 m_u.m_m6.m6i1
-#define m6_i2 m_u.m_m6.m6i2
-#define m6_i3 m_u.m_m6.m6i3
-#define m6_l1 m_u.m_m6.m6l1
-#define m6_f1 m_u.m_m6.m6f1
-
-struct mem_map {
- vir_clicks mem_vir; /* virtual address */
- phys_clicks mem_phys; /* physical address */
- vir_clicks mem_len; /* length */
-};
-
-struct copy_info { /* used by sys_copy(src, dst, bytes) */
- int cp_src_proc;
- int cp_src_space;
- vir_bytes cp_src_vir;
- int cp_dst_proc;
- int cp_dst_space;
- vir_bytes cp_dst_vir;
- vir_bytes cp_bytes;
-};
-
-struct iorequest_s {
- long io_position; /* position in device file (really off_t) */
- char *io_buf; /* buffer in user space */
- unsigned short io_nbytes; /* size of request */
- unsigned short io_request; /* read, write (optionally) */
-};
-#endif /* _TYPE_H */
+++ /dev/null
-# $Revision$
-var w=4
-var p=4
-var s=2
-var l=4
-var f=4
-var d=8
-var NAME=vax4
-var M=vax4
-var LIB=lib/{M}/tail_
-var RT=lib/{M}/head_
-var CPP_F=-Dunix -Dvax
-var CC_ALIGN=-Vw4.1
-# 413 align is the default, rom in text
-var ALIGN=-a0:4 -a1:4 -a2:0x400 -a3:4
-var C_LIB={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g
-var OLD_C_LIB={C_LIB}
-name be
- from .m.g
- to .s
- program {EM}/lib/{M}/cg
- args <
- stdout
- need .e
-end
-name asopt
- from .s
- to .so
- program {EM}/lib/{M}/top
- args
- optimizer
- stdin
- stdout
-end
-name as
- from .s.so
- to .o
- program {EM}/lib/{M}/as
- args - -o > <
- prep cond
-end
-name led
- from .o.a
- to .out
- program {EM}/lib/em_led
- mapflag -l* LNAME={EM}/{LIB}*
- mapflag -N ALIGN=-a0:4 -a1:4 -a2:4 -a3:4
- mapflag -r ALIGN=-a0:4 -a1:0x400 -a2:4 -a3:4
- mapflag -ansi C_LIB={EM}/{LIB}ac
- args {ALIGN} (.e:{HEAD}= {EM}/{RT}em) \
- ({RTS}:.ocm.b={EM}/{RT}cc) \
- ({RTS}{ANSI?}:.c={EM}/{RT}cc) \
- ({RTS}{ANSI?}:.cansi={EM}/{RT}ac) \
- ({RTS}:.mod={EM}/{RT}m2) \
- ({RTS}:.p.8={EM}/{RT}pc) \
- -o > < \
- (.8:{TAIL}={EM}/{LIB}a68s) \
- (.p.8:{TAIL}={EM}/{LIB}pc) \
- (.b:{TAIL}={EM}/{LIB}bc) \
- (.ocm:{TAIL}={EM}/{LIB}ocm) \
- (.mod:{TAIL}={EM}/{LIB}m2) \
- (.ocm.b:{TAIL}={OLD_C_LIB}) \
- (.c:{TAIL}={C_LIB}) \
- (.e:{TAIL}={EM}/{LIB}em {EM}/{LIB}mon {EM}/lib/{M}/end_em)
- linker
-end
-name cv
- from .out
- to .cv
- program {EM}/lib/{M}/cv
- mapflag -n CV_ARG=-n
- args {CV_ARG?} < >
- outfile a.out
-end
+++ /dev/null
-# $Header$
-/movab/ {
-s/movab 1(\(.*\)),\1$/incl \1/
-s/movab -1(\(.*\)),\1$/decl \1/
-s/movab \([0-9]*\)(\(.*\)),\2$/addl2 $\1,\2/
-s/movab -\([0-9]*\)(\(.*\)),\2$/subl2 $\1,\2/
-s/movab 0(\(.*\)) \[\(.*\)\],\1$/addl2 \2,\1/
-s/movab 0(\(.*\)) \[\(.*\)\],\2$/addl2 \1,\2/
-}
-/$0/ {
-s/movz[bw]\([wl]\) $0,/clr\1 /
-s/mov\([bwl]\) $0,/clr\1 /
-s/cvt[bw]\([wl]\) $0,/clr\1 /
-}
-/add/ {
-s/\(add[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
-s/\(add[fdlw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
-s/add\([wl]\)2 \$-\([0-9]*\),/sub\12 $\2,/
-s/add\([wl]\)3 \$-\([0-9]*\),/sub\13 $\2,/
-s/add\([wl]\)3 \(.*\),\$-\([0-9]*\),/sub\13 $\3,\2,/
-}
-/mul/ {
-s/\(mul[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
-s/\(mul[fdlw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
-}
-/sub/ {
-s/\(sub[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
-s/sub\([wl]\)2 \$-\([0-9]*\),/add\12 $\2,/
-s/sub\([wl]\)3 \$-\([0-9]*\),/add\13 $\2,/
-}
-/div/s/\(div[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
-/bi/s/\(bi[cs][lw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
-/bis/s/\(bis[lw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
-/xor/ {
-s/\(xor[lw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
-s/\(xor[lw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
-}
-/$1/ {
-s/add\([wl]\)2 \$1,/inc\1 /
-s/sub\([wl]\)2 \$1,/dec\1 /
-}
-/$-1/ {
-s/add\([wl]\)2 \$-1,/dec\1 /
-s/sub\([wl]\)2 \$-1,/inc\1 /
-}
-/cmp[bwl].*$0/ {
-N
-s/cmp\([bwl]\) \(.*\),$0$/tst\1 \2/
-s/cmp\([bwl]\) $0,\(.*\)\njneq/tst\1 \2\
-jneq/
-s/cmp\([bwl]\) $0,\(.*\)\njeql/tst\1 \2\
-jeql/
-s/cmp\([bwl]\) $0,\(.*\)\njgtr/tst\1 \2\
-jlss/
-s/cmp\([bwl]\) $0,\(.*\)\njlss/tst\1 \2\
-jgtr/
-s/cmp\([bwl]\) $0,\(.*\)\njgeq/tst\1 \2\
-jleq/
-s/cmp\([bwl]\) $0,\(.*\)\njleq/tst\1 \2\
-jgeq/
-P
-D
-}
-/(sp)+/ {
-N
-s/movl (sp)+,\(.*\)\npushl \1$/movl (sp),\1/
-s/tst[wl] (sp)+\nmovl fp,sp$/movl fp,sp/
-s/tst\([wl]\) (sp)+\nmov\1 \(.*\),-(sp)/mov\1 \2,(sp)/
-s/tst\([wl]\) (sp)+\nclr\1 -(sp)/clr\1 (sp)/
-s/tst\([wl]\) (sp)+\nmovzb\1 \(.*\),-(sp)/movzb\1 \2,(sp)/
-s/tst\([wl]\) (sp)+\ncvtb\1 \(.*\),-(sp)/cvtb\1 \2,(sp)/
-s/tst\([wl]\) (sp)+\ntst\1 \(.*\)$/mov\1 \2,(sp)+/
-s/tstl (sp)+\npushl \(.*\)$/movl \1,(sp)/
-s/tstl (sp)+\npusha\([bwlq]\) \(.*\)$/mova\1 \2,(sp)/
-P
-D
-}
-/^addl2 .*,sp/ {
-N
-s/addl2 .*,sp\nmovl fp,sp$/movl fp,sp/
-s/^addl2 $6,sp\nmovw \(.*\),-(sp)/tstl (sp)+\
-movw \1,(sp)/
-s/^addl2 $6,sp\nclrw -(sp)/tstl (sp)+\
-clrw (sp)/
-s/^addl2 $8,sp\nmovq \(.*\),-(sp)/movq \1,(sp)/
-P
-D
-}
-/clrw -(sp)/ {
-N
-s/clrw -(sp)\nmovw \($[0-9]*\),-(sp)/pushl \1/
-s/clrw -(sp)\nmnegw $\([0-9]*\),-(sp)/movzwl $-\1,-(sp)/
-s/clrw -(sp)\nmovw \(.*\),-(sp)/movzwl \1,-(sp)/
-s/clrw -(sp)\ncvtbw \(\$[0-9]*\),-(sp)/pushl \1/
-s/clrw -(sp)\ncvtbw \(\$.*\),-(sp)/movzwl \1,-(sp)/
-P
-D
-}
-/mov/ {
-N
-s/mov\([wl]\) \(.*\),\(.*\)\ntst\1 \3$/mov\1 \2,\3/
-P
-D
-}
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-hbxac
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/cg
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
- $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
- $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
- move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- ../../install cg
-
-cmp: all
- -../../compare cg
-
-distr: tables.c
- rm -f tables1.[ch]
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-
-tables.c: table
- -mv tables.h tables.h.save
- $(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
- -if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
- -if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.h.save
-
-codegen.o: $(CDIR)/assert.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-move.o: $(CDIR)/assert.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-CFLAGS=-O -I$(EMHOME)/h
-
-dl: dl.o
- $(CC) -o dl dl.o $(EMHOME)/modules/lib/libobject.a
-
-install: dl
- ../../install dl
-
-cmp: dl
- -../../compare dl
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/dl.c
-
-clean:
- -rm -f *.o *.old dl
+++ /dev/null
-all:
-
-install:
- ../../install head_em.s head_em
- ../../install libem_s.a tail_em
- ../../install end.s end_em
-
-cmp:
- -../../compare head_em.s head_em
- -../../compare libem_s.a tail_em
- -../../compare end.s end_em
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/end.s
-
-clean:
+++ /dev/null
-.define endtext, enddata, endbss, end
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-.sect .text
-endtext:
-.align 2
-.sect .data
-.align 2
-enddata:
-.sect .bss
-.align 2
-endbss:
-end:
+++ /dev/null
-.define WRCH, RDCH, Earray, Erange, Eset
-.define Eiovfl, Eidivz, Eiund, Econv
-.define Estack, Eheap, Eillins, Eoddz
-.define Ecase , Ebadmon, OSBYTE, MON
-.define Ebadlin, Ebadgto, BASE, NBYTES
-.define hol0, IGNMASK, ADDR, PROGNAME
-.define LB, LBl, SP, HP, ERRPROC, UNSIGN
-.define Ytmp, EXG, ARTH, RETURN, SIGN
-.define RETSIZE, TRAPVAL, STACK, BRANCH
-.define start, Push, Pop, STACKTh, STACKTl
-.define F_DUM
-.sect .zero
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! DEFINITIONS
-
- ! The next three definitions are special for the
- ! BBC microcomputer
-
-WRCH = 0x0FFEE ! This subroutine writes the character in
- ! register A to the screen
-RDCH = 0x0FFE0 ! This subroutine returns a character in
- ! register A from the current input stream
-OSBYTE = 0x0FFF4 ! This subroutine performs miscelaneous
- ! operating system calls
-
-F_DUM = 0 ! Dummy floating point constant
-
- ! Here are the error numbers
-
-Earray = 0
-Erange = 1
-Eset = 2
-Eiovfl = 3
-Eidivz = 6
-Eiund = 8
-Econv = 10
-Estack = 16
-Eheap = 17
-Eillins = 18
-Eoddz = 19
-Ecase = 20
-Ebadmon = 25
-Ebadlin = 26
-Ebadgto = 27
-MON = 0x78D0
-
-BASE = 240 ! This is the offset from the localbase
- ! for the second localbase
-
-STACKTh = 0x78 ! This is the top of the stack
-STACKTl = 0x0D0
-
- ! Some zeropage declarations
-
-.sect .zero
-
-RES: .space 76 ! special for the operating system
-
-hol0: .space 16 ! the hol0 block
-
-IGNMASK: .space 2 ! can hold the ingnore mask
-
-ADDR: .space 4 ! used for indirect addressing
-
-LB: .space 2 ! the localbase
-
-LBl: .space 2 ! the second localbase (localbase-BASE)
-
-SP: .space 3 ! the stackpointer (real_stack)
-
-HP: .space 2 ! the heap pointer
-
-BRANCH: .space 2 ! used for branch instructions
-
-ERRPROC: .space 2 ! can hold the address of the error handler
-
-Ytmp: .space 1 ! used for intermediate storage in Y
-
-EXG: .space 2 ! used by the exchange subroutine Exg
-
-ARTH: .space 16 ! used for arithmetic
-
-NBYTES: .space 2 ! containes the number of bytes for a block move
-
-
-RETURN: .space 4 ! the return area
-
-RETSIZE: .space 1 ! the size of the object returned
-
-SIGN: .space 1 ! the sign of the calculation
-
-UNSIGN : .space 1 ! is it signed or unsigned arithmetic
-
-TRAPVAL: .space 1 ! intermediate storage of the error number
-
-STACK: .space 1 ! contains the hardware stackpointer on
- ! entering _m_a_i_n for a neat return
-
-RESERVED: .space 112 ! used by the operating system
-
-.sect .text
-.base 0x0E02 ! where to start in the BBC micro
-! GENERAL PURPOSE ROUTINES
-
-start:
- tsx
- stx STACK ! save stackpointer for exit and error
-
- ! The following three operating system calls are only
- ! for the BBC microcomputer
-
- lda #2
- ldx #0
- ldy #0
- jsr OSBYTE ! return control to the keyboard
- lda #15
- ldx #0
- ldy #0
- jsr OSBYTE ! clear all internal buffers
- lda #3
- ldx #5
- ldy #0
- jsr OSBYTE ! output to screen and RS423
-
- lda #STACKTl
- sta LB ! set localbase (lowbyte)
- sta SP+2
- lda #0
- sta SP ! set stackpointer (lowbyte)
- sta ERRPROC ! set start address for error handler (lowbyte)
- sta ERRPROC+1 ! set start address for error handler (highbyte)
- sta hol0 ! set the line number (lowbyte)
- sta hol0+1 ! set the line number (highbyte)
- lda #STACKTh
- sta SP+1 ! set the stacpointer (highbyte)
- sta LB+1 ! set the localbase (highbyte)
- lda #[endbss].l
- sta HP ! set the heap pointer (lowbyte)
- lda #[endbss].h
- sta HP+1 ! set the heap pointer (highbyte)
- lda #[PROGNAME].l
- sta hol0+4 ! set fake programname pointer (lowbyte)
- lda #[PROGNAME].h
- sta hol0+5 ! set fake programname pointer (highbyte)
- lda #[beginbss].l
- sta ADDR ! start address of bss block (lowbyte)
- lda #[beginbss].h
- sta ADDR+1 ! start address of bss block (highbyte)
- ldy #0
- lda #0
- 4: ldx #[endbss].h ! clear bss block
- cpx ADDR+1
- bcc 1f ! end of bss block reached
- bne 2f
- ldx #[endbss].l
- cpx ADDR
- bcc 1f ! end of bss block reached
- 2: sta (ADDR),y
- inc ADDR
- bne 3f
- inc ADDR+1
- 3: jmp 4b
- 1: lda #0
- tax
- jsr Push ! push fake envelope pointer
- lda #[PROGNAME].h
- ldx #[PROGNAME].l
- jsr Push ! push argv[0]
- lda #0
- ldx #1
- jsr Push ! push argc
- jsr __m_a_i_n ! start the real program
-
- lda #0x0FF
- jsr WRCH ! send end of program to R423
- lda #3
- ldx #0
- jsr OSBYTE ! send output to screen only
- lda #2
- ldx #1
- jsr OSBYTE ! input only from R423
- rts
-
-
-! The subroutine Push pushes the registerpair AX onto the stack.
-
-Push:
- sty Ytmp ! save Y
- ldy SP+2
- bne 1f ! lowbyte of stackpointer <> 0
- dec SP+1 ! decrement highbyte of stackpointer
- 1: dey
- dey ! decrement lowbyte of stackpointer
- sty SP+2 ! save lowbyte of stackpointer
- pha ! save A
- txa
- sta (SP),y ! push X onto the stack
- iny
- pla ! get A
- sta (SP),y ! push A onto the stack
- ldy Ytmp ! restore Y
- rts
-
-
-! The subroutine Pop pops the registerpair AX from the stack.
-
-Pop:
- sty Ytmp ! save Y
- ldy SP+2
- lda (SP),y ! pop X from the stack
- tax
- iny
- lda (SP),y ! pop A from the stack
- iny
- bne 1f ! lowbyte of stackpointer <> 0
- inc SP+1 ! increment highbyte of stackpointer
- 1: sty SP+2 ! store lowbyte of stackpointer
- pha ! save A
- pla ! get A
- ldy Ytmp ! restore Y
- rts
-
-
-.sect .data
-PROGNAME: ! for initialising the programname pointer
-.asciz "program"
-.sect .bss
-beginbss:
+++ /dev/null
-.define Mon
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! This subroutine performs some monitor calls.
-! The exit call just resets the hardware_stackpointer so
-! this routine will return to the operating system.
-! The close call just returns a zero.
-! The ioctl call just pops its arguments and returns a zero.
-! The write routine is a real one.
-
-
-Mon:
- cpx #1
- bne 1f ! exit
- ldx STACK ! load stackpointer
- dex
- dex ! adjust stackpointer
- txs ! set stackpointer
- rts
- 1: cpx #4
- bne 1f
- jmp Mwrite
- 1: cpx #6 ! facked
- bne 1f ! close
- lda #0
- tax ! return zero
- rts
- 1: cpx #54
- jsr Pop ! pop first argument (fildes)
- jsr Pop ! pop second argument (request)
- jsr Pop ! pop third argument (argp)
- lda #0
- tax ! return zero
- rts
-
-
+++ /dev/null
-.define Mprint
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! This subroutine prints a zero terminated ascii string.
-! The registerpair AX contains the start of the string.
-! The subroutine WRCH is a special routine on the BBC microcomputer
-! which prints the character in A to the screen.
-! The subroutine WRCH is a special one provided by the BBC
-! microcomputer.
-
-
-Mprint:
- stx ADDR ! start address of string (lowbyte)
- sta ADDR+1 ! start address of string (highbyte)
- ldy #0
- 1: lda (ADDR),y ! get ascii character
- beq 2f
- jsr WRCH ! put it on the screen
- iny
- bne 1b
- 2: rts
-
-
+++ /dev/null
-.define Printhex
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! This subroutine print the contents of register A to the screen
-! in hexadecimal form.
-! The subroutine WRCH is a special one provided by the BBC
-! microcomputer.
-
-
-Printhex:
- pha ! save A
- lsr a
- lsr a
- lsr a
- lsr a ! get four high bits
- jsr 1f
- pla ! restore A
- and #0x0F ! get four low bits
- jsr 1f
- rts
- 1: sed ! print in hex
- clc
- adc #0x90
- adc #0x40
- cld
- jmp WRCH
-
-
+++ /dev/null
-.define Printstack
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! This a special subroutine which prints some things to the
-! monitorscreen for debugging.
-
-
-Printstack:
- ldy #0
- 2: lda (hol0+4),y
- beq 1f
- jsr WRCH ! print filename
- iny
- jmp 2b
- 1: lda #32
- jsr WRCH ! print a space
- lda hol0+1
- jsr Printhex ! print line number (highbyte)
- lda hol0
- jsr Printhex ! print line number (lowbyte)
- lda #32
- jsr WRCH ! print a space
- lda SP+1
- jsr Printhex ! print stackpointer (highbyte)
- lda SP+2
- jsr Printhex ! print stackpointer (lowbyte)
- lda #32
- jsr WRCH ! print a space
- lda LB+1
- jsr Printhex ! print real localbase (highbyte)
- lda LB
- jsr Printhex ! print real localbase (lowbyte)
- lda #32
- jsr WRCH ! print a space
- lda LBl+1
- jsr Printhex ! print second lowerbase (highbyte)
- lda LBl
- jsr Printhex ! print second lowerbase (lowbyte)
- lda #10
- jsr WRCH ! print a newline
- lda #13
- jsr WRCH ! print a carriagereturn
- rts
-
-
+++ /dev/null
-.define Mread
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! This subroutine reads characters from the standard input.
-! It ignores the filedes.
-! It reads atmost 255 characters. So the runtime system must
-! provide a way of dealing with this.
-! The subroutine RDCH is a special one provided by the BBC
-! microcomputer.
-
-
-Mread:
- jsr Pop ! ignore filedescriptor
- jsr Pop ! bufptr
- stx ADDR ! address of character buffer (lowbyte)
- sta ADDR+1 ! address of character buffer (highbyte)
- jsr Pop ! number of characters
- ldy #0 ! <= 255
- inx
- 1: jsr RDCH ! read a character from the current inputstream
- bcs 8f
- sta (ADDR),y
- iny
- dex
- bne 1b
- 8: tya
- tax
- lda #0
- jsr Push ! number of characters red.
- tax ! report a succesfull read.
- rts
-
-
+++ /dev/null
-.define Mwrite
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-! This subroutine performs the monitor call write.
-! Writing is always done to standardoutput.
-! A zero is returned on exit.
-! The subroutine WRCH is a special routine of the BBC
-! microcomputer.
-
-
-Mwrite:
- jsr Pop ! get fildes
- jsr Pop ! get address of characterbuffer
- stx ADDR ! bufferaddress (lowbyte)
- sta ADDR+1 ! bufferaddress (highbyte)
- jsr Pop ! number of characters to be writen.
- ldy #0
- 1: lda (ADDR),y
- cmp #10
- bne 2f
- pha
- lda #13
- jsr WRCH
- pla
- 2: jsr WRCH
- iny
- dex
- bne 1b
- tya
- tax
- lda #0
- jsr Push
- tax
- rts
-
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-EMHOME=../../..
-OBJLIB=$(EMHOME)/modules/lib/libobject.a
-
-head: cv
-
-cv: cv.c
- $(CC) $(CFLAGS) $(LDFLAGS) -I$(EMHOME)/h -o cv cv.c $(OBJLIB)
-
-install: head
- ../../install cv
-
-cmp: head
- ../../compare cv
-
-clean:
- rm -f *.o
-
-pr:
- @pr `pwd`/Makefile `pwd`/cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-all:
-
-install:
- ../../install head_em.s head_em
- ../../install libem_s.a tail_em
- ../../install end.s end_em
-
-cmp:
- -../../compare head_em.s head_em
- -../../compare libem_s.a tail_em
- -../../compare end.s end_em
-
-clean:
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/end.s
+++ /dev/null
-.define _endtext,_enddata,_endbss
-.sect .text
- .align 4
-.sect .rom
- .align 4
-.sect .data
- .align 4
-.sect .bss
- .align 4
-
- .sect .text
-_endtext:
- .sect .data
-_enddata:
- .sect .bss
-_endbss:
+++ /dev/null
-! head_em.s
-.define begdat,begbss,hol0,argv,envp,_RegHp,_incptflag
-.define _Lineno,_Filna,_IgnoreMask,_TrpReg
-
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
-.sect .text
-.base 0x8000
- ADR R0,begbss
- ADR R1,_endbss
- MOV R2,#0
- ADR R3,_incptflag
- STR R2,[R3]
-1:
- STR R2,[R0],#4
- CMP R0,R1
- BLT 1B
-! the next 2 lines are OS specific:
- SWI 16 ! OS_Getenv
- SUB R12, R1, #8 ! Get end of ram
-! R0 points to command string
-! (argv,argc) code for C
-! or Pascal file names
- MOV R9,R0 ! save pt in R0
- MOV R8,#0 ! string length
-len:
- LDR.B R7,[R9],#1
- CMP R7,#0
- ADD.NE R8,R8,#1
- BNE len
- MOV R7,R8 ! save len in R7
-! round up to multiple of 4
- ADD R8,R8,#4
- MVN R6, #3 !FFFFFFFC
- AND R8,R8,R6
-! make room on stack
- SUB R12,R12,R8 ! word aligned
-! now determine argc
-! OS intercepts blank lines, so
-! there must be at least one arg
- MOV R9,R0
- MOV R6,#0 ! holds argc
- MOV R5,#0 ! char count
-loop1:
- CMP R5,R7
- BGT next1
- LDR.B R4,[R9],#1
- ADD R5,R5,#1
- CMP R4,#32
- BEQ loop1 !skip spaces
- ADD R6,R6,#1 ! new arg
-nospace1:
- CMP R5,R7
- BGT next1
- LDR.B R4,[R9],#1
- ADD R5,R5,#1
- CMP R4,#32
- BNE nospace1
- CMP R5,R7
- BCC loop1
-! BEQ loop1
-next1:
-! store argc
- ADR R5,argc
- STR R6,[R5]
-! copy the string
-! onto the stack
- MOV R9,R0 !source
- MOV R2,R12 !dest
- MOV R3,R7 !#chars
-loop2:
- LDR.B R4,[R9],#1
- STR.B R4,[R2],#1
- SUB.S R3,R3,#1
- BNE loop2
- MOV R4, #0 ! zero terminator
- STR.B R4,[R2]
-! create space on the stack for
-! the pointers to individual args
- MOV R11, R12 ! string pt
- MOV R8,R6,LSL #2
- SUB R12,R12,R8
-! save pointer to argv[0]
- ADR R1,argv
- STR R12,[R1]
-! determine argv[0] .. argv[argc-1]
-! and store on stack
-! R11 = start of string
-! R7 = string lenth
-! R12 = stack pointer
-! R6 = argc
- MOV R9, #0 !char count
- MOV R8, #0 !arg count
- MOV R5,R11
-loop3:
- CMP R9,R7
- BGT next2
- LDR.B R4,[R5],#1
- ADD R9,R9,#1
- CMP R4,#32
- BEQ loop3
- CMP R9,R7
- BGT next2
- SUB R4,R5,#1 !compensate for incr
- STR R4,[R12,R8,LSL #2]
- ADD R8,R8,#1
-nospace2:
- CMP R9,R7
- BGT next2
- LDR.B R4,[R5],#1
- ADD R9,R9,#1
- CMP R4,#32
- BNE nospace2
- CMP R9,R7
- BCC loop3
-! BEQ loop3
-! finally, replace spaces by 0
-next2:
- MOV R5,R11 !string ptr
- MOV R6,R7 !string length
- MOV R3,#0
-loop4:
- CMP R6,#0
- BEQ next3
- LDR.B R4,[R5]
- CMP R4,#32
- STR.EQ.B R3,[R5]
- ADD R5,R5,#1
- SUB R6,R6,#1
- BAL loop4
-next3:
- ADR R11, envp
- STMFD R12<,{R11}
- ADR R11,argv
- LDR R11,[R11]
- STMFD R12<,{R11}
- ADR R11, argc
- LDR R11,[R11]
- STMFD R12<,{R11}
- BAL.L __m_a_i_n
- MOV R11,#0
- STMFD R12<,{R11}
- MOV R11,#1
- STMFD R12<,{R11}
- BAL.L _EmMon
-
-.sect .bss
-begbss:
-.sect .data
-begdat:
-hol0:
- .data4 0
- .data4 0
-argv:
- .data4 0
-envp:
- .data4 0
-argc:
-.data4 0
-2:
- .asciz 'PROGRAM'
- .align
-_RegHp:
- .data4 _endbss
-_Lineno:
- .data4 0
-_Filna:
- .data4 0
-_IgnoreMask:
- .data4 0
-_TrpReg:
- .data4 0
-_incptflag:
-.data4 0
-
+++ /dev/null
-EMHOME=../../..
-SUF=so
-MAKEFILE=$(EMHOME)/mach/proto/fp/Makefile
-MACHDEF="MACH=arm" "CFLAGS=-DUSE_DIVIDE" "SUF=$(SUF)" "ASAR=arch"
-
-all:
- make -f $(MAKEFILE) $(MACHDEF) all
-
-install:
- make -f $(MAKEFILE) $(MACHDEF) install
-
-cmp: all
- -../../compare FP_$(MACH).a tail_fp
-
-clean:
- make -f $(MAKEFILE) $(MACHDEF) clean
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-all:
-
-install:
- ../../install libros_s.a tail_ros
-
-cmp:
- -../../compare libros_s.a tail_ros
-
-clean:
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libros_s.a | pr -h `pwd`/libros_s.a
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-LIBS=$(EMHOME)/modules/lib/libstring.a
-PREFLAGS=-I.
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-CDIR=$(EMHOME)/mach/proto/top
-CFILES=$(CDIR)/top.c $(CDIR)/queue.c
-OFILES=top.o queue.o
-
-all: gen.c
- make top
-
-top: $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
-
-top.o: $(CDIR)/top.c gen.c
- $(CC) -c $(CFLAGS) $(CDIR)/top.c
-
-queue.o: $(CDIR)/queue.c
- $(CC) -c $(CFLAGS) $(CDIR)/queue.c
-
-install: all
- $(EMHOME)/mach/install top
-
-cmp: all
- -$(EMHOME)/mach/compare top
-
-gen.c: table
- $(EMHOME)/lib/topgen table
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-
-clean:
- rm -f *.o gen.c gen.h top
-
-top.o: gen.h
-top.o: $(CDIR)/top.h
-top.o: $(CDIR)/queue.h
-queue.o: $(CDIR)/queue.h
+++ /dev/null
-case $# in
-1) DEST="$1" ;;
-2) DEST="$2" ;;
-*) echo $0 [source] destination ;;
-esac
-MACH=`(cd .. ; basename \`pwd\`)`
-cmp "$1" ../../../lib/${MACH}/$DEST
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-EMHOME = ../../..
-CEG = $(EMHOME)/lib/ceg/util
-OBJ = obj
-
-all:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ)
-
-install:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) install
-
-cmp:
- -make -f $(CEG)/make_asobj "OBJ="$(OBJ) cmp
-
-pr:
- @pr Makefile EM_table mach.h mach.c as_table as.h as.c
-
-opr:
- make pr | opr
-
-# total cleanup
-clean:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) clean
-
-# only remove ce, ceg, and back directories
-dclean:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) dclean
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- -../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=i386
-
-all: libem_o.a end.o
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.o end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.o end_em
-
-
-end.o: end.s
- $(MACH) -I../../../h -O -c end.s
-
-libem_o.a: libem_s.a
- ASAR=aal ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/end.s
+++ /dev/null
-if i386 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- ! $Header$
- .sect .text
-endtext:
-_etext:
- .align 4
- .sect .data
-enddata:
-_edata:
- .align 4
-.sect .endsect
-_end:
-endbss:
- .align 4
+++ /dev/null
-.define .adf4, .adf8, .sbf4, .sbf8, .mlf4, .mlf8, .dvf4, .dvf8
-.define .ngf4, .ngf8, .fif4, .fif8, .fef4, .fef8
-.define .cif4, .cif8, .cuf4, .cuf8, .cfi, .cfu, .cff4, .cff8
-.define .cmf4, .cmf8
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
-! $Header$
-
- .sect .text
-.adf4:
-.adf8:
-.sbf4:
-.sbf8:
-.mlf4:
-.mlf8:
-.dvf4:
-.dvf8:
-.ngf4:
-.ngf8:
-.fif4:
-.fif8:
-.fef4:
-.fef8:
-.cif4:
-.cif8:
-.cuf4:
-.cuf8:
-.cfi:
-.cfu:
-.cff4:
-.cff8:
-.cmf4:
-.cmf8:
- mov eax,18 ! illegal instruction EILLINS
- jmp .trp
+++ /dev/null
-.define .sdret, .dsret, .sret, .dret, .cret
-.sect .text
-
-.dsret:
- pop edi
-.sret:
- pop esi
-.cret:
- mov esp,ebp
- pop ebp
- ret
-
-.sdret:
- pop esi
-.dret:
- pop edi
- jmp .cret
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.sect .text
-.define .stop
-.stop:
- jmp __exit
+++ /dev/null
-EMHOME=../../..
-SUF=o
-MAKEFILE=$(EMHOME)/mach/proto/fp/Makefile
-MACHDEF="MACH=i386" "CFLAGS=-DUSE_DIVIDE" "SUF=$(SUF)" "ASAR=aal"
-
-all:
- make -f $(MAKEFILE) $(MACHDEF) all
-
-install:
- make -f $(MAKEFILE) $(MACHDEF) install
-
-cmp: all
- -../../compare FP_$(MACH).a tail_fp
-
-clean:
- make -f $(MAKEFILE) $(MACHDEF) clean
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-# $Header$
-MACH=i386
-all: libmon_o.a head_em.o
-
-install: all
- ../../install libmon_o.a tail_mon
- ../../install head_em.o head_em
-
-cmp: all
- -../../compare libmon_o.a tail_mon
- -../../compare head_em.o head_em
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -O -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __pipe
-.sect .text
-__pipe:
- mov ax,42
- callf 0x7:0x0
- jae 1f
- jmp cerror
-1:
- shl dx,0x10
- or eax,edx
- ret
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __profil
-.sect .text
-__profil:
- mov ax,44
- jmp syscal
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __stime
-.sect .text
-__stime:
- mov ax,25
- jmp sysx
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __time
-.sect .text
-__time:
- mov ax,13
- jmp syscal
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __wait
-.sect .text
-__wait:
- mov ax,7
- callf 0x7:0x0
- jb 1f
- shl dx,0x10
- or eax,edx
- ret
-1:
- jmp cerror
+++ /dev/null
-if i386 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-EMHOME=../../..
-OBJLIB=$(EMHOME)/modules/lib/libobject.a
-
-head: mccpm nascom
-
-mccpm: mccpm.c
- $(CC) -I$(EMHOME)/h -o mccpm mccpm.c $(OBJLIB)
-
-nascom: nascom.c
- $(CC) -I$(EMHOME)/h -o nascom nascom.c $(OBJLIB)
-
-install: head
- @echo Nothing is installed
-
-cmp: head
- @echo Nothing is compared
-
-clean:
- rm -f *.o
-
-pr:
- @pr `pwd`/Makefile `pwd`/mccpm.c `pwd`/nascom.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=i80
-all: libem_o.a end.o
-
-install: all
- ../../install end.o end_em
- ../../install libem_o.a tail_em
-
-
-cmp: all
- -../../compare end.o end_em
- -../../compare libem_o.a tail_em
-
-libem_o.a: libem_s.a
- ASAR=aal ; export ASAR ;\
- march . libem_o.a
-
-end.o: end.s
- $(MACH) -I../../../h -c end.s
-
-clean:
- rm -f *.o libem_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/end.s
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
+++ /dev/null
-if i80 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- ! $Header$
- .sect .text
-endtext:
-_etext:
- .align 2
- .sect .data
-enddata:
-_edata:
- .align 2
-.sect .endsect
-_end:
-endbss:
- .align 2
+++ /dev/null
-# $Header$
-MACH=i80
-all: libsys_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libsys_o.a tail_sys
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libsys_o.a tail_sys
-
-libsys_o.a: libsys_s.a
- ASAR=aal ; export ASAR ;\
- march . libsys_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libsys_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libsys_s.a | pr -h `pwd`/libsys_s.a
+++ /dev/null
-if i80 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define hol0, argv, envp, begbss
-.define .ignmask,.reghp,.trapproc,.fra
-.define .retadr,.retadr1,.areg,.bcreg,.tmp1
-.define block1, block2, block3
-.define .stop
-
- .base 0x1000
-.text
- lxi h,0x1000 ! stack will grow from 0x1000 downwards
- sphl
- lxi h,begbss ! clear bss
- lxi d,endbss-begbss
- mvi c,0
-
-2: mov m,c
- inx h
- dcx d
- mov a,e
- ora d
- jnz 2b
-
- lxi h,envp ! call main
- push h
- lxi h,argv
- push h
- lxi h,0
- push h
- call _m_a_i_n
-.stop: jmp 0xfb52
-
-.bss
-begbss:
-.trapproc: .space 2
-.ignmask: .space 2
-.data
-hol0: .space 8
-.reghp: .word endbss
-argv: .word 0
-envp: .word 0
-.retadr: .space 2 ! used to save return address
-.retadr1: .space 2 ! reserve
-.bcreg: .space 2 ! used to save localbase
-.areg: .space 1
-.tmp1: .space 2
-.fra: .space 8 ! 8 bytes function return area
-block1: .space 4 ! used by 32 bits divide and
-block2: .space 4 ! multiply routines
-block3: .space 4
-
+++ /dev/null
-.define endtext, enddata, endbss
-.text
-endtext: .align 2
-.data
-enddata: .align 2
-.bss
-endbss: .align 2
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-The mach?.c files in this directory were made for an earlier version of
-the universal assembler and are too dependent on its innards.
-I have no idea in what way they should be changed.
-
- Duk Bekema
-
-I adapted them to the new framework. It appears to work now.
-
- Ceriel Jacobs
+++ /dev/null
-EMHOME = ../../..
-CEG = $(EMHOME)/lib/ceg/util
-OBJ = obj
-
-all:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ)
-
-install:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) install
-
-cmp:
- -make -f $(CEG)/make_asobj "OBJ="$(OBJ) cmp
-
-pr:
- @pr Makefile EM_table mach.h mach.c as_table as.h as.c
-
-opr:
- make pr | opr
-
-# total cleanup
-clean:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) clean
-
-# only remove ce, ceg, and back directories
-dclean:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) dclean
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- ../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=i86
-
-all: libem_o.a end.o
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.o end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.o end_em
-
-
-end.o: end.s
- $(MACH) -I../../../h -O -c end.s
-
-libem_o.a: libem_s.a
- ASAR=aal ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/end.s
+++ /dev/null
-if i86 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- ! $Header$
- .sect .text
-endtext:
-_etext:
- .align 2
- .sect .data
-enddata:
-_edata:
- .align 2
-.sect .endsect
-_end:
-endbss:
- .align 2
+++ /dev/null
-.define .adf4, .adf8, .sbf4, .sbf8, .mlf4, .mlf8, .dvf4, .dvf8
-.define .ngf4, .ngf8, .fif4, .fif8, .fef4, .fef8
-.define .cif4, .cif8, .cuf4, .cuf8, .cfi, .cfu, .cff4, .cff8
-.define .cmf4, .cmf8
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
-! $Header$
-
- .sect .text
-.adf4:
-.adf8:
-.sbf4:
-.sbf8:
-.mlf4:
-.mlf8:
-.dvf4:
-.dvf8:
-.ngf4:
-.ngf8:
-.fif4:
-.fif8:
-.fef4:
-.fef8:
-.cif4:
-.cif8:
-.cuf4:
-.cuf8:
-.cfi:
-.cfu:
-.cff4:
-.cff8:
-.cmf4:
-.cmf8:
- mov ax,18 ! illegal instruction EILLINS
- jmp .trp
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.sect .text
-.define printf
-.extern printc, printd, prints
-
-printf:
- pop bx ! return address
- xchg ax,di
- mov si,sp
-1:
- movb al,(di)
- inc di
- testb al,al
- jz 6f
- cmpb al,'%'
- je 3f
-2:
- call printc
- jmp 1b
-3:
- movb al,(di)
- inc di
- cmpb al,'c'
- jne 4f
- lods
- jmp 2b
-4:
- cmpb al,'d'
- jne 5f
- lods
- call printd
- jmp 1b
-5:
- cmpb al,'s'
- jne 2b
- lods
- call prints
- jmp 1b
-6:
- jmp bx
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.sect .text
-.define .stop
-.stop:
- int 3
+++ /dev/null
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- ! $Header$
- .text
-endtext:
-_etext:
- .align 2
- .data
-enddata:
-_edata:
- .align 2
- .bss
-_end:
-endbss:
- .align 2
+++ /dev/null
-EMHOME=../../..
-SUF=o
-MAKEFILE=$(EMHOME)/mach/proto/fp/Makefile
-MACHDEF="MACH=i86" "SUF=$(SUF)" "ASAR=aal"
-
-all:
- make -f $(MAKEFILE) $(MACHDEF) all
-
-install:
- make -f $(MAKEFILE) $(MACHDEF) install
-
-cmp: all
- -../../compare FP_$(MACH).a tail_fp
-
-clean:
- make -f $(MAKEFILE) $(MACHDEF) clean
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-# $Header$
-MACH=i86
-all: libmon_o.a head_em.o
-
-install: all
- ../../install libmon_o.a tail_mon
- ../../install head_em.o head_em
-
-cmp: all
- -../../compare libmon_o.a tail_mon
- -../../compare head_em.o head_em
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -O -c head_em.s
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if i86 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-case $# in
-1) DEST="$1" ;;
-2) DEST="$2" ;;
-*) echo $0 [source] destination ;;
-esac
-MACH=`(cd .. ; basename \`pwd\`)`
-mkdir ../../../lib/$MACH >/dev/null 2>&1
-if cp "$1" ../../../lib/${MACH}/$DEST >/dev/null 2>&1 ||
- { rm -f ../../../lib/${MACH}/$DEST >/dev/null 2>&1 &&
- cp "$1" ../../../lib/${MACH}/$DEST >/dev/null 2>&1
- }
-then
- if (ar t ../../../lib/${MACH}/$DEST | grep __.SYMDEF ) >/dev/null 2>&1
- then
- ranlib ../../../lib/${MACH}/$DEST
- fi
- exit 0
-else
- echo Sorry, can not create "lib/${MACH}/$DEST".
- exit 1
-fi
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-EMHOME = ../../..
-CEG = $(EMHOME)/lib/ceg/util
-OBJ = obj
-
-all:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ)
-
-install:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) install
-
-cmp:
- -make -f $(CEG)/make_asobj "OBJ="$(OBJ) cmp
-
-pr:
- @pr Makefile EM_table mach.h mach.c as_table as.h as.c
-
-opr:
- make pr | opr
-
-# total cleanup
-clean:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) clean
-
-# only remove ce, ceg, and back directories
-dclean:
- make -f $(CEG)/make_asobj "OBJ="$(OBJ) dclean
+++ /dev/null
-CFLAGS=-O -I../../../h
-LDFLAGS =
-
-cv: cv.o
- $(CC) -o cv $(LDFLAGS) cv.o
-
-install: ins_cv
-ins_cv: cv
- ../../install cv
-
-cmp: cmp_cv
-cmp_cv: cv
- -../../compare cv
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/cv.c
-
-clean:
- -rm -f *.o *.old cv
+++ /dev/null
-# $Header$
-MACH=m68020
-ASAR=aal
-all: libem_o.a end.a
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.a end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.a end_em
-
-end.a: em_end.s etext.s edata.s end.s
- $(MACH) -I../../../h -c em_end.s
- $(MACH) -I../../../h -c edata.s
- $(MACH) -I../../../h -c etext.s
- $(MACH) -I../../../h -c end.s
- $(ASAR) cr end.a em_end.o etext.o edata.o end.o
-
-libem_o.a: libem_s.a
- ASAR=$(ASAR) ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a end.a
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/em_end.s `pwd`/edata.s `pwd`/etext.s `pwd`/end.s
-
-trpstr.s: trpstr.c strscript
- sh strscript
-
-distr: trpstr.s
+++ /dev/null
-if m68020 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _edata
-.sect .data
- .align 4
- .sect .data
-_edata:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define endtext,enddata,endbss,__end
-.sect .text
- .align 4
-.sect .rom
- .align 4
-.sect .data
- .align 4
-.sect .bss
- .align 4
-.sect .end ! only for declaration of _end, __end and endbss.
-
- .sect .text
-endtext:
- .sect .data
-enddata:
- .sect .end
-__end:
-endbss:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _end
-.sect .end ! only for declaration of _end, __end and endbss.
-_end:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _etext
-.sect .text
- .align 4
- .sect .text
-_etext:
+++ /dev/null
-.define .adf4, .adf8, .sbf4, .sbf8, .mlf4, .mlf8, .dvf4, .dvf8
-.define .ngf4, .ngf8, .fif4, .fif8, .fef4, .fef8
-.define .cif4, .cif8, .cuf4, .cuf8, .cfi, .cfu, .cff4, .cff8
-.define .cmf4, .cmf8
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
-! $Header$
-
- .sect .text
-.adf4:
-.adf8:
-.sbf4:
-.sbf8:
-.mlf4:
-.mlf8:
-.dvf4:
-.dvf8:
-.ngf4:
-.ngf8:
-.fif4:
-.fif8:
-.fef4:
-.fef8:
-.cif4:
-.cif8:
-.cuf4:
-.cuf8:
-.cfi:
-.cfu:
-.cff4:
-.cff8:
-.cmf4:
-.cmf8:
- move.l #18,-(sp)
- jsr (.trp)
- rts
+++ /dev/null
-.define _printf, _putchar, _getal, _char
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .bss
-_getal:
- .space 12
-_char:
- .space 1
- .align 4
-.sect .data
-hexs:
- .ascii "0123456789abcdef"
- .align 4
-.sect .text
-_printf:
- movem.l d0/d1/d2/a0/a1/a2/a3/a4/a5/a6, -(sp)
- lea (44, sp), a6 ! a6 <- address of arguments
- move.l (a6)+, a5 ! a5 <- address of format
-next: move.b (a5)+, d0
- beq out
- cmp.b #'%', d0
- beq procnt
-put: move.l d0, -(sp)
- jsr (_putchar) ! long argument on stack
- tst.l (sp)+
- bra next
-
-procnt: move.b (a5)+, d0
- cmp.b #'d', d0 ! NOTE: %d means unsigned.
- beq digit
- cmp.b #'x', d0
- beq hex
- cmp.b #'s', d0
- beq string
- cmp.b #'%', d0 ! second % has to be printed.
- beq put
- tst.b -(a5) ! normal char should be printed
- bra next
-
-string: move.l (a6)+, a2 ! a2 <- address of string
-sloop: move.b (a2)+, d0
- beq next
- move.l d0, -(sp)
- jsr (_putchar) ! long argument on stack
- tst.l (sp)+
- bra sloop
-
-digit: move.l (a6)+, d1 ! d1 <- integer
- move.l #_getal+12, a2 ! a2 <- ptr to last part of buf
- clr.b -(a2) ! stringterminator
-1: divul.l #10, d2:d1 ! d1 <- qotient; d2 <- remainder
- add.l #'0', d2
- move.b d2, -(a2)
- tst.l d1 ! if quotient = 0 then ready
- bne 1b
- bra sloop ! print digitstring.
-
-hex: move.l (a6)+, d1 ! d1 <- integer
- move.l #_getal+12, a2 ! a2 <- ptr to last part of buf
- clr.b -(a2) ! stringterminator
- move.l #7, d2 ! loop control
-1: move.l d1, d0
- and.l #15, d0
- move.b (hexs,d0.w), -(a2) ! hex digit
- asr.l #4, d1
- dbf d2, 1b
- bra sloop
-
-out:
- movem.l (sp)+, d0/d1/d2/a0/a1/a2/a3/a4/a5/a6
- rts
-
-
-_putchar:
- move.l #1, -(sp)
- pea (11,sp)
- move.l #1, -(sp)
- jsr (_write)
- lea (12, sp), sp
- rts
-.align 2
+++ /dev/null
-m68020 -c.s -L -LIB -I../../../h trpstr.c
-sed s/_trpstr/.trpstr/g < trpstr.s > trpstr.ss
-mv trpstr.ss trpstr.s
+++ /dev/null
-EMHOME=../../..
-SUF=o
-MAKEFILE=$(EMHOME)/mach/proto/fp/Makefile
-MACHDEF="MACH=m68020" "CFLAGS=-DUSE_DIVIDE" "SUF=$(SUF)" "ASAR=aal"
-
-all:
- make -f $(MAKEFILE) $(MACHDEF) all
-
-install:
- make -f $(MAKEFILE) $(MACHDEF) install
-
-cmp: all
- -../../compare FP_$(MACH).a tail_fp
-
-clean:
- make -f $(MAKEFILE) $(MACHDEF) clean
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-# $Header$
-MACH=m68020
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if m68020 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-LIBS=$(EMHOME)/modules/lib/libstring.a
-PREFLAGS=-I.
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-CDIR=$(EMHOME)/mach/proto/top
-CFILES=$(CDIR)/top.c $(CDIR)/queue.c
-OFILES=top.o queue.o
-
-all: gen.c
- make top
-
-top: $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
-
-top.o: $(CDIR)/top.c gen.c
- $(CC) -c $(CFLAGS) $(CDIR)/top.c
-
-queue.o: $(CDIR)/queue.c
- $(CC) -c $(CFLAGS) $(CDIR)/queue.c
-
-install: all
- $(EMHOME)/mach/install top
-
-cmp: all
- -$(EMHOME)/mach/compare top
-
-gen.c: table
- $(EMHOME)/lib/topgen table
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-
-clean:
- rm -f *.o gen.c gen.h top
-
-top.o: gen.h
-top.o: $(CDIR)/top.h
-top.o: $(CDIR)/queue.h
-queue.o: $(CDIR)/queue.h
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-/* $Header$ */
-/*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
-/* #define NOFLOAT /* define when not using fpp simulator */
+++ /dev/null
-CFLAGS=-I../../../h -O
-LDFLAGS =
-
-cv: cv.o
- $(CC) -o cv $(LDFLAGS) cv.o
-
-install: ins_cv
-ins_cv: cv
- ../../install cv
-
-cmp: cmp_cv
-cmp_cv: cv
- -../../compare cv
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/cv.c
-
-clean:
- -rm -f *.o *.old cv
+++ /dev/null
-EMHOME=../../..
-OBJLIB=$(EMHOME)/modules/lib/libobject.a
-
-head: dl
-
-dl: dl.c
- $(CC) -I$(EMHOME)/h -o dl dl.c $(OBJLIB)
-
-install: head
- @echo Nothing is installed
-
-cmp: head
- @echo Nothing is compared
-
-clean:
- rm -f *.o
-
-pr:
- @pr `pwd`/Makefile `pwd`/dl.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=m68k2
-ASAR=aal
-all: libem_o.a end.a
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.a end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.a end_em
-
-end.a: em_end.s etext.s edata.s end.s
- $(MACH) -I../../../h -c em_end.s
- $(MACH) -I../../../h -c edata.s
- $(MACH) -I../../../h -c etext.s
- $(MACH) -I../../../h -c end.s
- $(ASAR) cr end.a em_end.o etext.o edata.o end.o
-
-libem_o.a: libem_s.a
- ASAR=$(ASAR) ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a end.a
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/em_end.s `pwd`/edata.s `pwd`/etext.s `pwd`/end.s
+++ /dev/null
-if m68k2 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define .cfi,.cif,.cfu,.cuf,.cff
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
- .sect .text
-
- ! this is a dummy float conversion routine
-.cfi:
-.cif:
-.cfu:
-.cuf:
-.cff:
- move.l (sp)+,a0 ! return address
- move (sp)+,d0 ! destination size
- sub (sp)+,d0 ! diff. in sizes
- sub d0,sp
- jmp (a0)
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _edata
-.sect .data
- .align 4
- .sect .data
-_edata:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define endtext,enddata,endbss,__end
-.sect .text
- .align 4
-.sect .rom
- .align 4
-.sect .data
- .align 4
-.sect .bss
- .align 4
-.sect .end ! only for declaration of _end, __end and endbss.
-
- .sect .text
-endtext:
- .sect .data
-enddata:
- .sect .end
-__end:
-endbss:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _end
-.sect .end ! only for declaration of _end, __end and endbss.
-_end:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _etext
-.sect .text
- .align 4
- .sect .text
-_etext:
+++ /dev/null
-.define .adf4, .adf8, .sbf4, .sbf8, .mlf4, .mlf8, .dvf4, .dvf8
-.define .ngf4, .ngf8, .fif4, .fif8, .fef4, .fef8
-.define .cif4, .cif8, .cuf4, .cuf8, .cfi, .cfu, .cff4, .cff8
-.define .cmf4, .cmf8
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
-! $Header$
-
- .sect .text
-.adf4:
-.adf8:
-.sbf4:
-.sbf8:
-.mlf4:
-.mlf8:
-.dvf4:
-.dvf8:
-.ngf4:
-.ngf8:
-.fif4:
-.fif8:
-.fef4:
-.fef8:
-.cif4:
-.cif8:
-.cuf4:
-.cuf8:
-.cfi:
-.cfu:
-.cff4:
-.cff8:
-.cmf4:
-.cmf8:
- move.w #18,-(sp)
- jsr .trp
- rts
+++ /dev/null
-.define _printn
-.define _printf
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-_putchar:
- move.w #1,-(sp)
- pea 7(sp)
- move.w #1,-(sp)
- jsr _write
- add.l #8,sp
- rts
-_printf:
- link a6,#-12
-.sect .data
-_12:
- .data2 28786
- .data2 26990
- .data2 29798
- .data2 11875
- .data2 0
-.sect .text
- pea 8+4(a6)
- move.l (sp)+,-6(a6)
-I004:
- move.l 8+0(a6),-(sp)
- move.l (sp),-(sp)
- move.l (sp)+,a0
- add #1,a0
- move.l a0,-(sp)
- move.l (sp)+,8+0(a6)
- move.l (sp)+,a0
- clr d0
- move.b (a0),d0
- move.w d0,-(sp)
- move.w (sp),-(sp)
- move.w (sp)+,-2(a6)
- move.w #37,-(sp)
- move.w (sp)+,d0
- cmp (sp)+,d0
- beq I005
- move.w -2(a6),-(sp)
- tst (sp)+
- beq I002
- move.w -2(a6),-(sp)
- jsr _putchar
- add #2,sp
- jmp I004
-I005:
- move.l 8+0(a6),-(sp)
- move.l (sp),-(sp)
- move.l (sp)+,a0
- add #1,a0
- move.l a0,-(sp)
- move.l (sp)+,8+0(a6)
- move.l (sp)+,a0
- clr d0
- move.b (a0),d0
- move.w d0,-(sp)
- move.w (sp)+,-2(a6)
- move.w -2(a6),-(sp)
- move.w #100,-(sp)
- move.w (sp)+,d0
- cmp (sp)+,d0
- beq I008
- move.w -2(a6),-(sp)
- move.w #117,-(sp)
- move.w (sp)+,d0
- cmp (sp)+,d0
- bne I007
-I008:
- move.l -6(a6),-(sp)
- move.l (sp)+,a0
- add #2,a0
- move.l a0,-(sp)
- move.l (sp),-(sp)
- move.l (sp)+,-6(a6)
- move.l (sp)+,a0
- move.w -2(a0),-(sp)
- move.w (sp)+,-8(a6)
- move.w -2(a6),-(sp)
- move.w #100,-(sp)
- move.w (sp)+,d0
- cmp (sp)+,d0
- bne I009
- move.w -8(a6),-(sp)
- tst (sp)+
- bge I009
- move.w #0,-(sp)
- move.w -8(a6),-(sp)
- move.w (sp)+,d0
- move.w (sp)+,d1
- sub d0,d1
- move.w d1,-(sp)
- move.w (sp)+,-8(a6)
- move.w #45,-(sp)
- jsr _putchar
- add #2,sp
-I009:
- move.w -8(a6),-(sp)
- jsr _printn
- add #2,sp
- jmp I004
-I007:
- move.w -2(a6),-(sp)
- move.w #115,-(sp)
- move.w (sp)+,d0
- cmp (sp)+,d0
- bne I004
- move.l -6(a6),-(sp)
- move.l (sp)+,a0
- add #4,a0
- move.l a0,-(sp)
- move.l (sp),-(sp)
- move.l (sp)+,-6(a6)
- move.l (sp)+,a0
- move.l -4(a0),-(sp)
- move.l (sp)+,-12(a6)
-I00c:
- move.l -12(a6),-(sp)
- move.l (sp),-(sp)
- move.l (sp)+,a0
- add #1,a0
- move.l a0,-(sp)
- move.l (sp)+,-12(a6)
- move.l (sp)+,a0
- clr d0
- move.b (a0),d0
- move.w d0,-(sp)
- move.w (sp),-(sp)
- move.w (sp)+,-2(a6)
- tst (sp)+
- beq I004
- move.w -2(a6),-(sp)
- jsr _putchar
- add #2,sp
- jmp I00c
-I002:
- unlk a6
- rts
-_printn:
- link a6,#-2
-.sect .data
-_15:
- .data2 12337
- .data2 12851
- .data2 13365
- .data2 13879
- .data2 14393
- .data2 0
-.sect .text
- move.w 8+0(a6),-(sp)
- move.w #10,-(sp)
- move.w (sp)+,d0
- clr.l d1
- move.w (sp)+,d1
- divu d0,d1
- move.w d1,-(sp)
- move.w (sp),-(sp)
- move.w (sp)+,-2(a6)
- tst (sp)+
- beq I013
- move.w -2(a6),-(sp)
- jsr _printn
- add #2,sp
-I013:
- pea _15
- move.w 8+0(a6),-(sp)
- move.w #10,-(sp)
- move.w (sp)+,d0
- clr.l d1
- move.w (sp)+,d1
- divu d0,d1
- swap d1
- move.w d1,-(sp)
- move.w (sp)+,d0
- ext.l d0
- add.l (sp)+,d0
- move.l d0,-(sp)
- move.l (sp)+,a0
- clr d0
- move.b (a0),d0
- move.w d0,-(sp)
- jsr _putchar
- add #2,sp
- unlk a6
- rts
+++ /dev/null
-EMHOME=../../..
-SUF=o
-MAKEFILE=$(EMHOME)/mach/proto/fp/Makefile
-MACHDEF="MACH=m68k2" "SUF=$(SUF)" "ASAR=aal"
-
-all:
- make -f $(MAKEFILE) $(MACHDEF) all
-
-install:
- make -f $(MAKEFILE) $(MACHDEF) install
-
-cmp: all
- -../../compare FP_$(MACH).a tail_fp
-
-clean:
- make -f $(MAKEFILE) $(MACHDEF) clean
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-# $Header$
-MACH=m68k2
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -c -I../../../h head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if m68k2 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-TABLE = mach/m68020/ncg/table
+++ /dev/null
-EMHOME=../../..
-LIBS=$(EMHOME)/modules/lib/libstring.a
-PREFLAGS=-I.
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-CDIR=$(EMHOME)/mach/proto/top
-CFILES=$(CDIR)/top.c $(CDIR)/queue.c
-OFILES=top.o queue.o
-
-all: gen.c
- make top
-
-top: $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
-
-top.o: $(CDIR)/top.c gen.c
- $(CC) -c $(CFLAGS) $(CDIR)/top.c
-
-queue.o: $(CDIR)/queue.c
- $(CC) -c $(CFLAGS) $(CDIR)/queue.c
-
-install: all
- $(EMHOME)/mach/install top
-
-cmp: all
- -$(EMHOME)/mach/compare top
-
-gen.c: table
- $(EMHOME)/lib/topgen table
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-
-clean:
- rm -f *.o gen.c gen.h top
-
-top.o: gen.h
-top.o: $(CDIR)/top.h
-top.o: $(CDIR)/queue.h
-queue.o: $(CDIR)/queue.h
+++ /dev/null
-# $Header$
-MACH=m68k4
-ASAR=aal
-all: libem_o.a end.a
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.a end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.a end_em
-
-end.a: em_end.s etext.s edata.s end.s
- $(MACH) -I../../../h -c em_end.s
- $(MACH) -I../../../h -c edata.s
- $(MACH) -I../../../h -c etext.s
- $(MACH) -I../../../h -c end.s
- $(ASAR) cr end.a em_end.o etext.o edata.o end.o
-
-libem_o.a: libem_s.a
- ASAR=$(ASAR) ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a end.a
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/em_end.s `pwd`/edata.s `pwd`/etext.s `pwd`/end.s
+++ /dev/null
-.define .outch1,.outch2,.inch1,.inch2
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
- ! a0,d0 used
- ! character in d1
-
- .sect .text
-.inch1:
- move.l #acia1,a0
- bra .inch
-.inch2:
- move.l #acia2,a0
-.inch:
- move.b (a0),d1
- asr #1,d1
- bcc .inch
- move.b 2(a0),d1
- and #0x7f,d1
- rts
-
-.outch1:
- move.l #acia1,a0
- bra .outch
-.outch2:
- move.l #acia2,a0
-.outch:
- move.b (a0),d0
- asr #2,d0
- bcc .outch
- move.b d1,2(a0)
- rts
-
-.align 2
+++ /dev/null
-.define .sar
-.define .lar
-.define .aar
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
- !register usage:
- ! a0 : descriptor address
- ! d0 : index
- ! a1 : base address
- .sect .text
-.aar:
- move.l 4(sp),a0 ! descriptor address
- move.l 8(sp),d0 ! index
- sub.l (a0),d0 ! index - lower bound : relative index
- move.l 8(a0),-(sp) ! # bytes / element
- move.l d0,-(sp)
- jsr .mlu
- move.l 12(sp),a1 ! base address
- add.l d1,a1 ! address of element
- move.l (sp)+,a0 ! return address
- add.l #8,sp ! pop arguments
- move.l a1,(sp) ! returned on stack
- jmp (a0)
-
-.lar:
- ! register usage: like .aar
-
- move.l 4(sp),a0
- move.l 8(sp),d0
- move.l 12(sp),a1
- sub.l (a0),d0
- move.l d0,-(sp)
- move.l 8(a0),-(sp)
- jsr .mlu
- move.l 12(sp),a1
- move.l 4(sp),a0
- add.l d1,a1 ! address of element
- move.l 8(a0),d0
- add.l d0,a1 ! a1++ because of predecrement
- move.l (sp)+,a0 ! return address
- add.l #12,sp ! pop parameters
- clr.l d1 !?nodig?
- asr #1,d0
- bne 3f
- move.b -(a1),d1 ! 1 byte element
- move.l d1,-(sp)
- bra 5f
-3:
- asr #1,d0
- bne 4f
- move.w -(a1),d1 ! 2 byte element
- move.l d1,-(sp)
- bra 5f
-4:
- sub.l #1,d0
-1:
- move.l -(a1),-(sp) ! 4n byte element (n = 1,2,...)
- dbf d0,1b
-5:
- jmp (a0)
-
-.sar:
- !register usage: same as lar
-
- move.l 4(sp),a0
- move.l 8(sp),d0
- move.l 12(sp),a1
- sub.l (a0),d0
- move.l d0,-(sp)
- move.l 8(a0),-(sp)
- jsr .mlu
- move.l 12(sp),a1
- move.l 4(sp),a0
- add.l d1,a1
- move.l 8(a0),d0 ! # bytes / element
- move.l (sp)+,a0 ! return address
- add.l #12,sp ! pop parameters
- clr.l d1 !?nodig?
- asr #1,d0
- bne 3f
- move.l (sp)+,d1
- move.b d1,(a1) ! 1 byte element
- bra 4f
-3:
- asr #1,d0
- bne 5f
- move.l (sp)+,d1
- move.w d1,(a1) ! 2 byte element
- bra 4f
-5:
- sub.l #1,d0
-1:
- move.l (sp)+,(a1)+ ! 4n byte element (n = 1,2,...)
- dbf d0,1b
-4:
- jmp (a0)
-
-.align 2
+++ /dev/null
-.define .sari
-.define .lari
-.define .aari
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
- .sect .text
-.aari:
- move.l (sp)+,d0 ! return address
- cmp.l #4, (sp)+ ! size of descriptor elements
- bne 9f
- move.l d0,-(sp)
- jmp .aar
-
-
-.lari:
- move.l (sp)+,d0 ! return address
- cmp.l #4, (sp)+ ! size of descriptor elements
- bne 9f
- move.l d0,-(sp)
- jmp .lar
-9:
- move.w #EILLINS,-(sp)
- jmp .fat
-
-
-.sari:
- move.l (sp)+,d0 ! return address
- cmp.l #4, (sp)+ ! size of descriptor elements
- bne 9b
- move.l d0,-(sp)
- jmp .sar
-
-.align 2
+++ /dev/null
-if m68k4 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define .cfi,.cif,.cfu,.cuf,.cff
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
- .sect .text
-
- ! this is a dummy float conversion routine
-.cfi:
-.cif:
-.cfu:
-.cuf:
-.cff:
- move.l (sp)+,a0 ! return address
- move (sp)+,d0 ! destination size
- sub (sp)+,d0 ! diff. in sizes
- sub d0,sp
- jmp (a0)
-
-.align 2
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _edata
-.sect .data
- .align 4
- .sect .data
-_edata:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define endtext,enddata,endbss,__end
-.sect .text
- .align 4
-.sect .rom
- .align 4
-.sect .data
- .align 4
-.sect .bss
- .align 4
-.sect .end ! only for declaration of _end, __end and endbss.
-
- .sect .text
-endtext:
- .sect .data
-enddata:
- .sect .end
-__end:
-endbss:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _end
-.sect .end ! only for declaration of _end, __end and endbss.
-_end:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _etext
-.sect .text
- .align 4
- .sect .text
-_etext:
+++ /dev/null
-.define .adf4, .adf8, .sbf4, .sbf8, .mlf4, .mlf8, .dvf4, .dvf8
-.define .ngf4, .ngf8, .fif4, .fif8, .fef4, .fef8
-.define .cif4, .cif8, .cuf4, .cuf8, .cfi, .cfu, .cff4, .cff8
-.define .cmf4, .cmf8
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-
-! $Header$
-
- .sect .text
-.adf4:
-.adf8:
-.sbf4:
-.sbf8:
-.mlf4:
-.mlf8:
-.dvf4:
-.dvf8:
-.ngf4:
-.ngf8:
-.fif4:
-.fif8:
-.fef4:
-.fef8:
-.cif4:
-.cif8:
-.cuf4:
-.cuf8:
-.cfi:
-.cfu:
-.cff4:
-.cff8:
-.cmf4:
-.cmf8:
- move.l #18,-(sp)
- jsr .trp
- rts
+++ /dev/null
-.define _printf
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .bss
-_getal:
- .space 12
-_char:
- .space 1
- .align 4
-.sect .data
-hexs:
- .ascii "0123456789abcdef"
- .align 4
-.sect .text
-_printf:
- movem.l d0/d1/d2/a0/a1/a2/a3/a4/a5/a6, -(sp)
- lea 44(sp), a6 ! a6 <- address of arguments
- move.l (a6)+, a5 ! a5 <- address of format
-next: move.b (a5)+, d0
- beq out
- cmp.b #'%', d0
- beq procnt
-put: move.l d0, -(sp)
- jsr _putchar ! long argument on stack
- tst.l (sp)+
- bra next
-
-procnt: move.b (a5)+, d0
- cmp.b #'d', d0 ! NOTE: %d means unsigned.
- beq digit
- cmp.b #'x', d0
- beq hex
- cmp.b #'s', d0
- beq string
- cmp.b #'%', d0 ! second % has to be printed.
- beq put
- tst.b -(a5) ! normal char should be printed
- bra next
-
-string: move.l (a6)+, a2 ! a2 <- address of string
-sloop: move.b (a2)+, d0
- beq next
- move.l d0, -(sp)
- jsr _putchar ! long argument on stack
- tst.l (sp)+
- bra sloop
-
-digit: move.l (a6)+, d1 ! d1 <- integer
- move.l #_getal+12, a2 ! a2 <- ptr to last part of buf
- clr.b -(a2) ! stringterminator
-1:
- move.l d1,-(sp)
- move.l #10,-(sp)
- jsr .dvu ! d1 <- qotient; d0 <- remainder
- add.l #'0', d0
- move.b d0, -(a2)
- tst.l d1 ! if quotient = 0 then ready
- bne 1b
- bra sloop ! print digitstring.
-
-hex: move.l (a6)+, d1 ! d1 <- integer
- move.l #_getal+12, a2 ! a2 <- ptr to last part of buf
- clr.b -(a2) ! stringterminator
- move.l #7, d2 ! loop control
-1: move.l d1, d0
- and.l #15, d0
- move.l #hexs,a0
- add.l d0,a0
- move.b (a0), -(a2) ! hex digit
- asr.l #4, d1
- dbf d2, 1b
- bra sloop
-
-out:
- movem.l (sp)+, d0/d1/d2/a0/a1/a2/a3/a4/a5/a6
- rts
-
-
-_putchar:
- move.l #1, -(sp)
- pea 11(sp)
- move.l #1, -(sp)
- jsr _write
- lea 12(sp), sp
- rts
-.align 2
+++ /dev/null
-.define .savd0
-.define .savret
-.define .savreg
-
-.data
-.savd0:
- .long 0
-.savret:
- .long 0
-.savreg:
- .space 128
-.text
-.align 2
+++ /dev/null
-.extern _errno
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .data
-_errno:
-.extern _lseek
-.short 0
-.sect .text
-_lseek:
-link a6,#-0
-.sect .data
-_13:
-.short 29561
-.short 29489
-.short 11875
-.short 0
-.sect .text
-move.l #_13,.filn
-move.w #8,.lino
-move.w #0,-(sp)
-move.w #0,-(sp)
-move.l (sp)+,d0
-unlk a6
-rts
-.extern _close
-_close:
-link a6,#-0
-move.l #_13,.filn
-move.w #12,.lino
-move.w #0,-(sp)
-move.w (sp)+,d0
-unlk a6
-rts
-.extern _ioctl
-_ioctl:
-link a6,#-0
-move.l #_13,.filn
-move.w #18,.lino
-move.w #0,-(sp)
-move.w (sp)+,d0
-unlk a6
-rts
-.extern _read
-_read:
-link a6,#-0
-move.l #_13,.filn
-move.w #24,.lino
-move.w #-1,-(sp)
-move.w (sp)+,d0
-unlk a6
-rts
-.extern _open
-_open:
-link a6,#-0
-move.l #_13,.filn
-move.w #30,.lino
-move.w #-1,-(sp)
-move.w (sp)+,d0
-unlk a6
-rts
+++ /dev/null
-.extern _exit
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-! Fake system call for 68000 running MACSBUG
-
-.sect .text
-
-_exit:
- jmp 0x0200f6
+++ /dev/null
-EMHOME=../../..
-SUF=o
-MAKEFILE=$(EMHOME)/mach/proto/fp/Makefile
-MACHDEF="MACH=m68k4" "SUF=$(SUF)" "ASAR=aal"
-
-all:
- make -f $(MAKEFILE) $(MACHDEF) all
-
-install:
- make -f $(MAKEFILE) $(MACHDEF) install
-
-cmp: all
- -../../compare FP_$(MACH).a tail_fp
-
-clean:
- make -f $(MAKEFILE) $(MACHDEF) clean
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-# $Header$
-MACH=m68k4
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if m68k4 -L -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv Xcv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
- ../../install Xcv
-
-cmp: all
- ../../compare cv
- ../../compare Xcv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-Xcv: Xcv.o
- $(CC) $(LDFLAGS) -o Xcv Xcv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c Xcv.c
-
-opr:
- make pr | opr
+++ /dev/null
-EMHOME=../../..
-INTS=em2_t--- em2_---- em2_t-cp em2_t-c- em2_t--p \
-em4_t--- em4_---- em4_t-cp em4_t-c- em4_t--p
-P = mloop
-FILES=deffile $P0 $P1 $P2 $P3 $P4 $P5 $P6 $P7 $P8 $P9 $Pa $Pb $Pc
-CPP=$(EMHOME)/lib/cpp
-b=$(EMHOME)/lib/em
-CFLAGS=-I$(EMHOME)/h -O
-FLTRAP=
-
-all: $(INTS) em
-
-em: em.c
- $(CC) $(CFLAGS) -o em em.c
-
-tmp.s: $(FILES)
- cat $(FILES) > tmp.s
-
-em2_t---: tmp.s compile con_float.o
- ./compile -o em2_t--- -P $(FLTRAP) -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=0 tmp.s con_float.o
-
-em2_----: tmp.s compile con_float.o
- ./compile -o em2_---- -P $(FLTRAP) -Dopfreq=0 -Dlast=0 -Dcount=0 -Dtest=0 -Dflow=0 -Dprof=0 tmp.s con_float.o
-
-em2_t-cp: tmp.s compile con_float.o
- ./compile -o em2_t-cp -P $(FLTRAP) -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=1 tmp.s con_float.o
-
-em2_t-c-: tmp.s compile con_float.o
- ./compile -o em2_t-c- -P $(FLTRAP) -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=0 tmp.s con_float.o
-
-em2_t--p: tmp.s compile con_float.o
- ./compile -o em2_t--p -P $(FLTRAP) -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=1 tmp.s con_float.o
-
-em4_t---: tmp.s compile con_float.o
- ./compile -o em4_t--- -P $(FLTRAP) -Dlword -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=0 tmp.s con_float.o
-
-em4_----: tmp.s compile con_float.o
- ./compile -o em4_---- -P $(FLTRAP) -Dlword -Dopfreq=0 -Dlast=0 -Dcount=0 -Dtest=0 -Dflow=0 -Dprof=0 tmp.s con_float.o
-
-em4_t-cp: tmp.s compile con_float.o
- ./compile -o em4_t-cp -P $(FLTRAP) -Dlword -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=1 tmp.s con_float.o
-
-em4_t-c-:tmp.s compile con_float.o
- ./compile -o em4_t-c- -P $(FLTRAP) -Dlword -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=0 tmp.s con_float.o
-
-em4_t--p: tmp.s compile con_float.o
- ./compile -o em4_t--p -P $(FLTRAP) -Dlword -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=1 tmp.s con_float.o
-
-con_float.o: con_float.c
- case `ack_sys` in m68k2|pmds) \
- acc -I$(EMHOME)/mach -mm68k4 -c -L -O con_float.c;; \
- *) acc -c -I$(EMHOME)/mach -L -O con_float.c;; \
- esac
-
-compile: Makefile
- case `ack_sys` in sun*) MACH=`ack_sys`; AS=-Ras=../../../lib/m68k2/as;; pmds*) MACH=pmds4;; \
- m68_sysV_0) MACH=mantra;; \
- *) MACH=m68k4;; \
- esac ; echo $$MACH $$AS -r.c -.m -fp '$$*' > compile; chmod +x compile
-install: all
- -mkdir $b24 $b44
- ls em2_???? | sed 's:em2_\(.*\):cp & $b24/em_\1:' | sh
- ls em4_???? | sed 's:em4_\(.*\):cp & $b44/em_\1:' | sh
- cp em ../../../bin/em
- cp em.1 ../../../man/em.1
-
-cmp: all
- ls em2_???? | sed 's:em2_\(.*\):cmp & $b24/em_\1:' | sh
- ls em4_???? | sed 's:em4_\(.*\):cmp & $b44/em_\1:' | sh
- -cmp em ../../../bin/em
- -cmp em.1 ../../../man/em.1
-
-clean:
- -rm -f *.o *.old a.out em tmp.s $(INTS) compile
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/makefile
- @pr `pwd`/deffile `pwd`/$P?
+++ /dev/null
-!definitions
-!#define lword
-!#define FLTRAP
-#define opfreq 0
-#define last 1
-#define test 1
-#define count 0
-#define flow 0
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
- .sect .text
-end:
- .sect .bss
-endbss:
- .sect .data
-enddata:
+++ /dev/null
-rm -f temp.c
-cat header deffile $1 >> temp.c
-../../../lib/cpp -P temp.c >$2
+++ /dev/null
-# $Header$
-MACH=m68k4
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if mantra -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-MACH=minix
-
-all: libsys_o.a end.o head_em.o
-
-install: all
- ../../install libsys_o.a tail_mon
- ../../install head_em.o head_em
- ../../install end.o end_em
-
-cmp: all
- -../../compare libsys_o.a tail_mon
- -../../compare head_em.o head_em
- -../../compare end.o end_em
-
-
-end.o: end.s
- $(MACH) -I../../../h -O -c end.s
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -O -c head_em.s
-
-libsys.a: libsys_s.a
- ASAR=aal ; export ASAR ;\
- march . libsys.a
-
-libsys_o.a: libsys.a ../../../lib/i86/tail_em
- mkdir X; cd X; aal x ../../../../lib/i86/tail_em; aal x ../libsys.a; aal rv ../libsys_o.a *.o ; cd ..
- rm -rf X
-
-clean:
- rm -f *.o libsys_o.a libsys.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libsys.a | pr -h `pwd`/libsys.a
- @pr `pwd`/end.s
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int access(name, mode)
-char *name;
-int mode;
-{
- return callm3(FS, ACCESS, mode, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int alarm(sec)
-unsigned sec;
-{
- return callm1(MM, ALARM, (int) sec, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-extern char *brksize;
-
-PUBLIC char *brk(addr)
-char *addr;
-{
- int k;
-
- k = callm1(MM, BRK, 0, 0, 0, addr, NIL_PTR, NIL_PTR);
- if (k == OK) {
- brksize = M.m2_p1;
- return(NIL_PTR);
- } else {
- return( (char*) -1 );
- }
-}
-
-
-PUBLIC char *sbrk(incr)
-int incr;
-{
- char *newsize, *oldsize;
-
- oldsize = brksize;
- newsize = brksize + incr;
- if (incr > 0 && newsize < oldsize || incr < 0 && newsize > oldsize)
- return( (char *) -1);
- if (brk(newsize) == 0)
- return(oldsize);
- else
- return( (char *) -1 );
-}
-
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chdir(name)
-char *name;
-{
- return callm3(FS, CHDIR, 0, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chmod(name, mode)
-char* name;
-int mode;
-{
- return callm3(FS, CHMOD, mode, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chown(name, owner, grp)
-char *name;
-int owner, grp;
-{
- return callm1(FS, CHOWN, len(name), owner, grp, name, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chroot(name)
-char* name;
-{
- return callm3(FS, CHROOT, 0, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int close(fd)
-int fd;
-{
- return callm1(FS, CLOSE, fd, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-
-}
+++ /dev/null
-if minix -c -L -LIB $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int creat(name, mode)
-char* name;
-int mode;
-{
- return callm3(FS, CREAT, mode, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int dup(fd)
-int fd;
-{
- return callm1(FS, DUP, fd, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int dup2(fd, fd2)
-int fd, fd2;
-{
- return callm1(FS, DUP, fd+0100, fd2, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- ! $Header$
- .sect .text
-endtext:
-_etext:
- .align 2
- .sect .data
-enddata:
-_edata:
- .align 2
-.sect .endsect
-_end:
-endbss:
- .align 2
+++ /dev/null
-#include "lib.h"
-
-extern char **environ; /* environment pointer */
-
-#define PTRSIZE sizeof(char *)
-
-PUBLIC int execl(name, arg0)
-char *name;
-char *arg0;
-{
- return execve(name, &arg0, environ);
-}
-
-PUBLIC int execle(name, argv)
-char *name, *argv;
-{
- char **p;
- p = (char **) &argv;
- while (*p++) /* null statement */ ;
- return execve(name, &argv, *p);
-}
-
-PUBLIC int execv(name, argv)
-char *name, *argv[];
-{
- return execve(name, argv, environ);
-}
-
-
-PUBLIC int execve(name, argv, envp)
-char *name; /* pointer to name of file to be executed */
-char *argv[]; /* pointer to argument array */
-char *envp[]; /* pointer to environment */
-{
- char stack[MAX_ISTACK_BYTES];
- char **argorg, **envorg, *hp, **ap, *p;
- int i, nargs, nenvps, stackbytes, offset;
- extern errno;
-
- /* Count the argument pointers and environment pointers. */
- nargs = 0;
- nenvps = 0;
- argorg = argv;
- envorg = envp;
- while (*argorg++ != NIL_PTR) nargs++;
- while (*envorg++ != NIL_PTR) nenvps++;
-
- /* Prepare to set up the initial stack. */
- hp = &stack[(nargs + nenvps + 3) * PTRSIZE];
- if (hp + nargs + nenvps >= &stack[MAX_ISTACK_BYTES]) {
- errno = E2BIG;
- return(-1);
- }
- ap = (char **) stack;
- *ap++ = (char *) nargs;
-
- /* Prepare the argument pointers and strings. */
- for (i = 0; i < nargs; i++) {
- offset = hp - stack;
- *ap++ = (char *) offset;
- p = *argv++;
- while (*p) {
- *hp++ = *p++;
- if (hp >= &stack[MAX_ISTACK_BYTES]) {
- errno = E2BIG;
- return(-1);
- }
- }
- *hp++ = (char) 0;
- }
- *ap++ = NIL_PTR;
-
- /* Prepare the environment pointers and strings. */
- for (i = 0; i < nenvps; i++) {
- offset = hp - stack;
- *ap++ = (char *) offset;
- p = *envp++;
- while (*p) {
- *hp++ = *p++;
- if (hp >= &stack[MAX_ISTACK_BYTES]) {
- errno = E2BIG;
- return(-1);
- }
- }
- *hp++ = (char) 0;
- }
- *ap++ = NIL_PTR;
- stackbytes = ( ( (int)(hp - stack) + PTRSIZE - 1)/PTRSIZE) * PTRSIZE;
- return callm1(MM_PROC_NR, EXEC, len(name), stackbytes, 0,name, stack,NIL_PTR);
-}
-
-
-PUBLIC execn(name)
-char *name; /* pointer to file to be exec'd */
-{
-/* Special version used when there are no args and no environment. This call
- * is principally used by INIT, to avoid having to allocate MAX_ISTACK_BYTES.
- */
-
- static char stack[3 * PTRSIZE];
-
- return callm1(MM_PROC_NR, EXEC, len(name), sizeof(stack), 0, name, stack, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int fork()
-{
- return callm1(MM, FORK, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int fstat(fd, buffer)
-int fd;
-char *buffer;
-{
- int n;
- n = callm1(FS, FSTAT, fd, 0, 0, buffer, NIL_PTR, NIL_PTR);
- return(n);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC gid getegid()
-{
- int k;
- k = callm1(MM, GETGID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k < 0) return ( (gid) k);
- return( (gid) M.m2_i1);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC uid geteuid()
-{
- int k;
- k = callm1(MM, GETUID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k < 0) return ( (uid) k);
- return ((uid) M.m2_i1);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC gid getgid()
-{
- int k;
- k = callm1(MM, GETGID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- return( (gid) k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int getpid()
-{
- return callm1(MM, GETPID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC uid getuid()
-{
- int k;
- k = callm1(MM, GETUID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- return( (uid) k);
-}
+++ /dev/null
-#include <sgtty.h>
-
-gtty(fd, argp)
-int fd;
-char *argp;
-{
- return ioctl(fd, TIOCGETP, argp);
-}
-
+++ /dev/null
-#include "lib.h"
-#include <minix/com.h>
-#include <sgtty.h>
-
-PUBLIC int ioctl(fd, request, u)
-int fd;
-int request;
-union {
- struct sgttyb *argp;
- struct tchars *argt;
-} u;
-
-{
- int n, ispeed, ospeed;
- long erase, kill, intr, quit, xon, xoff, eof, brk, speed;
-
- M.TTY_REQUEST = request;
- M.TTY_LINE = fd;
-
- switch(request) {
- case TIOCSETP:
- erase = u.argp->sg_erase & BYTE;
- kill = u.argp->sg_kill & BYTE;
- M.TTY_SPEK = (erase << 8) | kill;
- M.TTY_FLAGS = u.argp->sg_flags;
- M.TTY_SPEED = (u.argp->sg_ospeed << 8) | u.argp->sg_ispeed;
- n = callx(FS, IOCTL);
- return(n);
-
- case TIOCSETC:
- intr = u.argt->t_intrc & BYTE;
- quit = u.argt->t_quitc & BYTE;
- xon = u.argt->t_startc & BYTE;
- xoff = u.argt->t_stopc & BYTE;
- eof = u.argt->t_eofc & BYTE;
- brk = u.argt->t_brkc & BYTE; /* not used at the moment */
- M.TTY_SPEK = (intr<<24) | (quit<<16) | (xon<<8) | (xoff<<0);
- M.TTY_FLAGS = (eof<<8) | (brk<<0);
- n = callx(FS, IOCTL);
- return(n);
-
- case TIOCGETP:
- n = callx(FS, IOCTL);
- u.argp->sg_erase = (M.TTY_SPEK >> 8) & BYTE;
- u.argp->sg_kill = (M.TTY_SPEK >> 0) & BYTE;
- u.argp->sg_flags = M.TTY_FLAGS & 0xFFFF;
- speed = (M.TTY_FLAGS >> 16) & 0xFFFFL;
- u.argp->sg_ispeed = speed & BYTE;
- u.argp->sg_ospeed = (speed >> 8) & BYTE;
- return(n);
-
- case TIOCGETC:
- n = callx(FS, IOCTL);
- u.argt->t_intrc = (M.TTY_SPEK >> 24) & BYTE;
- u.argt->t_quitc = (M.TTY_SPEK >> 16) & BYTE;
- u.argt->t_startc = (M.TTY_SPEK >> 8) & BYTE;
- u.argt->t_stopc = (M.TTY_SPEK >> 0) & BYTE;
- u.argt->t_eofc = (M.TTY_FLAGS >> 8) & BYTE;
- u.argt->t_brkc = (M.TTY_FLAGS >> 8) & BYTE;
- return(n);
-
- default:
- n = -1;
- errno = -(EINVAL);
- return(n);
- }
-}
-
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int kill(proc, sig)
-int proc; /* which process is to be sent the signal */
-int sig; /* signal number */
-{
- return callm1(MM, KILL, proc, sig, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include <minix/const.h>
-#include <minix/type.h>
-#include <minix/callnr.h>
-#include <errno.h>
-
-extern message M;
-
-#define MM 0
-#define FS 1
-
-extern int callm1(), callm3(), callx(), len();
-extern int errno;
-extern int begsig(); /* interrupts all vector here */
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int link(name, name2)
-char *name, *name2;
-{
- return callm1(FS, LINK, len(name), len(name2), 0, name, name2, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC long lseek(fd, offset, whence)
-int fd;
-long offset;
-int whence;
-{
- int k;
- M.m2_i1 = fd;
- M.m2_l1 = offset;
- M.m2_i2 = whence;
- k = callx(FS, LSEEK);
- if (k != OK) return( (long) k); /* send itself failed */
- return(M.m2_l1);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int mknod(name, mode, addr)
-char *name;
-int mode, addr;
-{
- return callm1(FS, MKNOD, len(name), mode, addr, name, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-/* mktemp - make a name for a temporary file */
-
-char *mktemp(template)
-char *template;
-{
- int pid, k;
- char *p;
-
- pid = getpid(); /* get process id as semi-unique number */
- p = template;
- while (*p++) ; /* find end of string */
- p--; /* backup to last character */
-
- /* Replace XXXXXX at end of template with pid. */
- while (*--p == 'X') {
- *p = '0' + (pid % 10);
- pid = pid/10;
- }
- return(template);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int mount(special, name, rwflag)
-char *name, *special;
-int rwflag;
-{
- return callm1(FS, MOUNT, len(special), len(name), rwflag, special, name, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int open(name, mode)
-char* name;
-int mode;
-{
- return callm3(FS, OPEN, mode, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int pause()
-{
- return callm1(MM, PAUSE, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int pipe(fild)
-int fild[2];
-{
- int k;
- k = callm1(FS, PIPE, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k >= 0) {
- fild[0] = M.m1_i1;
- fild[1] = M.m1_i2;
- return(0);
- } else
- return(k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int read(fd, buffer, nbytes)
-int fd;
-char *buffer;
-int nbytes;
-{
- int n;
- n = callm1(FS, READ, fd, nbytes, 0, buffer, NIL_PTR, NIL_PTR);
- return(n);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int setgid(grp)
-int grp;
-{
- return callm1(MM, SETGID, grp, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int setuid(usr)
-int usr;
-{
- return callm1(MM, SETUID, usr, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-#include <signal.h>
-
-int (*vectab[NSIG])(); /* array of functions to catch signals */
-
-/* The definition of signal really should be
- * PUBLIC int (*signal(signr, func))()
- * but some compilers refuse to accept this, even though it is correct.
- * The only thing to do if you are stuck with such a defective compiler is
- * change it to
- * PUBLIC int *signal(signr, func)
- * and change ../h/signal.h accordingly.
- */
-
-PUBLIC int (*signal(signr, func))()
-int signr; /* which signal is being set */
-int (*func)(); /* pointer to function that catches signal */
-{
- int r,(*old)();
-
- old = vectab[signr - 1];
- vectab[signr - 1] = func;
- M.m6_i1 = signr;
- M.m6_f1 = ( (func == SIG_IGN || func == SIG_DFL) ? func : begsig);
- r = callx(MM, SIGNAL);
- if (r == 1) old = SIG_IGN;
- return( (r < 0 ? (int (*)()) r : old) );
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int stat(name, buffer)
-char *name;
-char *buffer;
-{
- int n;
- n = callm1(FS, STAT, len(name), 0, 0, name, buffer, NIL_PTR);
- return(n);
-}
+++ /dev/null
-std_err(s)
-char *s;
-{
- char *p = s;
-
- while(*p != 0) p++;
- write(2, s, (int)(p - s));
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int stime(top)
-long *top;
-{
- M.m2_l1 = *top;
- return callx(FS, STIME);
-}
+++ /dev/null
-#include <sgtty.h>
-
-stty(fd, argp)
-int fd;
-char *argp;
-{
- return ioctl(fd, TIOCSETP, argp);
-}
-
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int sync()
-{
- return callm1(FS, SYNC, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC long time(tp)
-long *tp;
-{
- int k;
- long l;
- k = callm1(FS, TIME, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (M.m_type < 0 || k != OK) {errno = -M.m_type; return(-1L);}
- l = M.m2_l1;
- if (tp != (long *) 0) *tp = l;
- return(l);
-}
+++ /dev/null
-#include "lib.h"
-#include <sys/types.h>
-#include <sys/times.h>
-
-PUBLIC int times(buf)
-struct tms *buf;
-{
- int k;
- k = callm1(FS, TIMES, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- buf->tms_utime = M.m4_l1;
- buf->tms_stime = M.m4_l2;
- buf->tms_cutime = M.m4_l3;
- buf->tms_cstime = M.m4_l4;
- return(k);
-}
+++ /dev/null
-.sect .text ; .sect .rom; .sect .data; .sect .bss
-.define .trpdivz
-.define .trpilin
-.define .trpcase
-.define .trprang
-.define .trpset
-.define .trpnofp
-.define .trpheap
-.define .trp
-.define .stop
-
-.sect .text
-.extern .trpdivz
-.extern .trpilin
-.extern .trpcase
-.extern .trprang
-.extern .trpset
-.extern .trpnofp
-.extern .trpheap
-.extern .trp
-
-.trpdivz:
-mov ax,6
-mov dx,.Mdivz
-jmp .Trp
-.trpilin:
-mov ax,18
-mov dx,.Milin
-jmp .Trp
-.trpcase:
-mov ax,20
-mov dx,.Mcase
-jmp .Trp
-.trprang:
-mov ax,1
-mov dx,.Mrang
-jmp .Trp
-.trpset:
-mov ax,2
-mov dx,.Mset
-jmp .Trp
-.trpnofp:
-mov ax,18
-mov dx,.Mnofp
-jmp .Trp
-.trpheap:
-mov ax,17
-mov dx,.Mheap
-jmp .Trp
-
-.Trp:
-xor bx,bx
-.extern .trppc
-xchg bx,(.trppc)
-test bx,bx
-jz 2f
-push ax
-call (bx)
-pop ax
-ret
-2:
-mov bx,22
-push bx
-push dx
-mov ax,2
-push ax
-call _write
-.stop:
-call _exit
-
-.trp:
-mov dx,ax
-cmp dx,21
-jae 1f
-sal dx,1
-mov bx,.Mtable
-add bx,dx
-mov bx,(bx)
-test bx,bx
-jz 1f
-mov dx,bx
-jmp 2f
-1:
-mov bx,.Mtrp+14
-mov cx,6
-mov dx,ax
-1:
-and dx,7
-add dx,'0'
-movb (bx),dl
-dec bx
-sar dx,1
-sar dx,1
-sar dx,1
-loop 1b
-mov dx,.Mtrp
-2:
-jmp .Trp
-
-.sect .rom
-.Mtable:
- .data2 0, .Mrang, .Mset, 0, 0, 0, .Mdivz, 0
- .data2 0, 0, 0, 0, 0, 0, 0, 0
- .data2 0, .Mheap, .Milin, .Milin, .Mcase
-
-.Mdivz: .asciz "Error: Division by 0 \n"
-.Milin: .asciz "Illegal EM instruct'n\n"
-.Mcase: .asciz "Err in EM case instr \n"
-.Mrang: .asciz "Variable out of range\n"
-.Mset: .asciz "Err in EM set instr \n"
-.Mnofp: .asciz "Floating pt not impl.\n"
-.Mheap: .asciz "Heap overflow \n"
-
-.Mtrp: .asciz "EM trap 0000000 octal\n"
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int umask(complmode)
-int complmode;
-{
- return callm1(FS, UMASK, complmode, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int umount(name)
-char* name;
-{
- return callm3(FS, UMOUNT, 0, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int unlink(name)
-char *name;
-{
- return callm3(FS, UNLINK, 0, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int utime(name, timp)
-char *name;
-long timp[2];
-{
- M.m2_i1 = len(name);
- M.m2_l1 = timp[0];
- M.m2_l2 = timp[1];
- M.m2_p1 = name;
- return callx(FS, UTIME);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int wait(status)
-int *status;
-{
- int k;
- k = callm1(MM, WAIT, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k >= 0 && status != 0) *status = M.m2_i1;
- return(k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int write(fd, buffer, nbytes)
-char *buffer;
-int nbytes;
-{
- return callm1(FS, WRITE, fd, nbytes, 0, buffer, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- ../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=minixST
-
-all: libsys_o.a end.o head_em.o
-
-install: all
- ../../install libsys_o.a tail_mon
- ../../install head_em.o head_em
- ../../install end.o end_em
-
-cmp: all
- -../../compare libsys_o.a tail_mon
- -../../compare head_em.o head_em
- -../../compare end.o end_em
-
-
-end.o: end.s
- $(MACH) -I../../../h -O -c end.s
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -O -c head_em.s
-
-libsys.a: libsys_s.a
- ASAR=aal ; export ASAR ;\
- march . libsys.a
-
-libsys_o.a: libsys.a ../../../lib/m68k2/tail_em
- mkdir X; cd X; aal x ../libsys.a; aal x ../../../../lib/m68k2/tail_em; aal rv ../libsys_o.a *.o
- rm -rf X
-
-clean:
- rm -f *.o libsys_o.a libsys.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libsys.a | pr -h `pwd`/libsys.a
- @pr `pwd`/end.s
+++ /dev/null
-#include <lib.h>
-/* mktemp - make a name for a temporary file */
-#include <sys/types.h>
-#define mktemp _mktemp
-#define getpid _getpid
-#define access _access
-#include <unistd.h>
-
-PUBLIC char *mktemp(char *template)
-{
- register int pid, k;
- register char *p;
-
- pid = getpid(); /* get process id as semi-unique number */
- p = template;
- while (*p) p++; /* find end of string */
-
- /* Replace XXXXXX at end of template with pid. */
- while (*--p == 'X') {
- *p = '0' + (pid % 10);
- pid /= 10;
- }
- p++;
- for (k = 'a'; k <= 'z'; k++) {
- *p = k;
- if (access(template, 0) < 0) {
- return template;
- }
- }
- return("/");
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int access(name, mode)
-char *name;
-int mode;
-{
- return callm3(FS, ACCESS, mode, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int alarm(sec)
-unsigned sec;
-{
- return callm1(MM, ALARM, (int) sec, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-extern char *brksize;
-
-PUBLIC char *brk(addr)
-char *addr;
-{
- int k;
-
- k = callm1(MM, BRK, 0, 0, 0, addr, NIL_PTR, NIL_PTR);
- if (k == OK) {
- brksize = M.m2_p1;
- return(NIL_PTR);
- } else {
- return( (char*) -1 );
- }
-}
-
-
-PUBLIC char *sbrk(incr)
-int incr;
-{
- char *newsize, *oldsize;
-
- oldsize = brksize;
- newsize = brksize + incr;
- if (incr > 0 && newsize < oldsize || incr < 0 && newsize > oldsize)
- return( (char *) -1);
- if (brk(newsize) == 0)
- return(oldsize);
- else
- return( (char *) -1 );
-}
-
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chdir(name)
-char *name;
-{
- return callm3(FS, CHDIR, 0, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chmod(name, mode)
-char* name;
-int mode;
-{
- return callm3(FS, CHMOD, mode, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chown(name, owner, grp)
-char *name;
-int owner, grp;
-{
- return callm1(FS, CHOWN, len(name), owner, grp, name, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int chroot(name)
-char* name;
-{
- return callm3(FS, CHROOT, 0, name);
-
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int close(fd)
-int fd;
-{
- return callm1(FS, CLOSE, fd, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-
-}
+++ /dev/null
-if minixST -c -L -LIB $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int creat(name, mode)
-char* name;
-int mode;
-{
- return callm3(FS, CREAT, mode, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int dup(fd)
-int fd;
-{
- return callm1(FS, DUP, fd, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int dup2(fd, fd2)
-int fd, fd2;
-{
- return callm1(FS, DUP, fd+0100, fd2, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- .sect .text
-endtext:
-_etext:
- .align 2
- .sect .data
-enddata:
-_edata:
- .align 2
-.sect .endsect
-_end:
-endbss:
- .align 2
+++ /dev/null
-#include "lib.h"
-
-extern char **environ; /* environment pointer */
-
-#define PTRSIZE sizeof(char *)
-
-PUBLIC int execl(name, arg0)
-char *name;
-char *arg0;
-{
- return execve(name, &arg0, environ);
-}
-
-PUBLIC int execle(name, argv)
-char *name, *argv;
-{
- char **p;
- p = (char **) &argv;
- while (*p++) /* null statement */ ;
- return execve(name, &argv, *p);
-}
-
-PUBLIC int execv(name, argv)
-char *name, *argv[];
-{
- return execve(name, argv, environ);
-}
-
-
-PUBLIC int execve(name, argv, envp)
-char *name; /* pointer to name of file to be executed */
-char *argv[]; /* pointer to argument array */
-char *envp[]; /* pointer to environment */
-{
- char stack[MAX_ISTACK_BYTES];
- char **argorg, **envorg, *hp, **ap, *p;
- int i, nargs, nenvps, stackbytes, offset;
- extern errno;
-
- /* Count the argument pointers and environment pointers. */
- nargs = 0;
- nenvps = 0;
- argorg = argv;
- envorg = envp;
- while (*argorg++ != NIL_PTR) nargs++;
- while (*envorg++ != NIL_PTR) nenvps++;
-
- /* Prepare to set up the initial stack. */
- hp = &stack[(nargs + nenvps + 3) * PTRSIZE];
- if (hp + nargs + nenvps >= &stack[MAX_ISTACK_BYTES]) {
- errno = E2BIG;
- return(-1);
- }
- ap = (char **) stack;
- *ap++ = (char *) nargs;
-
- /* Prepare the argument pointers and strings. */
- for (i = 0; i < nargs; i++) {
- offset = hp - stack;
- *ap++ = (char *) offset;
- p = *argv++;
- while (*p) {
- *hp++ = *p++;
- if (hp >= &stack[MAX_ISTACK_BYTES]) {
- errno = E2BIG;
- return(-1);
- }
- }
- *hp++ = (char) 0;
- }
- *ap++ = NIL_PTR;
-
- /* Prepare the environment pointers and strings. */
- for (i = 0; i < nenvps; i++) {
- offset = hp - stack;
- *ap++ = (char *) offset;
- p = *envp++;
- while (*p) {
- *hp++ = *p++;
- if (hp >= &stack[MAX_ISTACK_BYTES]) {
- errno = E2BIG;
- return(-1);
- }
- }
- *hp++ = (char) 0;
- }
- *ap++ = NIL_PTR;
- stackbytes = ( ( (int)(hp - stack) + PTRSIZE - 1)/PTRSIZE) * PTRSIZE;
- return callm1(MM_PROC_NR, EXEC, len(name), stackbytes, 0,name, stack,NIL_PTR);
-}
-
-
-PUBLIC execn(name)
-char *name; /* pointer to file to be exec'd */
-{
-/* Special version used when there are no args and no environment. This call
- * is principally used by INIT, to avoid having to allocate MAX_ISTACK_BYTES.
- */
-
- static char stack[3 * PTRSIZE];
-
- return callm1(MM_PROC_NR, EXEC, len(name), sizeof(stack), 0, name, stack, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int fork()
-{
- return callm1(MM, FORK, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int fstat(fd, buffer)
-int fd;
-char *buffer;
-{
- int n;
- n = callm1(FS, FSTAT, fd, 0, 0, buffer, NIL_PTR, NIL_PTR);
- return(n);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC gid getegid()
-{
- int k;
- k = callm1(MM, GETGID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k < 0) return ( (gid) k);
- return( (gid) M.m2_i1);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC uid geteuid()
-{
- int k;
- k = callm1(MM, GETUID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k < 0) return ( (uid) k);
- return ((uid) M.m2_i1);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC gid getgid()
-{
- int k;
- k = callm1(MM, GETGID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- return( (gid) k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int getpid()
-{
- return callm1(MM, GETPID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC uid getuid()
-{
- int k;
- k = callm1(MM, GETUID, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- return( (uid) k);
-}
+++ /dev/null
-#include <sgtty.h>
-
-gtty(fd, argp)
-int fd;
-char *argp;
-{
- return ioctl(fd, TIOCGETP, argp);
-}
-
+++ /dev/null
-#include "lib.h"
-#include <minix/com.h>
-#include <sgtty.h>
-
-PUBLIC int ioctl(fd, request, u)
-int fd;
-int request;
-union {
- struct sgttyb *argp;
- struct tchars *argt;
-} u;
-
-{
- int n, ispeed, ospeed;
- long erase, kill, intr, quit, xon, xoff, eof, brk, speed;
-
- M.TTY_REQUEST = request;
- M.TTY_LINE = fd;
-
- switch(request) {
- case TIOCSETP:
- erase = u.argp->sg_erase & BYTE;
- kill = u.argp->sg_kill & BYTE;
- M.TTY_SPEK = (erase << 8) | kill;
- M.TTY_FLAGS = u.argp->sg_flags;
- M.TTY_SPEED = (u.argp->sg_ospeed << 8) | u.argp->sg_ispeed;
- n = callx(FS, IOCTL);
- return(n);
-
- case TIOCSETC:
- intr = u.argt->t_intrc & BYTE;
- quit = u.argt->t_quitc & BYTE;
- xon = u.argt->t_startc & BYTE;
- xoff = u.argt->t_stopc & BYTE;
- eof = u.argt->t_eofc & BYTE;
- brk = u.argt->t_brkc & BYTE; /* not used at the moment */
- M.TTY_SPEK = (intr<<24) | (quit<<16) | (xon<<8) | (xoff<<0);
- M.TTY_FLAGS = (eof<<8) | (brk<<0);
- n = callx(FS, IOCTL);
- return(n);
-
- case TIOCGETP:
- n = callx(FS, IOCTL);
- u.argp->sg_erase = (M.TTY_SPEK >> 8) & BYTE;
- u.argp->sg_kill = (M.TTY_SPEK >> 0) & BYTE;
- u.argp->sg_flags = M.TTY_FLAGS & 0xFFFF;
- speed = (M.TTY_FLAGS >> 16) & 0xFFFFL;
- u.argp->sg_ispeed = speed & BYTE;
- u.argp->sg_ospeed = (speed >> 8) & BYTE;
- return(n);
-
- case TIOCGETC:
- n = callx(FS, IOCTL);
- u.argt->t_intrc = (M.TTY_SPEK >> 24) & BYTE;
- u.argt->t_quitc = (M.TTY_SPEK >> 16) & BYTE;
- u.argt->t_startc = (M.TTY_SPEK >> 8) & BYTE;
- u.argt->t_stopc = (M.TTY_SPEK >> 0) & BYTE;
- u.argt->t_eofc = (M.TTY_FLAGS >> 8) & BYTE;
- u.argt->t_brkc = (M.TTY_FLAGS >> 8) & BYTE;
- return(n);
-
- default:
- n = -1;
- errno = -(EINVAL);
- return(n);
- }
-}
-
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int kill(proc, sig)
-int proc; /* which process is to be sent the signal */
-int sig; /* signal number */
-{
- return callm1(MM, KILL, proc, sig, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include <minix/const.h>
-#include <minix/type.h>
-#include <minix/callnr.h>
-#include <errno.h>
-
-extern message M;
-
-#define MM 0
-#define FS 1
-
-extern int callm1(), callm3(), callx(), len();
-extern int errno;
-extern int begsig(); /* interrupts all vector here */
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int link(name, name2)
-char *name, *name2;
-{
- return callm1(FS, LINK, len(name), len(name2), 0, name, name2, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC long lseek(fd, offset, whence)
-int fd;
-long offset;
-int whence;
-{
- int k;
- M.m2_i1 = fd;
- M.m2_l1 = offset;
- M.m2_i2 = whence;
- k = callx(FS, LSEEK);
- if (k != OK) return( (long) k); /* send itself failed */
- return(M.m2_l1);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int mknod(name, mode, addr)
-char *name;
-int mode, addr;
-{
- return callm1(FS, MKNOD, len(name), mode, addr, name, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-/* mktemp - make a name for a temporary file */
-
-char *mktemp(template)
-char *template;
-{
- int pid, k;
- char *p;
-
- pid = getpid(); /* get process id as semi-unique number */
- p = template;
- while (*p++) ; /* find end of string */
- p--; /* backup to last character */
-
- /* Replace XXXXXX at end of template with pid. */
- while (*--p == 'X') {
- *p = '0' + (pid % 10);
- pid = pid/10;
- }
- return(template);
-}
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.sect .text
-.define _mktemp
-_mktemp:
- jmp __mktemp
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int mount(special, name, rwflag)
-char *name, *special;
-int rwflag;
-{
- return callm1(FS, MOUNT, len(special), len(name), rwflag, special, name, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int open(name, mode)
-char* name;
-int mode;
-{
- return callm3(FS, OPEN, mode, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int pause()
-{
- return callm1(MM, PAUSE, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int pipe(fild)
-int fild[2];
-{
- int k;
- k = callm1(FS, PIPE, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k >= 0) {
- fild[0] = M.m1_i1;
- fild[1] = M.m1_i2;
- return(0);
- } else
- return(k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int read(fd, buffer, nbytes)
-int fd;
-char *buffer;
-int nbytes;
-{
- int n;
- n = callm1(FS, READ, fd, nbytes, 0, buffer, NIL_PTR, NIL_PTR);
- return(n);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int setgid(grp)
-int grp;
-{
- return callm1(MM, SETGID, grp, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int setuid(usr)
-int usr;
-{
- return callm1(MM, SETUID, usr, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-#include <signal.h>
-
-int (*vectab[NSIG])(); /* array of functions to catch signals */
-
-/* The definition of signal really should be
- * PUBLIC int (*signal(signr, func))()
- * but some compilers refuse to accept this, even though it is correct.
- * The only thing to do if you are stuck with such a defective compiler is
- * change it to
- * PUBLIC int *signal(signr, func)
- * and change ../h/signal.h accordingly.
- */
-
-PUBLIC int (*signal(signr, func))()
-int signr; /* which signal is being set */
-int (*func)(); /* pointer to function that catches signal */
-{
- int r,(*old)();
-
- old = vectab[signr - 1];
- vectab[signr - 1] = func;
- M.m6_i1 = signr;
- M.m6_f1 = ( (func == SIG_IGN || func == SIG_DFL) ? func : begsig);
- r = callx(MM, SIGNAL);
- if (r == 1) old = SIG_IGN;
- return( (r < 0 ? (int (*)()) r : old) );
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int stat(name, buffer)
-char *name;
-char *buffer;
-{
- int n;
- n = callm1(FS, STAT, len(name), 0, 0, name, buffer, NIL_PTR);
- return(n);
-}
+++ /dev/null
-std_err(s)
-char *s;
-{
- char *p = s;
-
- while(*p != 0) p++;
- write(2, s, (int)(p - s));
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int stime(top)
-long *top;
-{
- M.m2_l1 = *top;
- return callx(FS, STIME);
-}
+++ /dev/null
-#include <sgtty.h>
-
-stty(fd, argp)
-int fd;
-char *argp;
-{
- return ioctl(fd, TIOCSETP, argp);
-}
-
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int sync()
-{
- return callm1(FS, SYNC, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC long time(tp)
-long *tp;
-{
- int k;
- long l;
- k = callm1(FS, TIME, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (M.m_type < 0 || k != OK) {errno = -M.m_type; return(-1L);}
- l = M.m2_l1;
- if (tp != (long *) 0) *tp = l;
- return(l);
-}
+++ /dev/null
-#include "lib.h"
-#include <sys/types.h>
-#include <sys/times.h>
-
-PUBLIC int times(buf)
-struct tms *buf;
-{
- int k;
- k = callm1(FS, TIMES, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- buf->tms_utime = M.m4_l1;
- buf->tms_stime = M.m4_l2;
- buf->tms_cutime = M.m4_l3;
- buf->tms_cstime = M.m4_l4;
- return(k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int umask(complmode)
-int complmode;
-{
- return callm1(FS, UMASK, complmode, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int umount(name)
-char* name;
-{
- return callm3(FS, UMOUNT, 0, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int unlink(name)
-char *name;
-{
- return callm3(FS, UNLINK, 0, name);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int utime(name, timp)
-char *name;
-long timp[2];
-{
- M.m2_i1 = len(name);
- M.m2_l1 = timp[0];
- M.m2_l2 = timp[1];
- M.m2_p1 = name;
- return callx(FS, UTIME);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int wait(status)
-int *status;
-{
- int k;
- k = callm1(MM, WAIT, 0, 0, 0, NIL_PTR, NIL_PTR, NIL_PTR);
- if (k >= 0 && status != 0) *status = M.m2_i1;
- return(k);
-}
+++ /dev/null
-#include "lib.h"
-
-PUBLIC int write(fd, buffer, nbytes)
-char *buffer;
-int nbytes;
-{
- return callm1(FS, WRITE, fd, nbytes, 0, buffer, NIL_PTR, NIL_PTR);
-}
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-MACH=ns
-
-all: libem_o.a end.o
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.o end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.o end_em
-
-end.o: end.s
- $(MACH) -I../../../h -c end.s
-
-libem_o.a: libem_s.a
- ASAR=aal ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a nohup.out Out
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/end.s
+++ /dev/null
-if ns -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define endtext,enddata,endbss,_etext,_edata,_end
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .end ! only for declaration of _end and endbss.
-
- .sect .text
-endtext:
-_etext:
- .sect .data
-enddata:
-_edata:
- .sect .end
-_end:
-endbss:
+++ /dev/null
-.define .mon
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
- .sect .text
-
-.mon:
- cmpd 1,4(sp)
- beq 1f
- cmpd 3,4(sp)
- beq 3f
- cmpd 4,4(sp)
- beq 4f
- cmpd 54,4(sp)
- beq 5f
-
- movd .add1, tos
- jsr @.prstr
- movd 4(sp), tos
- jsr @.print
- movd .add2, tos
- jsr @.prstr
- ret 4
-
-1: jump @.stop
-
-3: save [r0,r1,r2,r3]
- movd 3,r0
- movd 28(sp),r1
- movd 32(sp),r2
- movd 0,r3
- svc
- movd r2, 32(sp)
- movd 0,28(sp)
- restore [r0,r1,r2,r3]
- ret 8
-
-4: save [r0,r1,r2,r3]
- movd 4,r0
- movd 28(sp),r1
- movd 32(sp),r2
- movd 0,r3
- svc
- movd r2, 32(sp)
- movd 0,28(sp)
- restore [r0,r1,r2,r3]
- ret 8
-
-5: movd 0, 16(sp)
- ret 12
-
-.sect .data
-.add1: .asciz "monitor call "
-.add2: .asciz " not implemented\n"
-.align
+++ /dev/null
-# $Header$
-MACH=ns
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a nohup.out Out
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @ar pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if ns -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-hbxac
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/cg
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
- $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
- $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
- move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- ../../install cg
-
-cmp: all
- -../../compare cg
-
-distr: tables.c
- rm -f tables1.[ch]
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-
-tables.c: table
- -mv tables.h tables.h.save
- $(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
- -if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
- -if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.h.save
-
-codegen.o: $(CDIR)/assert.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-move.o: $(CDIR)/assert.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-#ifndef NORCSID
-static char rcsid[] = "$Header$";
-#endif
-
-#include <stdio.h>
-
-/*
- * (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
- */
-
-char buf[512];
-char *index();
-
-main() {
- register n,sa;
- register char *p;
-
- sa=0;
- for (;;) {
- getline(buf);
- if (n=stackadjust()) {
- sa += n;
- continue;
- }
- if (nullinstruction())
- continue;
- if (sa) {
- if (buf[0]=='t' && buf[1]=='s' && buf[2]=='t' && buf[3]==' ') {
- sa -= 2;
- buf[0]='m';
- buf[1]='o';
- buf[2]='v';
- strcat(buf,",(sp)+");
- } else if (buf[0]=='m' && buf[1]=='o' && buf[2]=='v' &&
- buf[3]==' ' && (p=index(&buf[5],','))!=0 &&
- p[1]=='-' && p[2]=='(' && p[3]=='s') {
- sa -= 2;
- p[1]=' ';
- }
- }
- switch(sa) {
- case 0:break;
- case 2:puts("tst (sp)+");sa=0;break;
- case 4:puts("cmp (sp)+,(sp)+");sa=0;break;
- case 6:puts("add $06,sp");sa=0;break;
- }
- puts(buf);
- }
-}
-
-getline(buf) register char *buf; {
- register c;
-
- while ((c=getchar())==' ' || c=='\t')
- ;
- if (c==EOF)
- exit(0);
- do *buf++=c;
- while ((c=getchar())!='\n');
- *buf=0;
-}
-
-stackadjust() {
-
- if (buf[0]=='t' &&
- buf[1]=='s' &&
- buf[2]=='t' &&
- buf[3]==' ' &&
- buf[4]=='(' &&
- buf[5]=='s' &&
- buf[6]=='p' &&
- buf[7]==')' &&
- buf[8]=='+') return(2);
- if (buf[0]=='c' &&
- buf[1]=='m' &&
- buf[2]=='p' &&
- buf[3]==' ' &&
- buf[4]=='(' &&
- buf[5]=='s' &&
- buf[6]=='p' &&
- buf[7]==')' &&
- buf[8]=='+' &&
- buf[9]==',' &&
- buf[10]=='(' &&
- buf[11]=='s' &&
- buf[12]=='p' &&
- buf[13]==')' &&
- buf[14]=='+') return(4);
- if (buf[0]=='a' &&
- buf[1]=='d' &&
- buf[2]=='d' &&
- buf[3]==' ' &&
- buf[4]=='$' &&
- buf[5]=='0' &&
- buf[6]=='6' &&
- buf[7]==',' &&
- buf[8]=='s' &&
- buf[9]=='p' &&
- buf[10]==0) return(6);
- return(0);
-}
-
-nullinstruction() {
- register char *p;
-
- if (buf[4]=='$' && buf[5]=='0' && buf[6]=='0' && buf[7]==',') {
- p=index(buf,'-');
- if (p!=0 && p[1]=='(')
- return(0);
- p=index(buf,'+');
- if (p!=0 && p[-1]==')')
- return(0);
- if (buf[0]=='b' && buf[1]=='i' && (buf[2]=='s' || buf[2]=='c'))
- return(1);
- if (buf[0]=='a' && buf[1]=='d' && buf[2]=='d')
- return(1);
- if (buf[0]=='s' && buf[1]=='u' && buf[2]=='b')
- return(1);
- }
- return(0);
-}
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- ../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-INTS=em_t--- em_---- em_tf-- em_t-c- em_t--p
-b=../../../lib/em22
-
-all: $(INTS) eminform em
-
-em: em.c
- $(CC) -o em -I../../../h em.c
-
-eminform: eminform.s
- as eminform.s;ld -i -o eminform a.out -lc
-
-em_t---: t+ f- c- p- em_int.s
- as t+ f- c- p- em_int.s;ld -i -o em_t--- a.out -lc
-
-em_----: t- f- c- p- em_int.s
- as t- f- c- p- em_int.s;ld -i -o em_---- a.out -lc
-
-em_tf--: t+ f+ c- p- em_int.s
- as t+ f+ c- p- em_int.s;ld -i -o em_tf-- a.out -lc
-
-em_t-c-: t+ f- c+ p- em_int.s
- as t+ f- c+ p- em_int.s;ld -i -o em_t-c- a.out -lc
-
-em_t--p: t+ f- c- p+ em_int.s
- as t+ f- c- p+ em_int.s;ld -i -o em_t--p a.out -lc
-
-install: all
- -mkdir $b
- cp em_???? $b
- cp em eminform ../../../bin
- cp em.1 eminform.1 ../../../man
-
-cmp: all
- -cmp em_t--- $b/em_t---
- -cmp em_---- $b/em_----
- -cmp em_tf-- $b/em_tf--
- -cmp em_t-c- $b/em_t-c-
- -cmp em_t--p $b/em_t--p
- -cmp em ../../../bin/em
- -cmp eminform ../../../bin/eminform
- -cmp em.1 ../../../man/em.1
- -cmp eminform.1 ../../../man/eminform.1
-
-clean:
- -rm -f *.o *.old a.out em eminform $(INTS)
-
-opr:
- make pr | opr
-
-pr:
- @pr em.c em_int.s eminform.s
+++ /dev/null
-all: head_em.o libem_o.a end.o
-
-install: cp
-
-cp: all
- ../../install head_em.o head_em
- ../../install libem_o.a tail_em
- ../../install end.o end_em
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libem_o.a tail_em
- -../../compare end.o end_em
-
-
-head_em.o: head_em.s
- pdp -c head_em.s
-
-end.o: end.s
- pdp -c end.s
-
-libem_o.a: libem_s.a
- ASAR=aal ; export ASAR ; march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/Makefile `pwd`/head_em.s
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
+++ /dev/null
-/ $Header$
-.globl blm~
-.globl save~,retu~
-
-/ Size in r0
-blm~:
- jsr pc,save~
- mov (sp)+,r2
- mov (sp)+,r3
- mov r0,r1
- asr r0
- beq 2f
-/ Now avoid wrong copy.
-/ The pieces may overlap !
- cmp r3,r2
- beq 2f
- blt 3f
-1:
- mov (r3)+,(r2)+
- sob r0,1b
-2:
- jmp retu~
-3:
- add r1,r3
- add r1,r2
-4:
- mov -(r3),-(r2)
- sob r0,4b
- br 2b
+++ /dev/null
-if pdp -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define endtext,enddata,endbss,_etext,_edata,_end
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .end ! only for declaration of _end and endbss.
-
- .sect .text
-endtext:
-_etext:
- .sect .data
-enddata:
-_edata:
- .sect .end
-_end:
-endbss:
+++ /dev/null
-#
-.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
-.define LINO_AD,FILN_AD
-.define ERANGE,ESET,EHEAP,EILLINS,ECASE
-.define hol0,trppc~,trpim~,reghp~,.limhp
-! $Header$
-
-#define float 1
-#define hardfp 1
-
-LINO_AD = 0
-FILN_AD = 4
-
-ERANGE = 1
-ESET = 2
-EFOVFL = 4
-EFUNFL = 5
-EFDIVZ = 7
-EFUND = 011
-ECONV = 012
-EHEAP = 021
-EILLINS = 022
-ECASE = 024
-
-#ifdef float
-#ifndef hardfp
-! sys 060;.data2 4,fptrap / if not commented it will appear as undefined
-#endif
- sys 060;.data2 010,sig8
- ldfps $07600
-#endif
- mov 2(sp),r0
- clr -2(r0)
- mov sp,r0
- sub $4,sp
- mov 4(sp),(sp)
- tst (r0)+
- mov r0,2(sp)
-1:
- tst (r0)+
- bne 1b
- cmp r0,*2(sp)
- blo 1f
- tst -(r0)
-1:
- mov r0,4(sp)
- jsr pc,__m_a_i_n
-! next two lines for as long as tail needs printf
-! mov r0,-(sp)
-! jsr pc,*$_exit
- sys 1
-
- .sect .data
-hol0: .data2 0,0 ! line no
- .data2 0,0 ! file
-trppc~: .data2 0
-trpim~: .data2 0
-reghp~: .data2 _end
-.limhp: .data2 _end
-
- .sect .text
-sig8:
-#ifdef float
- mov r0,-(sp)
- stst r0
- mov 1f(r0),-(sp)
- jsr pc,trp~
- sys 060;.data2 010,sig8
- mov (sp)+,r0
- rti
-
- .sect .data
-1: .data2 EILLINS, EILLINS, EFDIVZ, ECONV, EFOVFL, EFUNFL, EFUND, EILLINS
- .sect .text
-#endif
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
-.sect .text
-.define hlt~
-! $Header$
-
-exit = 1
-
-hlt~:
- mov (sp)+,r0
- bne 1f
- sys exit
-1: .data2 4
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
-.sect .text
-.define sigtrp~
-.define trp~,save~,retu~
-! $Header$
-
-indir = 0
-signal = 060
-
-sig1: mov sig.trp+0,-(sp)
- br 1f
-sig2: mov sig.trp+2,-(sp)
- br 1f
-sig3: mov sig.trp+4,-(sp)
- br 1f
-sig4: mov sig.trp+6,-(sp)
- br 1f
-sig5: mov sig.trp+010,-(sp)
- br 1f
-sig6: mov sig.trp+012,-(sp)
- br 1f
-sig7: mov sig.trp+014,-(sp)
- br 1f
-sig10: mov sig.trp+022,-(sp)
- br 1f
-sig11: mov sig.trp+024,-(sp)
- br 1f
-sig12: mov sig.trp+026,-(sp)
- br 1f
-sig13: mov sig.trp+030,-(sp)
- br 1f
-sig14: mov sig.trp+032,-(sp)
- br 1f
-sig15: mov sig.trp+034,-(sp)
- br 1f
-sig16: mov sig.trp+036,-(sp)
- br 1f
-1:
- jsr pc,trp~
- rti
-
-sigtrp~:
- jsr pc,save~
- tst (sp)+
- mov (sp)+,r1
- mov (sp)+,r0
- ble sig.bad
- cmp r0,$020
- bhi sig.bad
- mov r0,call+02
- asl r0
- mov sig.trp-2(r0),r3
- cmp r1,$0400
- bhis 1f
- mov sig.adr-2(r0),r2
- bne 2f
-sig.bad:
- mov $-1,r0
-sigbad:
- mov r0,-(sp)
- mov r0,-(sp)
- jmp retu~
-1: cmp r1,$-3
- blo sig.bad
- mov r1,r2
- inc r2
- inc r2
-2: mov r1,sig.trp-2(r0)
- mov r2,call+04
- sys indir ; .data2 call
- bcs sigbad
- asr r0
- bcc 1f
- mov $-3,-(sp)
- clr -(sp)
- jmp retu~
-1: mov r3,-(sp)
- clr -(sp)
- jmp retu~
-
-.sect .data
-call: sys signal
- .data2 0, 0
-sig.trp:
- .data2 -2, -2, -2, -2
- .data2 -2, -2, -2, -2
- .data2 -2, -2, -2, -2
- .data2 -2, -2, -2, -2
-sig.adr:
- .data2 sig1, sig2, sig3, sig
- .data2 sig5, sig6, sig7, 0
- .data2 0, sig10, sig11, sig12
- .data2 sig13, sig14, sig15, sig16
+++ /dev/null
-MAKEFILE=../../proto/libg/Makefile
-MACHDEF="MACH=pdp -Rbe-p2" "SUF=s" "ASAR=ar"
-PCDEF="PREF=pc" "SUB=" "SRC=lang/pc/libpc"
-LIBDIR=../lib
-
-install:
- make -f $(MAKEFILE) $(PCDEF) $(MACHDEF) cp
-
-cmp:
- make -f $(MAKEFILE) $(PCDEF) $(MACHDEF) all
- cmp head_pc $(LIBDIR)/head_pc
- cmp tail_pc $(LIBDIR)/tail_pc
-
-clean:
- -rm -f *.old *.[ce$(SUF)] tail* head*
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile
+++ /dev/null
-# $Header$
-all: libmon_o.a
-
-install: cp
-
-cp: all
- ../../install libmon_o.a tail_mon
-
-cmp: all
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-clean:
- rm -f *.o libmon_o.a
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/Makefile
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if pdp -L -O -c -I../../../h -I. $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-LIBS=$(EMHOME)/modules/lib/libstring.a
-PREFLAGS=-I.
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-CDIR=$(EMHOME)/mach/proto/top
-CFILES=$(CDIR)/top.c $(CDIR)/queue.c
-OFILES=top.o queue.o
-
-all: gen.c
- make top
-
-top: $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
-
-top.o: $(CDIR)/top.c gen.c
- $(CC) -c $(CFLAGS) $(CDIR)/top.c
-
-queue.o: $(CDIR)/queue.c
- $(CC) -c $(CFLAGS) $(CDIR)/queue.c
-
-install: all
- $(EMHOME)/mach/install top
-
-cmp: all
- -$(EMHOME)/mach/compare top
-
-gen.c: table
- $(EMHOME)/lib/topgen table
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-
-clean:
- rm -f *.o gen.c gen.h top
-
-top.o: gen.h
-top.o: $(CDIR)/top.h
-top.o: $(CDIR)/queue.h
-queue.o: $(CDIR)/queue.h
+++ /dev/null
-EMHOME=../../..
-
-LDFLAGS =
-CFLAGS=-O -I$(EMHOME)/h
-
-cv: cv.o
- $(CC) -o cv $(LDFLAGS) cv.o $(EMHOME)/modules/lib/libobject.a
-
-install: cv
- ../../install cv
-
-cmp: cv
- -../../compare cv
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/cv.c
-
-clean:
- -rm -f *.o *.old cv
+++ /dev/null
-/* The format of the a.out files produced by the assemblers
- is machine dependent.
- This program acts as a gateway between two machines and it's effect
- is independent of the machine it executes on.
- The a.out file is assumed to be made on a pdp-11
- while the target machine is a Philip Microcomputer Development system
-
-*/
-
-#include <stdio.h>
-
-main(argc,argv) char **argv ; {
- char i_addr[4];
- short count;
- char i_count[2];
-
- if (argc != 3) {
- fprintf(stderr,"Usage: %s pdp-a.out VU-pmds-a.out\n",argv[0]);
- exit(-1);
- }
- if (freopen(argv[1],"r",stdin)==NULL) {
- perror(argv[1]);
- exit(-1);
- }
- if (freopen(argv[2],"w",stdout)==NULL) {
- perror(argv[2]);
- exit(-1);
- }
- while (fread(&i_addr,sizeof i_addr,1,stdin)==1) {
- putchar(i_addr[1]) ; putchar(i_addr[0]) ;
- putchar(i_addr[3]) ; putchar(i_addr[2]) ;
- if (fread(&i_count,sizeof i_count,1,stdin)!=1)
- exit(fprintf(stderr,"foo\n"));
- putchar(i_count[1]) ; putchar(i_count[0]) ;
- count= ((i_count[1]&0377)<<8) | (i_count[0]&0377) ;
- while (count--) {
- putchar(getchar());
- }
- }
- return 0;
-}
+++ /dev/null
-/* The format of the a.out files produced by the assemblers
- is machine dependent.
- This program acts as a gateway between two machines and it's effect
- is independent of the machine it executes on.
- The a.out file is assumed to be made on a vax-11
- while the target machine is a Philips Microcomputer Development system
-
-*/
-
-#include <stdio.h>
-
-main(argc,argv) char **argv ; {
- char i_addr[4];
- short count;
- char i_count[2];
-
- if (argc != 3) {
- fprintf(stderr,"Usage: %s vax-a.out VU-pmds-a.out\n",argv[0]);
- exit(-1);
- }
- if (freopen(argv[1],"r",stdin)==NULL) {
- perror(argv[1]);
- exit(-1);
- }
- if (freopen(argv[2],"w",stdout)==NULL) {
- perror(argv[2]);
- exit(-1);
- }
- while (fread(&i_addr,sizeof i_addr,1,stdin)==1) {
- putchar(i_addr[3]) ; putchar(i_addr[2]) ;
- putchar(i_addr[1]) ; putchar(i_addr[0]) ;
- if (fread(&i_count,sizeof i_count,1,stdin)!=1)
- exit(fprintf(stderr,"foo\n"));
- putchar(i_count[1]) ; putchar(i_count[0]) ;
- count= ((i_count[1]&0377)<<8) | (i_count[0]&0377) ;
- while (count--) {
- putchar(getchar());
- }
- }
- return 0;
-}
+++ /dev/null
-# $Header$
-MACH=pmds
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if pmds -L -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-MACH=pmds4
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if pmds4 -L -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-hbxac
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/cg
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
- $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
- $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
- move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- ../../install cg
-
-cmp: all
- -../../compare cg
-
-distr: tables.c
- rm -f tables1.[ch]
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-
-tables.c: table
- -mv tables.h tables.h.save
- $(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
- -if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
- -if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.h.save
-
-codegen.o: $(CDIR)/assert.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-move.o: $(CDIR)/assert.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-SUF=s
-MACH=m68k4
-ASAR=arch
-CFLAGS=
-# must use -r option of make so that default rules
-# are not loaded
-#
-# $Header$
-#
-EMFLAGS= -L -LIB -I. -O $(CFLAGS)
-# AS=ack -m$(MACH) -c.$(SUF)
-# CC=ack -m$(MACH) -c.s
-# CCFLAGS=$(EMFLAGS)
-CDIR=$(EMHOME)/mach/proto/fp
-
-LIST = cff4.$(SUF) cff8.$(SUF)\
- cfu.$(SUF)\
- cmf4.$(SUF) cmf8.$(SUF)\
- cuf4.$(SUF) cuf8.$(SUF)\
- dvf4.$(SUF) dvf8.$(SUF)\
- fef4.$(SUF) fef8.$(SUF)\
- fif4.$(SUF) fif8.$(SUF)\
- cfi.$(SUF)\
- cif4.$(SUF) cif8.$(SUF)\
- mlf4.$(SUF) mlf8.$(SUF)\
- ngf4.$(SUF) ngf8.$(SUF)\
- sbf4.$(SUF) sbf8.$(SUF)\
- adf4.$(SUF) adf8.$(SUF)\
- zrf4.$(SUF) zrf8.$(SUF)\
- extend.$(SUF) compact.$(SUF)\
- add_ext.$(SUF) div_ext.$(SUF) mul_ext.$(SUF) nrm_ext.$(SUF)\
- sft_ext.$(SUF) sub_ext.$(SUF) zrf_ext.$(SUF)\
- adder.$(SUF) shifter.$(SUF) fptrp.$(SUF)
-SLIST = cff4.s cff8.s\
- cfu.s\
- cmf4.s cmf8.s\
- cuf4.s cuf8.s\
- dvf4.s dvf8.s\
- fef4.s fef8.s\
- fif4.s fif8.s\
- cfi.s\
- cif4.s cif8.s\
- mlf4.s mlf8.s\
- ngf4.s ngf8.s\
- sbf4.s sbf8.s\
- adf4.s adf8.s\
- zrf4.s zrf8.s\
- extend.s compact.s\
- add_ext.s div_ext.s mul_ext.s nrm_ext.s\
- sft_ext.s sub_ext.s zrf_ext.s\
- adder.s shifter.s fptrp.s
-
-SRC = FP_bias.h FP_shift.h FP_trap.h FP_types.h adder.h get_put.h\
- cff4.c cff8.c\
- cfu.c\
- cmf4.c cmf8.c\
- cuf4.c cuf8.c\
- dvf4.c dvf8.c\
- fef4.c fef8.c\
- fif4.c fif8.c\
- cfi.c\
- cif4.c cif8.c\
- mlf4.c mlf8.c\
- ngf4.c ngf8.c\
- sbf4.c sbf8.c\
- adf4.c adf8.c\
- zrf4.c zrf8.c\
- extend.c compact.c\
- add_ext.c div_ext.c mul_ext.c nrm_ext.c\
- sft_ext.c sub_ext.c zrf_ext.c\
- adder.c shifter.c fptrp.e
-
-all: FP_$(MACH).a
-
-install: tail_fp
-
-tail_fp: FP_$(MACH).a
- ../../install FP_$(MACH).a tail_fp
-
-clean:
- rm -f $(LIST) FP_$(MACH).a
- rm -f $(SLIST)
-
-opr:
- make pr | opr
-
-pr:
- @pr Makefile FP.script $(SRC)
-
-FP_$(MACH).a: $(LIST)
- $(ASAR) rv $@ $?
-
-fptrp.$(SUF): $(CDIR)/fptrp.e
- ack -m$(MACH) $(EMFLAGS) -c $(CDIR)/fptrp.e
-
-extend.$(SUF) compact.$(SUF): byte_order.h $(CDIR)/get_put.h
-
-cff4.$(SUF): $(CDIR)/cff4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cff4.c
- ed - cff4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cff4.s
-
-cff8.$(SUF): $(CDIR)/cff8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cff8.c
- ed - cff8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cff8.s
-
-cfu.$(SUF): $(CDIR)/cfu.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cfu.c
- ed - cfu.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cfu.s
-
-cmf4.$(SUF): $(CDIR)/cmf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cmf4.c
- ed - cmf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cmf4.s
-
-cmf8.$(SUF): $(CDIR)/cmf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cmf8.c
- ed - cmf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cmf8.s
-
-cuf4.$(SUF): $(CDIR)/cuf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cuf4.c
- ed - cuf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cuf4.s
-
-cuf8.$(SUF): $(CDIR)/cuf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cuf8.c
- ed - cuf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cuf8.s
-
-dvf4.$(SUF): $(CDIR)/dvf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/dvf4.c
- ed - dvf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) dvf4.s
-
-dvf8.$(SUF): $(CDIR)/dvf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/dvf8.c
- ed - dvf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) dvf8.s
-
-fef4.$(SUF): $(CDIR)/fef4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/fef4.c
- ed - fef4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) fef4.s
-
-fef8.$(SUF): $(CDIR)/fef8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/fef8.c
- ed - fef8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) fef8.s
-
-fif4.$(SUF): $(CDIR)/fif4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/fif4.c
- ed - fif4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) fif4.s
-
-fif8.$(SUF): $(CDIR)/fif8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/fif8.c
- ed - fif8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) fif8.s
-
-cfi.$(SUF): $(CDIR)/cfi.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cfi.c
- ed - cfi.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cfi.s
-
-cif4.$(SUF): $(CDIR)/cif4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cif4.c
- ed - cif4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cif4.s
-
-cif8.$(SUF): $(CDIR)/cif8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/cif8.c
- ed - cif8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) cif8.s
-
-mlf4.$(SUF): $(CDIR)/mlf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/mlf4.c
- ed - mlf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) mlf4.s
-
-mlf8.$(SUF): $(CDIR)/mlf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/mlf8.c
- ed - mlf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) mlf8.s
-
-ngf4.$(SUF): $(CDIR)/ngf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/ngf4.c
- ed - ngf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) ngf4.s
-
-ngf8.$(SUF): $(CDIR)/ngf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/ngf8.c
- ed - ngf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) ngf8.s
-
-sbf4.$(SUF): $(CDIR)/sbf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/sbf4.c
- ed - sbf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) sbf4.s
-
-sbf8.$(SUF): $(CDIR)/sbf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/sbf8.c
- ed - sbf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) sbf8.s
-
-adf4.$(SUF): $(CDIR)/adf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/adf4.c
- ed - adf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) adf4.s
-
-adf8.$(SUF): $(CDIR)/adf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/adf8.c
- ed - adf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) adf8.s
-
-zrf4.$(SUF): $(CDIR)/zrf4.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/zrf4.c
- ed - zrf4.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) zrf4.s
-
-zrf8.$(SUF): $(CDIR)/zrf8.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/zrf8.c
- ed - zrf8.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) zrf8.s
-
-extend.$(SUF): $(CDIR)/extend.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/extend.c
- ed - extend.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) extend.s
-
-compact.$(SUF): $(CDIR)/compact.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/compact.c
- ed - compact.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) compact.s
-
-add_ext.$(SUF): $(CDIR)/add_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/add_ext.c
- ed - add_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) add_ext.s
-
-div_ext.$(SUF): $(CDIR)/div_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/div_ext.c
- ed - div_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) div_ext.s
-
-mul_ext.$(SUF): $(CDIR)/mul_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/mul_ext.c
- ed - mul_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) mul_ext.s
-
-nrm_ext.$(SUF): $(CDIR)/nrm_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/nrm_ext.c
- ed - nrm_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) nrm_ext.s
-
-sft_ext.$(SUF): $(CDIR)/sft_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/sft_ext.c
- ed - sft_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) sft_ext.s
-
-sub_ext.$(SUF): $(CDIR)/sub_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/sub_ext.c
- ed - sub_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) sub_ext.s
-
-zrf_ext.$(SUF): $(CDIR)/zrf_ext.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/zrf_ext.c
- ed - zrf_ext.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) zrf_ext.s
-
-adder.$(SUF): $(CDIR)/adder.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/adder.c
- ed - adder.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) adder.s
-
-shifter.$(SUF): $(CDIR)/shifter.c
- ack -c.s -m$(MACH) $(EMFLAGS) $(CDIR)/shifter.c
- ed - shifter.s <$(CDIR)/FP.script
- ack -c -m$(MACH) $(EMFLAGS) shifter.s
+++ /dev/null
-/*
- (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
- See the copyright notice in the ACK home directory, in the file "Copyright".
-*/
-
-/* $Header$ */
-
-/*
- * include file for 32 & 64 bit addition
- */
-
-typedef struct {
- unsigned long h_32; /* higher 32 bits of 64 */
- unsigned long l_32; /* lower 32 bits of 64 */
-} B64;
+++ /dev/null
-/*
- (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
- See the copyright notice in the ACK home directory, in the file "Copyright".
-*/
-
-/* $Header$ */
-
-# include "FP_types.h"
-
-prt_dbl(dbl,size)
-DOUBLE *dbl;
-int size;
-{
-#ifdef PRT_DBL
- unsigned long *l;
-
- fprintf(stderr,"PRT_DBL SIZE = %d ",size);
- fprintf(stderr,"_s.p1.fract = 0x%08X ",dbl->_s.p1.fract);
- if (size == 8)
- fprintf(stderr,"_s.p2 = 0x%08X",dbl->_s.p2);
- l = (unsigned long *) dbl;
-#ifdef PRT_LONG
- fprintf(stderr,"\nl[0] = 0x%08X ",*l++);
- if (size == 8)
- fprintf(stderr,"l[1] = 0x%08X",*l);
-#endif PRT_LONG
- putc('\r',stderr);
- putc('\n',stderr);
- fflush(stderr);
-#endif
-}
-
+++ /dev/null
-/*
- (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
- See the copyright notice in the ACK home directory, in the file "Copyright".
-*/
-
-/* $Header$ */
-
-/********************************************************/
-/*
- PRINT EXTENDED FORMAT AND MESSAGE
- DEBUG ROUTINE
-*/
-/********************************************************/
-
-#include "FP_types.h"
-
-prt_ext(m,e)
-char *m;
-EXTEND *e;
-{
-#ifdef PRT_EXT
- fprintf(stderr,"%s ",m);
- fprintf(stderr,"%c",(e->sign) ? '-' : '+');
- fprintf(stderr,"m1:0x%08X m2:0x%08X ^ %03d 0x%x\n",
- e->m1,e->m2,e->exp,e->exp);
- fprintf(stderr,"hit any key\n\r");
- fflush(stderr);
- getchar();
-#endif
-}
+++ /dev/null
-# $Header$
-
-MACH=MACHINE
-MACHFL=-c.$(SUF) -O -L
-SUB =
-PREF=pc
-ASAR=arch
-SRC=lang/pc/libpc
-HOME = ../../..
-HEADSRC=$(HOME)/$(SRC)/head_$(PREF).e
-
-all: head tail
-
-head: head_$(PREF)
-
-tail: tail_$(PREF)$(SUB)
-
-headcp: head
- ../../install head_$(PREF)
- rm -f head_$(PREF)
-
-tailcp: tail
- ../../install tail_$(PREF)$(SUB)
- rm -f tail_$(PREF)$(SUB)
-
-cp: headcp tailcp
-
-head_$(PREF): $(HEADSRC)
- cp $(HEADSRC) head_$(PREF).e
- $(MACH) $(MACHFL) -I$(HOME)/h head_$(PREF).e
- mv head_$(PREF).$(SUF) head_$(PREF)
- -rm -f head_$(PREF).[ekm$(SUF)]
-
-tail_$(PREF)$(SUB):
- @echo translation test
- @$(MACH) $(MACHFL) $(HOME)/mach/proto/libg/barrier.c
- @-rm -f barrier.[oeskm] barrier.so
- @echo OK
- -rm -f tail_$(PREF)$(SUB)
- MACH="$(MACH)" MACHFL="$(MACHFL) -LIB" ASAR=$(ASAR) SRC=$(SRC) \
- march $(HOME)/$(SRC) tail_$(PREF)$(SUB)
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-#preprocessor flags for table
-TABLEFLAGS=
-#cgg options
-CGGFLAGS=
-
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/ncg
-CGG=$(EMHOME)/lib/ncgg
-CPP=$(EMHOME)/lib/cpp
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
- $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
- $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
- main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-label.o: $(CDIR)/label.c
- $(CC) -c $(CFLAGS) $(CDIR)/label.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- $(EMHOME)/mach/install cg
-
-cmp: all
- -$(EMHOME)/mach/compare cg
-
-
-tables.c: table $(CGG)
- $(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
- -cmp tables.h tables.H || cp tables.H tables.h
-
-lint: $(CFILES) tables.c
- lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.H
-
-distr: tables.c
- rm -f tables1.c tables1.h
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/label.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-label.o: $(CDIR)/label.h
-label.o: $(CDIR)/param.h
-label.o: tables.h
-label.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-main.o: tables.h
-move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-LIBS=$(EMHOME)/modules/lib/libstring.a
-PREFLAGS=-I.
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-CDIR=$(EMHOME)/mach/proto/top
-CFILES=$(CDIR)/top.c $(CDIR)/queue.c
-OFILES=top.o queue.o
-
-all: gen.c
- make top
-
-top: $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
-
-top.o: $(CDIR)/top.c gen.c
- $(CC) -c $(CFLAGS) $(CDIR)/top.c
-
-queue.o: $(CDIR)/queue.c
- $(CC) -c $(CFLAGS) $(CDIR)/queue.c
-
-install: all
- $(EMHOME)/mach/install top
-
-cmp: all
- -$(EMHOME)/mach/compare top
-
-gen.c: table
- $(EMHOME)/lib/topgen table
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-
-clean:
- rm -f *.o gen.c gen.h top
-
-top.o: gen.h
-top.o: $(CDIR)/top.h
-top.o: $(CDIR)/queue.h
-queue.o: $(CDIR)/queue.h
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-#define CODE_EXPANDER
-#include <em.h>
-#include "back.h"
-
-C_exp( s)
-char *s;
-{
- s = extnd_name( s);
- set_global_visible(s);
-#ifdef __solaris__
- fprint(codefile, "\t.type\t%s,#function\n", s);
-#endif
-}
+++ /dev/null
-.global fif8, Fd0, Fd1, Fd80000000, Fs80000000, Fs0
-
-.align 8
-Fd0:
-.double 0r0
-Fd1:
-.double 0r1
-FxE15:
-.word 0x43300000, 0x0 ! magic const: (a.b + x) - x == a.0
-Fd80000000:
-.align 8
-.double 0r4294967296
-Fs80000000:
-.single 0r2147483648
-Fs0:
-.single 0r0
-
-fif8:
- ld [%l0], %f0
- ld [%l0+4], %f1
- ld [%l0+8], %f2
- ld [%l0+12], %f3
- fmuld %f0, %f2, %f0
- fmovs %f0, %f6
- fmovs %f1, %f7
- set Fd0, %o0
- ldd [%o0], %f8
- fcmpd %f0, %f8
- nop
- fbuge,a 1f
- mov %g0, %o1
- set 1, %o1
- fnegs %f0, %f0
-1:
- set FxE15, %o0
- ldd [%o0], %f10
- fcmpd %f0, %f10
- nop
- fbuge 2f
- nop
- faddd %f0, %f10, %f4
- fsubd %f4, %f10, %f4
- fsubd %f0, %f4, %f2
- set Fd1, %o0
- ldd [%o0], %f12
-4: fcmpd %f2, %f12
- nop
- fbge,a 4b
- fsubd %f2, %f12, %f2
-5: fcmpd %f2, %f8
- nop
- fbl,a 5b
- faddd %f2, %f12, %f2
- fsubd %f0, %f2, %f0
-2:
- tst %o1
- bz 3f
- nop
- fnegs %f0, %f0
-3:
- fsubd %f6, %f0, %f2
- st %f0, [%l0]
- st %f1, [%l0+4]
- st %f2, [%l0+8]
- st %f3, [%l0+12]
- retl
- nop
+++ /dev/null
-#include "SYS.h"
-
-SYS_call_3(msync)
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O -DMACH=1
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- ../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=sun2
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if sun2 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-EMHOME=../../..
-BACK=$(EMHOME)/lib/ceg/ce_back
-CEG = $(EMHOME)/lib/ceg/util
-AR = ar
-
-all: back.a
- make -f $(CEG)/make_own
-
-install: back.a
- make -f $(CEG)/make_own install
-
-cmp: back.a
- -make -f $(CEG)/make_own cmp
-
-pr:
- @pr Makefile EM_table mach.h mach.c as_table as.h as.c \
- Make.back do_close.c do_open.c end_back.c misc.c output.c relocation.c
-
-opr:
- make pr | opr
-
-# total cleanup
-clean:
- make -f $(CEG)/make_own clean
- rm -rf back back.a
-
-# only remove ce, ceg, and back directories
-dclean:
- make -f $(CEG)/make_own dclean
- rm -rf back
-
-back.a: do_close.c do_open.c end_back.c misc.c output.c relocation.c
- -mkdir back
- cp $(BACK)/obj_back/*h back
- cp Make.back back/Makefile
- cd back; make ; cd ..
- $(AR) r back.a back/*o;
- -sh -c 'ranlib back.a'
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O -DMACH=2
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- ../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-Xcv: Xcv.o
- $(CC) $(LDFLAGS) -o Xcv Xcv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-
-EMOBJ = aar.o cii.o cmi.o cms.o cmu.o csa.o csb.o cuu.o dia.o exg.o fat.o \
- inn.o lar.o los.o mon.o nop.o sar.o set.o shp.o sts.o trp.o trpstr.o
-
-FOBJ = adf4.o adf8.o cff.o cfi.o cfu.o cif.o cmf4.o cmf8.o cuf.o dvf4.o \
- dvf8.o fef4.o fef8.o fif4.o fif8.o mlf4.o mlf8.o sbf4.o sbf8.o vars.o
-
-OBJ = $(EMOBJ) $(FOBJ)
-
-all: libext.a head_em.sun.o
-
-.s.o:
- sun3 -c $*.s
-
-libext.a: $(OBJ)
- for i in $(OBJ) ; do ../../../lib/sun3/cv -u $$i $$i.X ; mv $$i.X $$i ; done
- ar rv libext.a $(OBJ)
- ranlib libext.a
-
-head_em.sun.o: head_em.o
- ../../../lib/sun3/cv -u head_em.o head_em.sun.o
-
-install: all
- ../../install libext.a tail_ext
- ../../install head_em.sun.o head_ext
-
-cmp: all
- -../../compare libext.a tail_ext
- -../../compare head_em.sun.o head_ext
-
-clean:
- rm -f *.[oa]
-
-pr:
-
-opr:
-
-$(EMOBJ): $(EMHOME)/lib/m68020/tail_em
- aal x $(EMHOME)/lib/m68020/tail_em $(EMOBJ)
+++ /dev/null
-# $Header$
-MACH=m68020
-all: libmon_o.a head_em.o
-
-install: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-#include <sys/types.h>
-#include <sys/stat.h>
-
-static Xcvt();
-
-int
-stat(path, buf)
- char *path;
- struct stat *buf;
-{
- char Xbuf[100];
- int retval;
-
- retval = _stat(path, Xbuf);
- Xcvt(Xbuf, (char *)buf);
- return retval;
-}
-
-int
-lstat(path, buf)
- char *path;
- struct stat *buf;
-{
- char Xbuf[100];
- int retval;
-
- retval = _lstat(path, Xbuf);
- Xcvt(Xbuf, (char *)buf);
- return retval;
-}
-
-int
-fstat(fd, buf)
- int fd;
- struct stat *buf;
-{
- char Xbuf[100];
- int retval;
-
- retval = __fstat(fd, Xbuf);
- Xcvt(Xbuf, (char *)buf);
- return retval;
-}
-
-static
-Xcvt(buf, statbuf)
- char *buf, *statbuf;
-{
- register char *s, *t;
- register int i;
-
- s = buf; t = statbuf;
- *t++ = *s++; *t++ = *s++;
- *t++ = 0; *t++ = 0;
- for (i = 14; i; i--) *t++ = *s++;
- *t++ = 0; *t++ = 0;
- for (i = 44; i; i--) *t++ = *s++;
-}
+++ /dev/null
-#include <sys/types.h>
-#include <sys/stat.h>
-
-static Xcvt();
-
-int
-_fstat(fd, buf)
- int fd;
- struct stat *buf;
-{
- char Xbuf[100];
- int retval;
-
- retval = __fstat(fd, Xbuf);
- Xcvt(Xbuf, (char *)buf);
- return retval;
-}
-
-static
-Xcvt(buf, statbuf)
- char *buf, *statbuf;
-{
- register char *s, *t;
- register int i;
-
- s = buf; t = statbuf;
- *t++ = *s++; *t++ = *s++;
- *t++ = 0; *t++ = 0;
- for (i = 14; i; i--) *t++ = *s++;
- *t++ = 0; *t++ = 0;
- for (i = 44; i; i--) *t++ = *s++;
-}
+++ /dev/null
-if sun3 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-EMHOME=../../..
-BACK=$(EMHOME)/lib/ceg/ce_back
-CEG = $(EMHOME)/lib/ceg/util
-AR = ar
-
-all: back.a
- make -f $(CEG)/make_own
-
-install: back.a
- make -f $(CEG)/make_own install
-
-cmp: back.a
- -make -f $(CEG)/make_own cmp
-
-pr:
- @pr Makefile EM_table mach.h mach.c as_table as.h as.c \
- Make.back do_close.c do_open.c end_back.c misc.c output.c relocation.c
-
-opr:
- make pr | opr
-
-# total cleanup
-clean:
- make -f $(CEG)/make_own clean
- rm -rf back back.a
-
-# only remove ce, ceg, and back directories
-dclean:
- make -f $(CEG)/make_own dclean
- rm -rf back
-
-back.a: do_close.c do_open.c end_back.c output.c relocation.c
- -mkdir back
- cp $(BACK)/obj_back/*h back
- cp Make.back back/Makefile
- cd back; make ; cd ..
- $(AR) r back.a back/*o;
- -sh -c 'ranlib back.a'
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-hbxac
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/cg
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
- $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
- $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
- move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- ../../install cg
-
-cmp: all
- -../../compare cg
-
-distr: tables.c
- rm -f tables1.[ch]
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-
-tables.c: table
- -mv tables.h tables.h.save
- $(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
- -if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
- -if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.h.save
-
-codegen.o: $(CDIR)/assert.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-move.o: $(CDIR)/assert.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
-
-cmp: all
- ../../compare cv
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-all: head_em.o libmon_o.a
-
-install: cp
-
-cp: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-
-head_em.o: head_em.s
- vax4 -I../../../h -c head_em.s
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-clean:
- rm -f *.o libmon_o.a
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/Makefile `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if vax4 -O -c -I../../../h -I. $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-install: cp
-
-cp: all
- ../../install head_em.o head_em
- ../../install tail_mon
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare tail_mon
-
-all: head_em tail_mon
-
-head_em: head_em.s
- vax4 -I../../../h -c head_em.s
-
-tail_mon: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . tail_mon
-
-clean:
- rm -f *.o tail_mon
-opr:
- make pr | opr
-pr:
- @pr `pwd`/Makefile `pwd`/head_em.s
- @pr -l33 `tail +1 LIST|sort`
+++ /dev/null
-if vax4 -O -c -L -I../../../h -I. $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-MACH=vax4
-ASAR=aal
-all: libem_o.a end.a
-
-install: all
- ../../install libem_o.a tail_em
- ../../install end.a end_em
-
-cmp: all
- -../../compare libem_o.a tail_em
- -../../compare end.a end_em
-
-end.a: em_end.s etext.s edata.s end.s
- $(MACH) -I../../../h -c em_end.s
- $(MACH) -I../../../h -c edata.s
- $(MACH) -I../../../h -c etext.s
- $(MACH) -I../../../h -c end.s
- $(ASAR) cr end.a em_end.o etext.o edata.o end.o
-
-libem_o.a: libem_s.a
- ASAR=$(ASAR) ; export ASAR ;\
- march . libem_o.a
-
-clean:
- rm -f *.o libem_o.a end.a
-
-opr :
- make pr | opr
-
-pr:
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/em_end.s `pwd`/edata.s `pwd`/etext.s `pwd`/end.s
+++ /dev/null
-if vax4 -O -c -I../../../h -I. $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _edata
-.sect .data
- .align 4
- .sect .data
-_edata:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define endtext,enddata,endbss,__end
-.sect .text
- .align 4
-.sect .rom
- .align 4
-.sect .data
- .align 4
-.sect .bss
- .align 4
-.sect .end ! only for declaration of _end, __end and endbss.
-
- .sect .text
-endtext:
- .sect .data
-enddata:
- .sect .end
-__end:
-endbss:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _end
-.sect .end ! only for declaration of _end, __end and endbss.
-_end:
+++ /dev/null
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.define _etext
-.sect .text
- .align 4
- .sect .text
-_etext:
+++ /dev/null
-#include "system.h"
-#include "em_abs.h"
-#ifdef BSD42
-#include "/usr/include/syscall.h"
-#endif BSD42
-
- # $Header$
-
-.globl hol0
-.globl .reghp
-.globl .trppc
-.globl .trpim
-
- # run time startoff
- .word 0
- bispsw $0100 # set FU(0100)
- movl 4(sp),r0
- clrl -4(r0)
- movl sp,r0
- movl (r0)+,r1
- movl r0,r2
-a1:
- tstl (r0)+
- bneq a1
- cmpl r0,(r2)
- blssu a2
- tstl -(r0)
-a2:
- pushl r0
- pushl r2
- pushl r1
- movl $m1,ap
- chmk (ap)+ # catch floating point exception
- calls $3,_m_a_i_n
- movl $m2,ap
- movl r0,6(ap)
- chmk (ap)+
- halt
-
- .align 1
-sig8:
- .word 0x0000
- pushl 8(ap)
- movl (sp)+,ap
- pushl tab [ap]
- jsb .trp
- movl $m1,ap
- chmk (ap)+
- ret
-
- .data
-#ifdef BSD42
-m1:
- .word SYS_sigvec
- .long 3
- .long 8
- .long m1a
- .long 0
-m1a:
- .long sig8
- .long 0
- .long 0
-#else BSD42
-m1:
- .word 48
- .long 2
- .long 8
- .long sig8
-#endif BSD42
-m2:
- .word 1
- .long 1
- .long 0
-.reghp:
- .long _end
-hol0:
- .space 8
-.trppc:
- .space 4
-.trpim:
- .long 0
-tab:
- .long 0
- .long EIOVFL
- .long EIDIVZ
- .long EFOVFL
- .long EFDIVZ
- .long EFUNFL
- .long EILLINS
- .long EARRAY
- .long EFOVFL
- .long EFDIVZ
- .long EFUNFL
+++ /dev/null
-/* $Header$ */
-/*#define BSD42 */
-/*#define BSD41c */
-#define BSD41a
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.sect .data
-.define hol0
-.define .reghp
-.define .trppc
-.define .trpim
-
-hol0:
- .space 8
-.trppc:
- .space 4
-.trpim:
- .data4 0
-.reghp:
- .data4 __end
+++ /dev/null
-# $Header$
-all: head_em.o libmon_o.a
-
-install: cp
-
-cp: all
- ../../install head_em.o head_em
- ../../install libmon_o.a tail_mon
-
-cmp: all
- -../../compare head_em.o head_em
- -../../compare libmon_o.a tail_mon
-
-
-head_em.o: head_em.s
- vax4 -I../../../h -c head_em.s
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-clean:
- rm -f *.o libmon_o.a
-
-opr:
- make pr | opr
-
-pr:
- @pr `pwd`/Makefile `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-if vax4 -O -c -L -I../../../h -I. $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-EMHOME=../../..
-LIBS=$(EMHOME)/modules/lib/libstring.a
-PREFLAGS=-I.
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-bx
-CDIR=$(EMHOME)/mach/proto/top
-CFILES=$(CDIR)/top.c $(CDIR)/queue.c
-OFILES=top.o queue.o
-
-all: gen.c
- make top
-
-top: $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
-
-top.o: $(CDIR)/top.c gen.c
- $(CC) -c $(CFLAGS) $(CDIR)/top.c
-
-queue.o: $(CDIR)/queue.c
- $(CC) -c $(CFLAGS) $(CDIR)/queue.c
-
-install: all
- $(EMHOME)/mach/install top
-
-cmp: all
- -$(EMHOME)/mach/compare top
-
-gen.c: table
- $(EMHOME)/lib/topgen table
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-
-clean:
- rm -f *.o gen.c gen.h top
-
-top.o: gen.h
-top.o: $(CDIR)/top.h
-top.o: $(CDIR)/queue.h
-queue.o: $(CDIR)/queue.h
+++ /dev/null
-EMHOME = ../../..
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-INCLUDE = $(EMHOME)/h
-CFLAGS = -I. -I$(INCLUDE) -O
-TARGETS = cv chstack
-
-all: $(TARGETS)
-
-install: all
- ../../install cv
- ../../install chstack
-
-cmp: all
- -../../compare cv
- -../../compare chstack
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
-
-chstack: chstack.o
- $(CC) $(LDFLAGS) -o chstack chstack.o
-
-clean:
- rm -f $(TARGETS) *.o nohup.out Out
-
-pr:
- @pr Makefile cv.c chstack.c
-
-opr:
- make pr | opr
+++ /dev/null
-# $Header$
-MACH=xenix3
-all: libmon_o.a head_em.o
-
-install: all
- ../../install libmon_o.a tail_mon
- ../../install head_em.o head_em
-
-cmp: all
- -../../compare libmon_o.a tail_mon
- -../../compare head_em.o head_em
-
-libmon_o.a: libmon_s.a
- ASAR=aal ; export ASAR ;\
- march . libmon_o.a
-
-head_em.o: head_em.s
- $(MACH) -O -c head_em.s
-clean:
- rm -f *.o libmon_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __pipe
-.sect .text
-__pipe:
- mov ax,42
- call syscal
- mov dx,bx
- jae 1f
- mov (_errno),ax
- mov ax,-1
- cwd
-1:
- ret
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define __wait
-.sect .text
-__wait:
- mov ax,7
- call syscal
- mov dx,bx
- jae 1f
- mov (_errno),ax
- mov ax,-1
- cwd
-1:
- ret
+++ /dev/null
-if xenix3 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-hbxac
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/cg
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
- $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
- $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
- move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- ../../install cg
-
-cmp: all
- -../../compare cg
-
-distr: tables.c
- rm -f tables1.[ch]
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-
-tables.c: table
- -mv tables.h tables.h.save
- $(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
- -if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
- -if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.h.save
-
-codegen.o: $(CDIR)/assert.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-move.o: $(CDIR)/assert.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-EMHOME=../../..
-SRC = em.s atof.s fpp.s mli4.s dvu4.s dvi4.s eb.s
-OBJ = em.o atof.o fpp.o mli4.o dvu4.o dvi4.o eb.o
-DLSRC = dl.c dlbin.c
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-LDFLAGS =
-
-CFLAGS = -O -I$(EMHOME)/h
-
-.s.o:
- z80 -c -I$(EMHOME)/h $*.s
-
-all: int.hex dl dlbin cv
-
-install: all
- @echo "nothing is installed"
-
-cmp: all
- @echo "nothing is compared"
-
-clean:
- rm -f *.o a.out dl dlbin *.hex cv
-
-pr:
- @pr Makefile $(SRC) $(DLSRC) cv.c
-
-opr:
- make pr | opr
-
-a.out: $(OBJ)
- $(EMHOME)/lib/em_led -b0:0x100 -a0:2 -a1:2 -a2:2 -a3:2 $(OBJ)
-
-int.hex: a.out dlbin
- ./dlbin a.out > int.hex
- ./dosort int.hex
-
-dl: dl.o
- $(CC) $(LDFLAGS) -o dl dl.o
-
-dlbin: dlbin.o
- $(CC) $(LDFLAGS) -o dlbin dlbin.o $(LIBOBJ)
-
-cv: cv.o
- $(CC) $(LDFLAGS) -o cv cv.o
+++ /dev/null
-/*
- * Download Z80 load module into the RC702
- *
- * Adapted (untested) to new ack.out format by
- * Ceriel Jacobs, Vrije Universiteit, Amsterdam
- */
-#include <stdio.h>
-#include <assert.h>
-#include <out.h>
-
-int disp = 0;
-
-char hex[] = "0123456789ABCDEF";
-
-#define DATTYPE 0
-#define EOFTYPE 1
-#define SEGTYPE 2
-#define PCTYPE 3
-
-#define MAXBYTE 32
-
-char *progname;
-
-struct outhead ohead;
-struct outsect sect[MAXSECT];
-
-long pc;
-
-main(argc,argv) char **argv; {
- register unsigned nd;
- register char *s;
- int first = 1;
- int i;
-
- progname = argv[0];
- while (argc > 1 && argv[1][0] == '-') {
- switch (argv[1][1]) {
- case 'd':
- /* displacement at load time */
- disp = atoi(&argv[1][2]);
- break;
- }
- argc--;
- argv++;
- }
- s = "a.out";
- if (argc == 2)
- s = argv[1];
- else if (argc != 1) {
- fprintf(stderr,"usage: %s [flags] [object file]\n",progname);
- exit(-1);
- }
- if (! rd_open(s)) {
- fprintf(stderr,"%s: can't open %s\n",progname,s);
- exit(-1);
- }
- rd_ohead(&ohead);
- if (ohead.oh_flags & HF_LINK) {
- fprintf(stderr,"%s: %s contains unresolved references\n",progname,s);
- exit(-1);
- }
- rd_sect(sect, ohead.oh_nsect);
- for (i = 0; i < ohead.oh_nsect; i++) {
- rd_outsect(i);
- pc = sect[i].os_base;
- if (first) {
- first = 0;
- putchar('L');
- putchar('S');
- }
- segment(i);
- while (sect[i].os_size) {
- unsigned int sz = 8096, fl;
- extern char *calloc();
- register char *buf;
- char *pbuf;
-
- if (sz > sect[i].os_size) sz = sect[i].os_size;
- sect[i].os_size -= sz;
- pbuf = buf = calloc(sz, 1);
- if (fl = sect[i].os_flen) {
- if (fl > sz) fl = sz;
- sect[i].os_flen -= fl;
-
- rd_emit(buf, (long) fl);
- }
- while (sz >= MAXBYTE) {
- data(MAXBYTE, (int) pc, buf);
- sz -= MAXBYTE;
- buf += MAXBYTE;
- pc += MAXBYTE;
- }
- if (sz > 0) {
- data(sz, (int) pc, buf);
- }
- free(pbuf);
- }
- }
- if (first == 0) eof();
- exit(0);
-}
-
-segment(sg) {
-
- newline(2,0,SEGTYPE);
- word(sg);
- endline();
-}
-
-data(nd,pc,buf)
- register char *buf;
- int pc;
-{
- register i;
-
- newline(nd, pc+disp, DATTYPE);
- for (i = 0; i < nd; i++) {
- byte(*buf++);
- }
- endline();
-}
-
-int check, bytecount;
-
-newline(n,pc,typ) {
-
- check = 0;
- bytecount = n+5;
- putchar('\n'); /* added instruction */
- putchar(':');
- byte(n);
- word(pc);
- byte(typ);
-}
-
-endline() {
-
- byte(-check);
- assert(bytecount == 0);
-}
-
-word(w) {
-
- byte(w>>8);
- byte(w);
-}
-
-byte(b) {
-
- check += b;
- bytecount--;
- putchar(hex[(b>>4) & 017]);
- putchar(hex[b & 017]);
-}
-
-rd_fatal()
-{
- fprintf(stderr, "%s: Read error\n", progname);
- exit(-1);
-}
-
-eof() {
-
- newline(0,0,EOFTYPE);
- byte(0xFF);
- putchar('\n');
-}
+++ /dev/null
-# $Revision$
-var w=2
-var p=2
-var s=2
-var l=4
-var f=4
-var d=4
-var M=int
-var NAME=int22
-var LIB=lib/int22/tail_
-var RT=lib/int22/head_
-var SIZE_FLAG=-sm
-var CPP_F=-DCPM=CPM
-var INCLUDES=-I{EM}/include/_tail_cc -I{EM}/include/_tail_mon
-name asld
- from .k.m.a.g
- to .out
- outfile e.out
- program {EM}/lib/em_ass
- mapflag -l* LNAME={EM}/{LIB}*
- mapflag -+* ASS_F={ASS_F?} -+*
- mapflag --* ASS_F={ASS_F?} --*
- mapflag -s* SIZE_FLAG=-s*
- args {SIZE_FLAG} \
- ({RTS}:.b.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
- (.p:{TAIL}={EM}/{LIB}pc) \
- (.b:{TAIL}={EM}/{LIB}bc) \
- (.b.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
- (.b.c.p:{TAIL}={EM}/{LIB}mon)
- linker
-end
+++ /dev/null
-# $Header$
-MACH=z80
-all: libem_o.a end.o
-
-install: all
- ../../install end.o end_em
- ../../install libem_o.a tail_em
-
-
-cmp: all
- -../../compare end.o end_em
- -../../compare libem_o.a tail_em
-
-libem_o.a: libem_s.a
- ASAR=aal ; export ASAR ;\
- march . libem_o.a
-
-end.o: end.s
- $(MACH) -I../../../h -c end.s
-
-clean:
- rm -f *.o libem_o.a
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/end.s
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
+++ /dev/null
-if z80 -c $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.sect .text; .sect .rom; .sect .data; .sect .bss
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- ! $Header$
- .sect .text
-endtext:
-_etext:
- .align 2
- .sect .data
-enddata:
-_edata:
- .align 2
-.sect .endsect
-_end:
-endbss:
- .align 2
+++ /dev/null
-.define pstrng
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-
-! print a string of characters to the console
-! entry: DE points to string
-! string terminator is 0x00
-! exit: DE points to string terminator
-pstrng: push af
-1: ld a,(de)
- or a
- jr z,2f
- call putchar
- inc de
- jr 1b
-2: pop af
- ret
+++ /dev/null
-.define endtext,enddata,endbss
-.define _end,_etext,_edata
-
- .text
-endtext:
-_etext:
- .align 2
- .data
-enddata:
-_edata:
- .align 2
- .bss
-_end:
-endbss:
- .align 2
+++ /dev/null
-TAIL=libhermac_o.a
-# Other possibilities are: tail.nascom and tail.cpm
-MACH=z80
-
-all: head_em.o libhermac_o.a libnascom_o.a libcpm_o.a
-
-install: head_em.o $(TAIL)
- ../../install head_em.o head_em
- ../../install $(TAIL) tail_sys
-
-cmp: head_em.o $(TAIL)
- -../../compare head_em.o head_em
- -../../compare $(TAIL) tail_sys
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-libcpm_o.a: libcpm_s.a
- ASAR=aal ; export ASAR; march . libcpm_o.a
-
-libnascom_o.a: libnascom_s.a
- ASAR=aal ; export ASAR; march . libnascom_o.a
-
-libhermac_o.a: libhermac_s.a
- ASAR=aal ; export ASAR; march . libhermac_o.a
-
-libcpm_s.a:
- @echo Warning: untested, this is an example
- arch cr libcpm_s.a mon.cpm.s
- echo libcpm_s.a > LIST
- arch t libcpm_s.a >> LIST
-
-libnascom_s.a:
- arch cr libnascom_s.a mon.s char.nas.s
- echo libnascom_s.a > LIST
- arch t libnascom_s.a >> LIST
-
-libhermac_s.a:
- arch cr libhermac_s.a mon.s char.her.s
- echo libhermac_s.a > LIST
- arch t libhermac_s.a >> LIST
-
-clean:
- rm -f *.o *_o.a out nohup.out Out
-
-opr:
- make pr | opr
-pr:
- @pr `pwd`/Makefile `pwd`/head_em.s
- @pr `pwd`/mon.s `pwd`/mon.cpm.s `pwd`/char.nas.s `pwd`/char.her.s
+++ /dev/null
-if z80 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define putchr
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-! output routine in monitor
-CRT = 0x013B
-! output a charcter
-! entry: ascii character in a
-putchr:
- push hl
- push bc
- ld hl,tab
- ld b,5
-1: cp (hl)
- jr z,fetch
- inc hl
- inc hl
- djnz 1b
-2: call CRT
- pop bc
- pop hl
- ret
-fetch: inc hl
- ld a,(hl)
- jr 2b
-! conversion table for nascom characters
-tab: .data1 0x0D,0x00
- .data1 0x1B,0x1E
- .data1 0x08,0x1D
- .data1 0x0A,0x1F
- .data1 0x7F,0x00
+++ /dev/null
-.define putchr
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-putchr:
- push hl
- push de
- push bc
- cp 0x0A
- jr nz,1f
- ld a,0x1F
-1:
- ld c,a
-2:
- in a,0xF1
- and 4
- jr z,2b
- ld a,c
- out 0xF0,a
- pop bc
- pop de
- pop hl
- ret
+++ /dev/null
-.define _read,_write,_ioctl,_getpid,_open,_close,_exit,_errno
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-_read:
- ld (savebc),bc
- push af
- pop bc
- ld (saveaf),bc ! save all registers in savereg
- ld (savede),de
- ld (savehl),hl
- ld (saveix),ix
- ex (sp),hl ! return address in hl
- pop bc ! skip return address
- pop bc ! get fd
- ld a,b ! check fd = 0
- or c
- jr nz,errrd
- pop de ! get buffer
- pop bc ! get count
- ld ix,0 ! reset counter
- push bc
- push de
- push ix
- push hl ! return address
- ex de,hl ! buffer to hl
-1: ld a,b
- or c
- jr z,done ! done if count = 0
- call getchr
- ld (hl),a
- inc hl ! increment pointer
- inc ix ! increment char counter
- dec bc ! decrement count
- cp 0xA
- jr nz,1b ! done if char = CR
-done:
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ret
-errrd:
- push bc
- push hl ! return address
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ld ix,-1
- ret
-
-_write:
- ld (savebc),bc
- push af
- pop bc
- ld (saveaf),bc ! save all registers in savereg
- ld (savede),de
- ld (savehl),hl
- ld (saveix),ix
- ex (sp),hl ! return address in hl
- pop de ! skip return address
- pop de ! get fd
- ld a,e ! check for fd = 1
- cp 1
- jr nz,errwr
- ld a,d
- or a
- jr nz,errwr
- pop de ! buffer in de
- pop bc ! count in bc
- push bc
- push de
- push de
- push hl
- ex de,hl ! buffer in hl
- ld e,c
- ld d,b ! count also in de
-1: ld a,b
- or c
- jr z,exit
- ld a,(hl)
- call putchr
- inc hl
- dec bc
- jr 1b
-errwr:
- push de
- push hl
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ld ix,-1 ! error in fd
- ret
-exit:
- push de ! count on stack
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- pop ix ! return count to caller
- ret
-
-_ioctl:
- ret
-_getpid:
- ret
-
-! open return a file descriptor (0,1,2)
-! depending on 'mode'
-! mode 2 doesn't work!!
-_open:
- ld (savebc),bc
- push af
- pop bc
- ld (saveaf),bc ! save all registers in savereg
- ld (savede),de
- ld (savehl),hl
- ld (saveix),ix
- pop bc ! return address
- pop de ! name pointer
- pop ix ! mode (0 for read,
- ! 1 for write)
- push ix
- push de
- push bc
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ret ! return fd = 0 for read
- ! fd = 1 for write
-
-_close:
- ld ix,0 ! return succes
- ret
-_exit:
-jp 0x38
-.sect .data
-_errno:
- .data2 0
-! output routine in monitor
-CRT = 0x013B
-! output a charcter
-! entry: ascii character in a
-.sect .text
-!putchr:
-! push hl
-! push bc
-! ld hl,tab
-! ld b,5
-!1: cp (hl)
-! jr z,fetch
-! inc hl
-! inc hl
-! djnz 1b
-!2: call CRT
-! pop bc
-! pop hl
-! ret
-!fetch: inc hl
-! ld a,(hl)
-! jr 2b
-!! conversion table for nascom characters
-!tab: .data1 0x0D,0x00
-! .data1 0x1B,0x1E
-! .data1 0x08,0x1D
-! .data1 0x0A,0x1F
-! .data1 0x7F,0x00
-
-KBD = 0x69
-! get character from keyboard
-getchr:
- call KBD
- jr nc,getchr
- cp 0x1F
- jr z,CR
- cp 0x1D
- jr z,BS
- ret
-CR: ld a,0xA
- ret
-BS: ld a,0x8
- ret
+++ /dev/null
-TAIL=libhermac_o.a
-# Other possibilities are: tail.nascom and tail.cpm
-MACH=z80
-
-all: head_em.o libhermac_o.a libnascom_o.a libcpm_o.a
-
-install: head_em.o $(TAIL)
- ../../install head_em.o head_em
- ../../install $(TAIL) tail_sys
-
-cmp: head_em.o $(TAIL)
- -../../compare head_em.o head_em
- -../../compare $(TAIL) tail_sys
-
-head_em.o: head_em.s
- $(MACH) -I../../../h -c head_em.s
-
-libcpm_o.a: libcpm_s.a
- ASAR=aal ; export ASAR; march . libcpm_o.a
-
-libnascom_o.a: libnascom_s.a
- ASAR=aal ; export ASAR; march . libnascom_o.a
-
-libhermac_o.a: libhermac_s.a
- ASAR=aal ; export ASAR; march . libhermac_o.a
-
-libcpm_s.a:
- @echo Warning: untested, this is an example
- arch cr libcpm_s.a mon.cpm.s
- echo libcpm_s.a > LIST
- arch t libcpm_s.a >> LIST
-
-libnascom_s.a:
- arch cr libnascom_s.a mon.s char.nas.s
- echo libnascom_s.a > LIST
- arch t libnascom_s.a >> LIST
-
-libhermac_s.a:
- arch cr libhermac_s.a mon.s char.her.s
- echo libhermac_s.a > LIST
- arch t libhermac_s.a >> LIST
-
-clean:
- rm -f *.o *_o.a out nohup.out Out
-
-opr:
- make pr | opr
-pr:
- @pr `pwd`/Makefile `pwd`/head_em.s
- @pr `pwd`/mon.s `pwd`/mon.cpm.s `pwd`/char.nas.s `pwd`/char.her.s
+++ /dev/null
-if z80 -c -L $1 1>&2
-then echo `basename $1 $2`.o
-else exit 1
-fi
+++ /dev/null
-.define putchr
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-! output routine in monitor
-CRT = 0x013B
-! output a charcter
-! entry: ascii character in a
-putchr:
- push hl
- push bc
- ld hl,tab
- ld b,5
-1: cp (hl)
- jr z,fetch
- inc hl
- inc hl
- djnz 1b
-2: call CRT
- pop bc
- pop hl
- ret
-fetch: inc hl
- ld a,(hl)
- jr 2b
-! conversion table for nascom characters
-tab: .data1 0x0D,0x00
- .data1 0x1B,0x1E
- .data1 0x08,0x1D
- .data1 0x0A,0x1F
- .data1 0x7F,0x00
+++ /dev/null
-.define putchr
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-putchr:
- push hl
- push de
- push bc
- cp 0x0A
- jr nz,1f
- ld a,0x1F
-1:
- ld c,a
-2:
- in a,0xF1
- and 4
- jr z,2b
- ld a,c
- out 0xF0,a
- pop bc
- pop de
- pop hl
- ret
+++ /dev/null
-.define _read,_write,_ioctl,_getpid,_open,_close,_exit,_errno
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-_read:
- ld (savebc),bc
- push af
- pop bc
- ld (saveaf),bc ! save all registers in savereg
- ld (savede),de
- ld (savehl),hl
- ld (saveix),ix
- ex (sp),hl ! return address in hl
- pop bc ! skip return address
- pop bc ! get fd
- ld a,b ! check fd = 0
- or c
- jr nz,errrd
- pop de ! get buffer
- pop bc ! get count
- ld ix,0 ! reset counter
- push bc
- push de
- push ix
- push hl ! return address
- ex de,hl ! buffer to hl
-1: ld a,b
- or c
- jr z,done ! done if count = 0
- call getchr
- ld (hl),a
- inc hl ! increment pointer
- inc ix ! increment char counter
- dec bc ! decrement count
- cp 0xA
- jr nz,1b ! done if char = CR
-done:
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ret
-errrd:
- push bc
- push hl ! return address
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ld ix,-1
- ret
-
-_write:
- ld (savebc),bc
- push af
- pop bc
- ld (saveaf),bc ! save all registers in savereg
- ld (savede),de
- ld (savehl),hl
- ld (saveix),ix
- ex (sp),hl ! return address in hl
- pop de ! skip return address
- pop de ! get fd
- ld a,e ! check for fd = 1
- cp 1
- jr nz,errwr
- ld a,d
- or a
- jr nz,errwr
- pop de ! buffer in de
- pop bc ! count in bc
- push bc
- push de
- push de
- push hl
- ex de,hl ! buffer in hl
- ld e,c
- ld d,b ! count also in de
-1: ld a,b
- or c
- jr z,exit
- ld a,(hl)
- call putchr
- inc hl
- dec bc
- jr 1b
-errwr:
- push de
- push hl
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ld ix,-1 ! error in fd
- ret
-exit:
- push de ! count on stack
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- pop ix ! return count to caller
- ret
-
-_ioctl:
- ret
-_getpid:
- ret
-
-! open return a file descriptor (0,1,2)
-! depending on 'mode'
-! mode 2 doesn't work!!
-_open:
- ld (savebc),bc
- push af
- pop bc
- ld (saveaf),bc ! save all registers in savereg
- ld (savede),de
- ld (savehl),hl
- ld (saveix),ix
- pop bc ! return address
- pop de ! name pointer
- pop ix ! mode (0 for read,
- ! 1 for write)
- push ix
- push de
- push bc
- ld bc,(saveaf)
- push bc
- pop af
- ld bc,(savebc)
- ld de,(savede)
- ld hl,(savehl)
- ld ix,(saveix)
- ret ! return fd = 0 for read
- ! fd = 1 for write
-
-_close:
- ld ix,0 ! return succes
- ret
-_exit:
-jp 0x38
-.sect .data
-_errno:
- .data2 0
-! output routine in monitor
-CRT = 0x013B
-! output a charcter
-! entry: ascii character in a
-.sect .text
-!putchr:
-! push hl
-! push bc
-! ld hl,tab
-! ld b,5
-!1: cp (hl)
-! jr z,fetch
-! inc hl
-! inc hl
-! djnz 1b
-!2: call CRT
-! pop bc
-! pop hl
-! ret
-!fetch: inc hl
-! ld a,(hl)
-! jr 2b
-!! conversion table for nascom characters
-!tab: .data1 0x0D,0x00
-! .data1 0x1B,0x1E
-! .data1 0x08,0x1D
-! .data1 0x0A,0x1F
-! .data1 0x7F,0x00
-
-KBD = 0x69
-! get character from keyboard
-getchr:
- call KBD
- jr nc,getchr
- cp 0x1F
- jr z,CR
- cp 0x1D
- jr z,BS
- ret
-CR: ld a,0xA
- ret
-BS: ld a,0x8
- ret
+++ /dev/null
-# $Header$
-EMHOME = ../../..
-h = $(EMHOME)/h
-LIBOBJ = $(EMHOME)/modules/lib/libobject.a
-CDIR = $(EMHOME)/mach/proto/as
-CPP = $(EMHOME)/lib/cpp
-DEF =
-
-FFLAG =
-INCL = -I. -I$h $(DEF)
-CFLAGS = $(FFLAG) -O $(INCL)
-YFLAGS = -d
-LDFLAGS = $(FFLAG)
-
-CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
- $(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
-COBJ = comm3.o comm4.o comm5.o \
- comm6.o comm7.o comm8.o
-MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
-COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
-
-all: as
-
-install:all
- ../../install as
-
-cmp:
- -../../compare as
-
-clean:
- rm -f *.o as as.[cy] y.tab.h
-
-pr: $(MACH)
- @pr -n $(MACH)
-
-opr:
- make pr | opr
-as: $(COBJ) as.o
- $(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
-
-as.y: $(CDIR)/comm2.y
- $(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
- -@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
-
-lint: $(CSRC) as.c
- lint $(INCL) $(CSRC) as.c
-
-y.tab.h: as.c
-$(COBJ): y.tab.h
-$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
-$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
-as.y: mach2.c
-comm3.o: mach3.c
-as.y: mach4.c
-comm8.o: mach5.c
-comm3.o: $(CDIR)/comm3.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm3.c
-comm4.o: $(CDIR)/comm4.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm4.c
-comm5.o: $(CDIR)/comm5.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm5.c
-comm6.o: $(CDIR)/comm6.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm6.c
-comm7.o: $(CDIR)/comm7.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm7.c
-comm8.o: $(CDIR)/comm8.c
- $(CC) -c $(CFLAGS) $(CDIR)/comm8.c
+++ /dev/null
-# $Header$
-
-EMHOME=../../..
-PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
-PFLAGS=
-CFLAGS=$(PREFLAGS) $(PFLAGS) -O
-LDFLAGS=$(PFLAGS)
-LINTOPTS=-hbxac
-LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
-CDIR=$(EMHOME)/mach/proto/cg
-CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
- $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
- $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
- $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
-OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
- move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
-
-all: tables.c
- make "EMHOME="$(EMHOME) cg
-
-cg: tables.o $(OFILES)
- $(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
-
-tables.o: tables.c
- $(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
-
-codegen.o: $(CDIR)/codegen.c
- $(CC) -c $(CFLAGS) $(CDIR)/codegen.c
-compute.o: $(CDIR)/compute.c
- $(CC) -c $(CFLAGS) $(CDIR)/compute.c
-equiv.o: $(CDIR)/equiv.c
- $(CC) -c $(CFLAGS) $(CDIR)/equiv.c
-fillem.o: $(CDIR)/fillem.c
- $(CC) -c $(CFLAGS) $(CDIR)/fillem.c
-gencode.o: $(CDIR)/gencode.c
- $(CC) -c $(CFLAGS) $(CDIR)/gencode.c
-glosym.o: $(CDIR)/glosym.c
- $(CC) -c $(CFLAGS) $(CDIR)/glosym.c
-main.o: $(CDIR)/main.c
- $(CC) -c $(CFLAGS) $(CDIR)/main.c
-move.o: $(CDIR)/move.c
- $(CC) -c $(CFLAGS) $(CDIR)/move.c
-nextem.o: $(CDIR)/nextem.c
- $(CC) -c $(CFLAGS) $(CDIR)/nextem.c
-reg.o: $(CDIR)/reg.c
- $(CC) -c $(CFLAGS) $(CDIR)/reg.c
-regvar.o: $(CDIR)/regvar.c
- $(CC) -c $(CFLAGS) $(CDIR)/regvar.c
-salloc.o: $(CDIR)/salloc.c
- $(CC) -c $(CFLAGS) $(CDIR)/salloc.c
-state.o: $(CDIR)/state.c
- $(CC) -c $(CFLAGS) $(CDIR)/state.c
-subr.o: $(CDIR)/subr.c
- $(CC) -c $(CFLAGS) $(CDIR)/subr.c
-var.o: $(CDIR)/var.c
- $(CC) -c $(CFLAGS) $(CDIR)/var.c
-
-install: all
- ../../install cg
-
-cmp: all
- -../../compare cg
-
-distr: tables.c
- rm -f tables1.[ch]
- cp tables.c tables1.c
- cp tables.h tables1.h
- chmod -w tables1.[ch]
-
-
-tables.c: table
- -mv tables.h tables.h.save
- $(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
- -if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
- -if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
-
-lint: $(CFILES)
- lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
-clean:
- rm -f *.o tables.c tables.h debug.out cg tables.h.save
-
-codegen.o: $(CDIR)/assert.h
-codegen.o: $(CDIR)/data.h
-codegen.o: $(CDIR)/equiv.h
-codegen.o: $(CDIR)/extern.h
-codegen.o: $(CDIR)/param.h
-codegen.o: $(CDIR)/result.h
-codegen.o: $(CDIR)/state.h
-codegen.o: tables.h
-codegen.o: $(CDIR)/types.h
-compute.o: $(CDIR)/assert.h
-compute.o: $(CDIR)/data.h
-compute.o: $(CDIR)/extern.h
-compute.o: $(CDIR)/glosym.h
-compute.o: $(CDIR)/param.h
-compute.o: $(CDIR)/result.h
-compute.o: tables.h
-compute.o: $(CDIR)/types.h
-equiv.o: $(CDIR)/assert.h
-equiv.o: $(CDIR)/data.h
-equiv.o: $(CDIR)/equiv.h
-equiv.o: $(CDIR)/extern.h
-equiv.o: $(CDIR)/param.h
-equiv.o: $(CDIR)/result.h
-equiv.o: tables.h
-equiv.o: $(CDIR)/types.h
-fillem.o: $(CDIR)/assert.h
-fillem.o: $(CDIR)/data.h
-fillem.o: $(CDIR)/extern.h
-fillem.o: mach.c
-fillem.o: mach.h
-fillem.o: $(CDIR)/param.h
-fillem.o: $(CDIR)/regvar.h
-fillem.o: $(CDIR)/result.h
-fillem.o: tables.h
-fillem.o: $(CDIR)/types.h
-gencode.o: $(CDIR)/assert.h
-gencode.o: $(CDIR)/data.h
-gencode.o: $(CDIR)/extern.h
-gencode.o: $(CDIR)/param.h
-gencode.o: $(CDIR)/result.h
-gencode.o: tables.h
-gencode.o: $(CDIR)/types.h
-glosym.o: $(CDIR)/glosym.h
-glosym.o: $(CDIR)/param.h
-glosym.o: tables.h
-glosym.o: $(CDIR)/types.h
-main.o: $(CDIR)/param.h
-move.o: $(CDIR)/assert.h
-move.o: $(CDIR)/data.h
-move.o: $(CDIR)/extern.h
-move.o: $(CDIR)/param.h
-move.o: $(CDIR)/result.h
-move.o: tables.h
-move.o: $(CDIR)/types.h
-nextem.o: $(CDIR)/assert.h
-nextem.o: $(CDIR)/data.h
-nextem.o: $(CDIR)/extern.h
-nextem.o: $(CDIR)/param.h
-nextem.o: $(CDIR)/result.h
-nextem.o: tables.h
-nextem.o: $(CDIR)/types.h
-reg.o: $(CDIR)/assert.h
-reg.o: $(CDIR)/data.h
-reg.o: $(CDIR)/extern.h
-reg.o: $(CDIR)/param.h
-reg.o: $(CDIR)/result.h
-reg.o: tables.h
-reg.o: $(CDIR)/types.h
-regvar.o: $(CDIR)/assert.h
-regvar.o: $(CDIR)/data.h
-regvar.o: $(CDIR)/extern.h
-regvar.o: $(CDIR)/param.h
-regvar.o: $(CDIR)/regvar.h
-regvar.o: $(CDIR)/result.h
-regvar.o: tables.h
-regvar.o: $(CDIR)/types.h
-salloc.o: $(CDIR)/assert.h
-salloc.o: $(CDIR)/data.h
-salloc.o: $(CDIR)/extern.h
-salloc.o: $(CDIR)/param.h
-salloc.o: $(CDIR)/result.h
-salloc.o: tables.h
-salloc.o: $(CDIR)/types.h
-state.o: $(CDIR)/assert.h
-state.o: $(CDIR)/data.h
-state.o: $(CDIR)/extern.h
-state.o: $(CDIR)/param.h
-state.o: $(CDIR)/result.h
-state.o: $(CDIR)/state.h
-state.o: tables.h
-state.o: $(CDIR)/types.h
-subr.o: $(CDIR)/assert.h
-subr.o: $(CDIR)/data.h
-subr.o: $(CDIR)/extern.h
-subr.o: $(CDIR)/param.h
-subr.o: $(CDIR)/result.h
-subr.o: tables.h
-subr.o: $(CDIR)/types.h
-var.o: $(CDIR)/data.h
-var.o: $(CDIR)/param.h
-var.o: $(CDIR)/result.h
-var.o: tables.h
-var.o: $(CDIR)/types.h
+++ /dev/null
-all:
-
-install:
- ../../install head_em.s head_em
- ../../install libem_s.a tail_em
- ../../install end.s end_em
-
-cmp:
- -../../compare head_em.s head_em
- -../../compare libem_s.a tail_em
- -../../compare end.s end_em
-
-clean:
-
-opr :
- make pr | opr
-
-pr:
- @pr `pwd`/head_em.s
- @arch pv libem_s.a | pr -h `pwd`/libem_s.a
- @pr `pwd`/end.s
+++ /dev/null
-.define endtext,enddata,endbss,_etext,_edata,_end
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .end ! only for declaration of _end and endbss.
-
- .sect .text
-endtext:
-_etext:
- .sect .data
-enddata:
-_edata:
- .sect .end
-_end:
-endbss:
+++ /dev/null
-.define EXIT, F_DUM
-.define ERANGE, ESET, EHEAP, EILLINS, EODDZ, ECASE, EBADMON
-.define hol0, trppc, trpim, reghp, argv, envp
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-EXIT = 0
-F_DUM = 0
-
-ERANGE = 1
-ESET = 2
-EHEAP = 17
-EILLINS = 18
-EODDZ = 19
-ECASE = 20
-EBADMON = 25
-
-.sect .text
- !clear .sect .bss
- ldk R2, $0
- ld R3, $endbss
- ld R0, R3
- sub R0, $begbss
- jr EQ, 1f
- sra R0
- push *RR2, $0
- dec R0
- jr EQ, 1f
- ldl RR4, RR2
- dec R5, $2
- lddr *RR4, *RR2, R0
-1:
- ldb RL0, $10 ! echo newline
- sc $4
- ldl RR14, $0
- push *RR14, envp
- push *RR14, argv
- push *RR14, $1
- calr __m_a_i_n
- ldl RR14, $0xC00017FC
- sc $0
-
-.sect .bss
-begbss:
-.sect .data
-hol0:
- .data2 0,0 ! line no
- .data2 0,0 ! file
-trppc:
- .data2 0
-trpim:
- .data2 0
-argv:
-envp:
- .data2 1f
- .data2 0
-1: .asciz "program"
-reghp:
- .data2 endbss
+++ /dev/null
-.define mon
-.sect .text
-.sect .rom
-.sect .data
-.sect .bss
-.sect .text
-
-mon:
- popl saveret, *RR14
- pop R0, *RR14 ! iocode
- cp R0, $1 ! exit
- jr NE, read
- inc R15, $2
- sc $EXIT
-read: cp R0, $3 ! read
- jr NE, write
- pop R0, *RR14 ! dummy; all input from stdin
- pop R1, *RR14 ! ptr to buffer
- pop R2, *RR14 ! nr of bytes to be read
- ld R3, R1
- cp R2, $0
- jr EQ, 6f
-1: sc $2 ! read character into RL0
- cpb RL0, $004 ! \^D
- jr EQ, 6f
- cpb RL0, $015 ! \cr
- jr NE, 2f
- ldb RL0, $012
-2: sc $4 ! echo
- cpb RL0, $010 ! \^H
- jr NE, 3f
- cp R1, R3
- jr EQ, 5f
- dec R1
- jr 5f
-3: cpb RL0, $0100 ! \@
- jr NE, 4f
- ld R1, R3
- ldb RL0, $012
- sc $4
- jr 5f
-4: ldb 0(R1), RL0
- inc R1
- cpb RL0, $012 ! \nl
- jr EQ, 6f
-5: djnz R2, 1b
-6: sub R1, R3 ! nr of bytes read
- push *RR14, R1
- push *RR14, $0
- jr retu
-write: cp R0, $4 ! write
- jr NE, open
- pop R0, *RR14 ! dummy; all output to stdout
- pop R1, *RR14 ! ptr to buffer
- pop R2, *RR14 ! nr of bytes to be written
- ld R3, R2
- cp R2, $0
- jr EQ, 8f
-9: ld R0, $5000 ! counter to delay printing a little
-7: djnz R0, 7b
- ldb RL0, 0(R1)
- sc $4
- inc R1
- djnz R2, 9b
-8: sub R3, R2 ! nr of bytes written
- push *RR14, R3
- push *RR14, $0
- jr retu
-open: cp R0, $5 ! open
- jr close
- jr NE, close
- ld *RR14, $0
- ld 2(R15), $0
- jr retu
-close: cp R0, $6 ! close
- jr NE, ioctl
- ld *RR14, $0
- jr retu
-ioctl: cp R0, $54 ! ioctl
- jr NE, err
- inc R15, $4
- ld *RR14, $0
-retu: ldl RR2, saveret
- jp *RR2
-err: push *RR14, saveret
- push *RR14, $EBADMON
- calr trp
- ret