Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-03 - decus/20-0088/pilunv.mac
There is 1 other file named pilunv.mac in the archive. Click here to see a list.
00100		SUBTTL DEFINITIONS
00200	
00300		SEARCH MACTEN
00400	
00500		.DIRECTIVE .NOBIN
00600	
00700	
00800		;BRUCE TANNER - CERRITOS COLLEGE
00900	
01000		DEFINE .UNIV (V,E),<
01100	UNIVERSAL PILUNV -  PILOT UNIVERSAL PARAMETER FILE - PILOT V(E) 
01200	
01300	>
01400	
01500		;VERSION
01600	
01700	PILWHO==0
01800	PILVER==5
01900	PILMIN==0
02000	PILEDT==203
02100	
02200	%PLVER==VRSN. PIL
02300	
02400		.UNIV (\PILVER,\PILEDT);	;NOW MAKE UNIVERSAL
02500	
02600	
02700	
02800	TAB==11			;ASCII CHARACTERS
02900	LF==12
03000	VT==13
03100	FF==14
03200	CR==15
03300	SPACE==40
03400	DOLLAR=="$"
03500	COMMA==","
03600	COLON==":"
03700	AT=="@"
     
00100		;FLAGS LH (PERM.)
00200	
00300	FL.CCL==1	;CCL INPUT
00400	
00500		;FLAGS RH (TEMP.)
00600	
00700	FR.IGS==1	;IGNORE SPACES
00800	FR.LST==2	;LISTING OUTPUT
00900	FR.P2==4	;PASS 2
01000	FR.BOM==10	;FATAL ERROR OCCURED
01100	FR.SUP==20	;SUPRESSING <CRLF>
01200	FR.TLT==40	;LITERAL STRING SEEN
01300	FR.TTG==100	;TAG SEEN
01400	FR.EOF==200	;YES MARTHA, WE HAVE HIT AN EOF.
01500	FR.NLC==400	;NO LOWER CASE CHARS. ALLOWED
01600	FR.GLB==1000	;THIS IS A GLOBAL SYMBOL
01700	FR.MAP==2000	;GIVE MAP
01800	FR.HLP==4000	;GIVE HELP
01900	FR.TTY==10000	;NO TTY OUTPUT ON ERRORS
02000	FR.END==20000	;NO START ADDRESS
02100	FR.TAT==40000	;AN @ IN TYPE COMMAND
02200	
02300	FR.TAL==FR.TLT!FR.TTG!FR.TAT	;ALL THE TEMP "TYPE" FLAGS
02400	
02500	
02600	ND	SYMAX,^D200	;SYMBOL TABLE MAX
02700	ND	PDLEN,-100	;USER PROGRAM PDL LENGTH
02800	ND	WORK,^D20	;100 CHAR WORKING STORAGE IN PILOTS
02900	ND	TAGSIZ,^D15	;WORDS/STORAGE LOC
03000	ND	PAGSIZ,^D53	;LINES/PAGE
     
00100	OPDEF ACCPT.	[1B8]		;USES AC FIELD
00200	OPDEF MATCH.	[2B8]
00300	OPDEF MATX.	[3B8]
00400	OPDEF EXIT.	[4B8]
00500	OPDEF IN.	[5B8]		;USES AC FIELD
00600	OPDEF OUT.	[6B8]		;USES AC FIELD
00700	OPDEF NMAT.	[7B8]
00800	OPDEF GET.	[10B8]		;USES AC FIELD
00900	OPDEF CALL.	[EXIT. 1,]
01000	OPDEF LOG.	[EXIT. 2,]
01100	OPDEF QUIT.	[EXIT. 3,]
01200	OPDEF JERK.	[EXIT. 4,]
01300	OPDEF GETC.	[EXIT. 5,]
01400	OPDEF GETR.	[EXIT. 6,]
01500	OPDEF GETD.	[EXIT. 7,]
01600	OPDEF GETT.	[EXIT. 10,]
01700	OPDEF GETL.	[EXIT. 11,]
01800	OPDEF MATL.	[NMAT. 1,]
01900	OPDEF NMATL.	[NMAT. 2,]
02000	OPDEF MATG.	[NMAT. 3,]
02100	OPDEF NMATG.	[NMAT. 4,]
02200	OPDEF TRAP.	[14B8]
02300	OPDEF CJUMP.	[15B8]
02400	OPDEF CPUSH.	[16B8]
02500	OPDEF PUT.	[17B8]		;USES AC FIELD
02600	OPDEF STRN.	[20B8]
02700	OPDEF UNSTR.	[STRN. 1,]
02800	OPDEF COMP.	[21B8]
02900	OPDEF CPLUS.	[COMP. 1,]
03000	OPDEF CMIN.	[COMP. 2,]
03100	OPDEF CMULT.	[COMP. 3,]
03200	OPDEF CDIV.	[COMP. 4,]
03300	OPDEF INDEX.	[22B8]		;USES AC FIELD
03400	
03500	OPDEF PJRST	[JRST]
     
