Trailing-Edge
-
PDP-10 Archives
-
decuslib10-05
-
43,50337/10/sys1.mac
There is 1 other file named sys1.mac in the archive. Click here to see a list.
COMMENT;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
AUTHOR: CLAES WIHLBORG
VERSION: 3
CONTENT: TABLE OF SYSTEM CLASSES AND PROCEDURES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SALL
SEARCH SIMMC2,SIMMAC,SIMRPA,SIMMCR
CTITLE SYS1
INTERN SYS1
TWOSEG
RELOC 400000
QSOL==1
QSBL==0
PPROC==1
GARBC==2
EDIT==1
XXXX==0
KDPUPF==22
QLOC==4
SUBTTL MACRO DEFINITIONS
COMMENT;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
TO SIMPLIFY THE DEFINITIONS OF THE SYSTEM COMPONENTS, A SET OF
MACROS ARE DEFINED. THEY ARE:
SYSPRO DEFINE SYSTEM PROCEDURE
SYSCLA DEFINE SYSTEM CLASS
SYSEND END OF CLASS DEFINITION
SYSPAR DEFINE FORMAL PARAMETER
SYSSIM DEFINE SIMPLE VARIABLE
THE ARGUMENTS TO THE SYSPRO MACRO ARE:
NAME OF THE PROCEDURE
QUA IF TYPE IS REFERENCE
TYPE OF THE PROCEDURE
NUMBER OF PARAMETERS
FIXUP OF PROTOTYPE
NUMBER OF ACCUMULATORS TO BE RESERVED FOR PROCEDURE EVALUATION
PR IF PROPER PROCEDURE
GB IF PROCEDURE CALL CAN CAUSE GARBAGE COLLECTION
SORT OF PROCEDURE
THE ARGUMENTS TO THE SYSCLA MACRO ARE:
NAME OF CLASS
PREFIX IF ANY
FIXUP OF PROTOTYPE
SIZE OF CLASS INSTANCE (PREFIX NOT INCLUDED)
NUMBER OF FORMAL PARAMETERS
KDPUPF IF THEY SHOULD BE SET
THE ARGUMENTS TO THE SYSPAR MACRO:
TYPE OF THE PARAMETER
KIND OF PARAMETER
MODE OF TRANSMISSION
QUA IF TYPE IS REF
OFFSET OF PARAMETER IN BLOCK INSTANCE
THE ARGUMENTS OF THE SYSSIM MACRO ARE:
NAME OF THE VARIABLE
TYPE OF THE VARIABLE
QUA IF TYPE IS REF
OFFSET IN CLASS INSTANCE (PREFIX NOT COUNTED)
THE MACRO SYSEND HAS NO ARGUMENTS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;[14] DEFINITION OF MACRO SC MOVED TO SIMMAC
DEFINE TXT(TEXT)<
IFB <TEXT>,<EXP 0,0>
IFNB<TEXT>,<X==0
IRPC TEXT,<X==X+1>
SIXBIT?TEXT?
IFG 7-X,<0>
>
>
DEFINE PROTECT <QPROT==1>;;[127]
QPROT==0 ;[127]
DEFINE ZQU(TY,KI,MO,NAC,PR,GBED,TYP)<;;[127]
BYTE (3)1B<QZQU+^D33>(4)QPROT(1)1(4)TY(3)MO,KI(3)NAC+0(1)PR+0(2)GBED+0(12)TYP+0
QPROT==0>
DEFINE ZHB(TY,NRP,SIZE<0>,KDUP<0>)<
BYTE (3)1B<QZHB+^D33>,TY(6)0,QSOL(18)0
BYTE (5)(10)SIZE(9)(12)
BYTE (8)NRP,(5)QSBL,,,KDUP
>
DEFINE SYSSIM(ANAME,ATYPE,AREFID,AIDX<0>)<
DFIX
ZQU(Q'ATYPE,QSIMPLE,QDECLARED)
GFIX(AIDX)
TXT(ANAME)
IFIDN<ATYPE><REF>,<TXT(AREFID)>
>
DEFINE SYSPAR(ATYPE,AKIND,AMODE,AREF,AOFFSET)<
IFNB<AMODE>,<ZQU(Q'ATYPE,Q'AKIND,Q'AMODE,,,,AOFFSET)>
IFB <AMODE>,<
Y==<Q'ATYPE-QREF>*<Q'AKIND-QARRAY>
IFE Y,<ZQU(Q'ATYPE,Q'AKIND,QREFER,,,,AOFFSET)>
IFN Y,<ZQU(Q'ATYPE,Q'AKIND,QVALUE,,,,AOFFSET)>
>
IFIDN<ATYPE><REF>,<TXT(AREF)>
>
DEFINE SYSPRO(ANAME,AREF,ATYPE,ANRP,ARTS,ANAC,APR,AGB,AIDX<QPRTYP>)<
DFIX
ZQU(Q'ATYPE,QPROCEDURE,QDECLARED,ANAC,APR,AGB,AIDX)
GFIX(ARTS)
TXT(ANAME)
IFIDN<ATYPE><REF>,<TXT(AREF)>
ZHB(QPROCB,ANRP)
>
DEFINE SYSCLA(ANAME,PREFIX,ARTS<0>,ASIZE<0>,ANRP<0>,KDUP<0>)<
DFIX
ZQU(QNOTYPE,QCLASS,QDECLARED)
GFIX(ARTS)
TXT(ANAME)
TXT(PREFIX)
ZHB(QCLASB,ANRP,ASIZE,KDUP)
QSOL==QSOL+1
>
DEFINE SYSEND<
DFIX
QSOL==QSOL-1
EXP 0
>
DEFINE GFIX(A)<XWD $$C(F..,\XXXX),A>
DEFINE DFIX<$$C(F..,\XXXX):!XXXX==XXXX+1>
SUBTTL MATHEMATICAL SUBROUTINES
QPRTYP==SYSMA
SYS1:
SYSPRO(ABS,,REAL,1,0,,,,SYSI1)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(ARCCOS,,REAL,1,MAAC)
SYSPAR(REAL,SIMPLE)
SYSPRO(ARCSIN,,REAL,1,MAAS)
SYSPAR(REAL,SIMPLE)
SYSPRO(ARCTAN,,REAL,1,MAAT)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(COS,,REAL,1,MACO)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(COSH,,REAL,1,MACH)
SYSPAR(REAL,SIMPLE)
SYSPRO(EXP,,REAL,1,MAEX)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(LN,,REAL,1,MALN)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(SIN,,REAL,1,MASI)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(SINH,,REAL,1,MASH)
SYSPAR(REAL,SIMPLE)
SYSPRO(SQRT,,REAL,1,MASQ)
SYSPAR(RLREAL,SIMPLE)
SYSPRO(TAN,,REAL,1,MATA)
SYSPAR(REAL,SIMPLE)
SYSPRO(TANH,,REAL,1,MATH)
SYSPAR(REAL,SIMPLE)
SUBTTL MISC. PROCEDURES
SYSPRO(ENTIER,,INTEGER,1,0,,,,SYSI4)
SYSPAR(REAL,SIMPLE)
SYSPRO(MOD,,INTEGER,2,0,2,,,SYSI6)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(SIGN,,INTEGER,1,0,,,,SYSI8)
SYSPAR(REAL,SIMPLE)
SYSPRO(CHAR,,CHARACTER,1,0,,,,SYSI2)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(DIGIT,,BOOLEAN,1,0,,,,SYSI3)
SYSPAR(CHARACTER,SIMPLE)
SYSPRO(LETTER,,BOOLEAN,1,0,,,,SYSI5)
SYSPAR(CHARACTER,SIMPLE)
SYSPRO(RANK,,INTEGER,1,0,,,,SYSI7)
SYSPAR(CHARACTER,SIMPLE)
SUBTTL RANDOM DRAWING
QPRTYP==SYSPR
SYSPRO(DISCRETE,,INTEGER,2,RDDI,2)
SYSPAR(REAL,ARRAY)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(DRAW,,BOOLEAN,2,RDDR,2)
SYSPAR(REAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(ERLANG,,REAL,3,RDER,3)
SYSPAR(REAL,SIMPLE)
SYSPAR(REAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(HISTD,,INTEGER,2,RDHI,2)
SYSPAR(REAL,ARRAY)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(LINEAR,,REAL,3,RDLI,3)
SYSPAR(REAL,ARRAY)
SYSPAR(REAL,ARRAY)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(NEGEXP,,REAL,2,RDNE,2)
SYSPAR(REAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(NORMAL,,REAL,3,RDNO,3)
SYSPAR(REAL,SIMPLE)
SYSPAR(REAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(POISSON,,INTEGER,2,RDPO,2)
SYSPAR(REAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(RANDINT,,INTEGER,3,RDRA,3)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SYSPRO(UNIFORM,,REAL,3,RDUN,3)
SYSPAR(REAL,SIMPLE)
SYSPAR(REAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE,REFER)
SUBTTL MISC. PROCEDURES
SYSPRO(CALL,,NOTYPE,1,CPCA,,PPROC)
SYSPAR(REF,SIMPLE)
SYSPRO(DETACH,,NOTYPE,0,CPDT,,PPROC,,SYSI9)
SYSPRO(RESUME,,NOTYPE,1,CPRS,,PPROC)
SYSPAR(REF,SIMPLE)
SYSPRO(BLANKS,,TEXT,1,TXBL,,,GARBC)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(COPY,,TEXT,1,TXCY,,,GARBC)
SYSPAR(TEXT,SIMPLE)
SYSPRO(HISTO,,NOTYPE,4,RDHO,,PPROC)
SYSPAR(REAL,ARRAY)
SYSPAR(REAL,ARRAY)
SYSPAR(REAL,SIMPLE)
SYSPAR(REAL,SIMPLE)
SYSPRO(LOWTEN,,NOTYPE,1,TXLT,,PPROC)
SYSPAR(CHARACTER,SIMPLE)
SUBTTL TEXT ATTRIBUTES
QPRTYP==SYSTX
SYSCLA(TEXT.)
SYSPRO(GETFRAC,,INTEGER,0,TXGF,,,EDIT)
SYSPRO(GETINT,,INTEGER,0,TXGI,,,EDIT)
SYSPRO(GETREAL,,LREAL,0,TXGR,,,EDIT)
SYSPRO(LENGTH,,INTEGER,0,0,,,,SYSK9)
SYSPRO(MAIN,,TEXT,0,TXMN)
SYSPRO(GETCHAR,,CHARACTER,0,TXGC,,,EDIT)
SYSPRO(MORE,,BOOLEAN,0,0,,,,SYSL1)
SYSPRO(POS,,INTEGER,0,0,,,,SYSL2)
SYSPRO(SETPOS,,NOTYPE,1,TXSE,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(PUTCHAR,,NOTYPE,1,TXPC,,PPROC,EDIT)
SYSPAR(CHARACTER,SIMPLE)
SYSPRO(PUTINT,,NOTYPE,1,TXPI,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(PUTFIX,,NOTYPE,2,TXPX,,PPROC,EDIT)
SYSPAR(LREAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(PUTFRAC,,NOTYPE,2,TXPF,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(PUTREAL,,NOTYPE,2,TXPR,,PPROC,EDIT)
SYSPAR(LREAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(SUB,,TEXT,2,TXSU,4)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(STRIP,,TEXT,0,TXST)
SYSEND
SUBTTL CLASS SIMSET
QPRTYP==SYSCL
SYSCLA(SIMSET,,SSST,ZBI%S,0,KDPUPF)
PROTECT ;[127]
SYSCLA(LINKAGE,,SSLG,3,,QLOC)
SYSPRO(SUC,LINK,REF,0,SSSC)
SYSPRO(PRED,LINK,REF,0,SSPD)
SYSPRO(PREV,LINK,REF,0,SSPV,,,,SYSM1)
SYSEND
PROTECT ;[127]
SYSCLA(LINK,LINKAGE,SSLK,3-3,,QLOC)
SYSPRO(OUT,,NOTYPE,0,SSOU,,PPROC)
SYSPRO(FOLLOW,,NOTYPE,1,SSFO,,PPROC)
SYSPAR(REF,SIMPLE,,LINKAGE)
SYSPRO(PRECEDE,,NOTYPE,1,SSPC,,PPROC)
SYSPAR(REF,SIMPLE,,LINKAGE)
SYSPRO(INTO,,NOTYPE,1,SSIT,,PPROC)
SYSPAR(REF,SIMPLE,,HEAD)
SYSEND
PROTECT ;[127]
SYSCLA(HEAD,LINKAGE,SSHD,3-3,,QLOC)
SYSPRO(FIRST,LINK,REF,0,SSFT,2,,,SYSL8)
SYSPRO(LAST,LINK,REF,0,SSLT,2,,,SYSL9)
SYSPRO(EMPTY,,BOOLEAN,0,SSEY)
SYSPRO(CARDINAL,,INTEGER,0,SSCA)
SYSPRO(CLEAR,,NOTYPE,0,SSCL,,PPROC)
SYSEND
SYSEND
SUBTTL CLASS SIMULATION
SYSCLA(SIMULATION,SIMSET,SUSI,ZSU%S-ZBI%S,0,KDPUPF)
PROTECT ;[127]
SYSCLA(PROCESS,LINK,SUPS,4-3,,QLOC)
SYSPRO(IDLE,,BOOLEAN,0,0,,,,SYSL3)
SYSPRO(TERMINATED,,BOOLEAN,0,0,,,,SYSL4)
SYSPRO(EVTIME,,REAL,0,SUEV)
SYSPRO(NEXTEV,PROCESS,REF,0,SUNE)
SYSEND
PROTECT ;[127]
SYSPRO(CURRENT,PROCESS,REF,0,0,,,,SYSL5)
PROTECT ;[127]
SYSPRO(TIME,,REAL,0,0,,,,SYSK1)
QPRTYP=SYSPR
PROTECT ;[127]
SYSPRO(HOLD,,NOTYPE,1,SUHO,,PPROC)
SYSPAR(REAL,SIMPLE)
PROTECT ;[127]
SYSPRO(PASSIVATE,,NOTYPE,0,SUPA,,PPROC)
PROTECT ;[127]
SYSPRO(WAIT,,NOTYPE,1,SUWA,,PPROC)
SYSPAR(REF,SIMPLE,,HEAD)
PROTECT ;[127]
SYSPRO(CANCEL,,NOTYPE,1,SUCA,,PPROC)
SYSPAR(REF,SIMPLE,,PROCESS)
PROTECT ;[127]
SYSPRO(ACCUM,,NOTYPE,4,SUAM,,PPROC)
SYSPAR(REAL,SIMPLE,REFER)
SYSPAR(REAL,SIMPLE,REFER)
SYSPAR(REAL,SIMPLE,REFER)
SYSPAR(REAL,SIMPLE,)
QPRTYP=SYSCL
PROTECT ;[127]
SYSSIM(MAIN,REF,PROCESS,OFFSET(ZSUZPS)-2)
SYSEND
SUBTTL CLASS FILE
QSBL==2
SYSCLA(FILE.,,IOFI,QFILNG,1)
SYSPAR(TEXT,SIMPLE,,,OFFSET(ZFISPC))
SYSPRO(CLOSE,,NOTYPE,0,IOCL,,PPROC)
SYSSIM(IMAGE,TEXT,,OFFSET(ZFIIMG))
SYSPRO(LENGTH,,INTEGER,0,0,,,,SYSK2)
SYSPRO(MORE,,BOOLEAN,0,0,,,,SYSK3)
SYSPRO(OPEN,,NOTYPE,1,IOOP,,PPROC)
SYSPAR(TEXT,SIMPLE)
SYSPRO(POS,,INTEGER,0,0,,,,SYSK4)
SYSPRO(SETPOS,,NOTYPE,1,0,,PPROC,,SYSK5)
SYSPAR(INTEGER,SIMPLE)
SYSEND
SUBTTL CLASS INFILE
SYSCLA(INFILE,FILE.,IOIN,QIFLNG-QFILNG)
SYSPRO(ENDFILE,,BOOLEAN,0,0,,,,SYSL6)
SYSPRO(INCHAR,,CHARACTER,0,IOIC)
SYSPRO(INIMAGE,,NOTYPE,0,IOIG,,PPROC)
SYSPRO(ININT,,INTEGER,0,IOII)
SYSPRO(INFRAC,,INTEGER,0,IOIF)
SYSPRO(INREAL,,LREAL,0,IOIR)
SYSPRO(INTEXT,,TEXT,1,IOIT,,,GARBC)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(LASTITEM,,BOOLEAN,0,IOLI)
SYSEND
SUBTTL CLASS OUTFILE
SYSCLA(OUTFILE,FILE.,IOOU,QOFLNG-QFILNG)
SYSPRO(OUTCHAR,,NOTYPE,1,IOOC,,PPROC,EDIT)
SYSPAR(CHARACTER,SIMPLE)
SYSPRO(OUTFIX,,NOTYPE,3,IOOX,,PPROC,EDIT)
SYSPAR(LREAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTFRAC,,NOTYPE,3,IOOF,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTIMAGE,,NOTYPE,0,IOOG,,PPROC)
SYSPRO(BREAKOUTIMAG,,NOTYPE,0,IOBO,,PPROC)
SYSPRO(OUTINT,,NOTYPE,2,IOOI,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTREAL,,NOTYPE,3,IOOR,,PPROC,EDIT)
SYSPAR(LREAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTTEXT,,NOTYPE,1,IOOT,,PPROC,EDIT)
SYSPAR(TEXT,SIMPLE)
SYSEND
SUBTTL CLASS PRINTFILE
SYSCLA(PRINTFILE,OUTFILE,IOPF,QPFLNG-QOFLNG)
SYSPRO(EJECT,,NOTYPE,1,IOEJ,,PPROC)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(LINE,,INTEGER,0,0,,,,SYSL7)
SYSPRO(LINESPERPAGE,,NOTYPE,1,IOLP,,PPROC)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(SPACING,,NOTYPE,1,IOSP,,PPROC)
SYSPAR(INTEGER,SIMPLE)
SYSEND
SUBTTL CLASS DIRECTFILE
SYSCLA(DIRECTFILE,FILE.,IODF,QDFLNG-QFILNG)
SYSPRO(OUTCHAR,,NOTYPE,1,IOOC,,PPROC,EDIT)
SYSPAR(CHARACTER,SIMPLE)
SYSPRO(OUTFIX,,NOTYPE,3,IOOX,,PPROC,EDIT)
SYSPAR(LREAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTFRAC,,NOTYPE,3,IOOF,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTIMAGE,,NOTYPE,0,IOOG,,PPROC)
SYSPRO(OUTINT,,NOTYPE,2,IOOI,,PPROC,EDIT)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTREAL,,NOTYPE,3,IOOR,,PPROC,EDIT)
SYSPAR(LREAL,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(OUTTEXT,,NOTYPE,1,IOOT,,PPROC,EDIT)
SYSPAR(TEXT,SIMPLE)
SYSPRO(ENDFILE,,BOOLEAN,0,0,,,,SYSL6)
SYSPRO(INCHAR,,CHARACTER,0,IOIC)
SYSPRO(INIMAGE,,NOTYPE,0,IOIG,,PPROC)
SYSPRO(ININT,,INTEGER,0,IOII)
SYSPRO(INFRAC,,INTEGER,0,IOIF)
SYSPRO(INREAL,,LREAL,0,IOIR)
SYSPRO(INTEXT,,TEXT,1,IOIT,,,GARBC)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(LASTITEM,,BOOLEAN,0,IOLI)
SYSPRO(LOCATE,,NOTYPE,1,IOLT,,PPROC)
SYSPAR(INTEGER,SIMPLE)
SYSPRO(LOCATION,,INTEGER,0,0,,,,SYSK6)
SYSEND
SYSPRO(SYSIN,INFILE,REF,0,0,,,,SYSK7)
SYSPRO(SYSOUT,PRINTFILE,REF,0,0,,,,SYSK8)
SYSEND
XPUNGE
END