00100	F=0		;FLAGS
00200	T1=1
00300	T2=2
00400	T3=3		;TEMP REGISTERS
00500	T4=4
00600	I=5		;HOLDS INPUT CHAR
00700	BUFPTR=6	;POINTER TO BUF
00800	BUF=7		;1 WORD OF ASCII DATA
00900	P1=10		;SEMI-TEMP AND
01000	P2=11		;LIST FILE REGISTERS
01100	P3=12
01200	P4=13
01300	LC=15		;HOLDS LOC OF START OF COMMAND
01400	W=16		;GARBAGE DISPOSAL
01500	P=17		;PDL POINTER
01600	
01700	IN==1		;INPUT FILE
01800	OUT==2		;OUTPUT
01900	LST==3		;LIST FILE
02000	TMPC==4		;TEMP DISK FILE
02100	
02200	
02300	
02400		DEFINE .TITLE (HEAD),<
02500	..TTL (HEAD,\PILVER,\PILEDT)
02600	>
02700	
02800		DEFINE ..TTL (HEAD,V,E),<
02900	
03000	TITLE HEAD - PILOT V(E) * BRUCE TANNER - CERRITOS COLLEGE
03100	
03200		SEARCH JOBDAT,MACTEN
03300	
03400		IFIDN <HEAD> <PILOT INITIALIZATION>,<
03500		LOC .JBVER
03600		EXP %PLVER
03700		.REQUEST HELPER
03800	>
03900	IF2, <PRINTX HEAD ON PASS 2
04000	>
04100	
04200		TWOSEG
04300		RELOC 400000
04400	
04500		GLOBS
04600		SALL
04700	>
04800	
04900		DEFINE GLOBS,<
05000	GLOB <LINE,LOC,IBUF,LOOKIT,PROGRM,SYMTAB,TAGSIZ>
05100	GLOB <LSTBUF,PASS1B,EDLINE,LINCNT,PAGE,SUBPAGE,PAGSIZ>
05200	GLOB <START,FSTLOC,LITLOC,ENDLOC,ERRORS,SYMAX>
05300	GLOB <R50NAM,RDX51,STRTIM,OBUF,RELNAM,RELEXT,COMND>
05400	GLOB <FILNAM,FILEXT,DEVICE,LSTNAM,LSTEXT,LSTDEV,LASTOP>
05500	GLOB <PPN,TBUF,TMPPTR,PDL,SVJBFF,LODREL,CHKCPU,ENDLOW,.HELPR>>
     
00100		DEFINE BOMB (X),<
00200		JRST	[MOVEI	T1,X
00300		JRST	PUNT]>
00400	
00500		DEFINE STORE (X),<
00600		PUSHJ	P,[MOVE	T1,[X]
00700		JRST	STOREX]>
00800	
00900		DEFINE SW (X,Y),<
01000		XALL
01100		XWD	"X",Y
01200		SALL>
01300	
01400		DEFINE MONMAC (X),<
01500		XALL
01600		IRP X,<ASCII /-X-/ >
01700		SALL>
01800	
01900		DEFINE FATALS ,<
02000		FX	2TAG,MULTIPLY DEFINED TAG
02100		FX	DISS,FILE DISSAPPEARED!
02200		FX	NTAG,NO TAG FOUND
02300		FX	SYOV,SYMBOL TABLE OVERFLOW -- COMPILER ERROR
02400		FX	UNDF,UNDEFINED TAG
02500		FX	SYNC,MEMORY OUT OF SYNC -- COMPILER ERROR
02600		FX	NCOR,NOT ENOUGH CORE FOR PROGRAM
02700		FX	IDLM,NO COMMA IN STRING
02800		FX	COMP,ILLEGAL COMPUTE SYNTAX
02900		FX	...$,$ IN TAG
03000		FX	SCAN,BAD OPCODE
03100	>
03200	
03300		DEFINE FX(FLAG,DEF),<
03400		F.'FLAG==ZZ
03500		ZZ==ZZ+1>
03600	
03700		ZZ==0
03800	
03900		FATALS
     
00100		DEFINE CNAMES,<
00200		C	*,TAG,EATAG
00300		C	T,TYPE,TYPE2
00400		C	TY,TYPEY,TYPYN2
00500		C	Y,TYPEY,TYPYN2
00600		C	TN,TYPEN,TYPYN2
00700		C	N,TYPEN,TYPYN2
00800		C	J,JMP,JMP2
00900		C	JY,JY,JYN2
01000		C	JN,JN,JYN2
01100		C	U,GOSUB,GOSUB2
01200		C	UY,GOSBY,GOYN2
01300		C	UN,GOSBN,GOYN2
01400		C	L,LINK,WASTE2
01500		C	LY,LINKY,LYN2
01600		C	LN,LINKN,LYN2
01700		C	S,ENTRYP,WASTE
01800		C	D,DIMENS,WASTE
01900		C	A,ACCEPT,ACEPT2
02000		C	AL,ALINE,ALINE2
02100		C	M,MATCH,MATCH2
02200		C	ME,ME,MATCH2
02300		C	MG,MG,MATCH2
02400		C	ML,ML,MATCH2
02500		C	C,COMPUT,COMP2
02600		C	CY,CY,CYN2
02700		C	CN,CN,CYN2
02800		C	E,EX,EXIT2
02900		C	EY,EY,EYN2
03000		C	EN,EN,EYN2
03100		C	EC,EC,EC2
03200		C	EL,EL,EXIT2
03300		C	EQ,EQ,EXIT2
03400		C	OI,OPENIN,OPEN2
03500		C	OO,OPENOT,OPEN2
03600		C	G,GETIT,GET2
03700		C	GY,GY,GYN2
03800		C	GN,GN,GYN2
03900		C	GC,GC,GET2
04000		C	GR,GR,GET2
04100		C	GD,GD,GET2
04200		C	GT,GT,GET2
04300		C	GL,GL,GET2
04400		C	P,PUTIT,GET2
04500		C	PY,PY,GYN2
04600		C	PN,PN,GYN2
04700		C	CS,STR,GET2
04800		C	BS,UNSTR,GET2
04900		C	I,TRAPIT,TRAP2
05000		C	IY,TRAPY,TRPYN2
05100		C	IN,TRAPN,TRPYN2
05200		C	NUM,NUMX,WASTE
05300		C	R,WASTE,WASTE>
05400	
05500		END