Google
 

Trailing-Edge - PDP-10 Archives - cuspbinsrc_2of2_bb-fp63b-sb - 10,7/soupr/prs.mac
There are 10 other files named prs.mac in the archive. Click here to see a list.
	UNIVER	PRS
	SUBTTL	GENERAL DEFINITIONS
	PASS2

;AC NAMING AND USAGE CONVENTIONS:
;NO ROUTINE IS EXPECTED TO PRESERVE T1-T4.
;THEY ARE INTENDED AS TEMPORARY SCRATCH SPACE ONLY.
;T1-T4 ARE GUARANTEED TO BE CONSECUTIVE AC'S IN THAT ORDER.
;ALL ROUTINES ARE EXPECTED TO PRESERVE P1-P4.
;P1-P4 ARE GUARANTEED TO BE CONSECUTIVE AC'S IN THAT ORDER.
;C CONTAINS THE NEXT CHARACTER FOR I/O.
;ROUTINES THAT PARSE INPUT WILL LEAVE C WITH THE FIRST
;CHARACTER FOR THE NEXT ROUTINE.
;P IS THE STACK POINTER.
	T1=1				;TEMPS
	T2=T1+1
	T3=T2+1
	T4=T3+1
	P1=5				;PRESERVED AC'S
	P2=P1+1
	P3=P2+1
	P4=P3+1
	C=11				;CHAR
	P=17				;PDL

;ASSEMBLY PARAMETERS
	IFNDEF	SFDS,<SFDS==5>		;NUMBER OF SFDS TO SUPPORT
	IFNDEF	FOOSIZ,<FOOSIZ==25>	;SIZE SCR SPACE

;OP-CODES
	OPDEF	PJRST[JRST]		;POPPING JRST
		SUBTTL	FORMAT OF FILE SPC BLOCK
		PHASE	0
.SBSIZ:!				;LH=SIZE OF BLK (INCLUSIVE)
.SBNXT:!	BLOCK	1		;RH=ADR NEXT BLK OR 0
.SBDEV:!	BLOCK	1		;DEVICE
.SMDEV:!	BLOCK	1		;DEVICE MASK
.SBPPN:!	BLOCK	SFDS+1		;PPN&SFDS
		IFN	SFDS,<BLOCK 1>	;ZERO
.SMPPN:!	BLOCK	SFDS+1		;PPN&SFDS MASKS
.SBNAM:!	BLOCK	1		;FILENAME
.SMNAM:!	BLOCK	1		;FILENAME MASK
.SBEXT:!				;LH=EXTENSION
.SMEXT:!	BLOCK	1		;RH=EXTENSION MASK
.SBMOD:!	BLOCK	1		;MODE
;PUT NEW WORDS ABOVE HERE
SPCSIZ:!				;SIZE OF A SPC BLK
		DEPHAS
	SUBTTL	ERROR MESSAGES

	ER.EAT==1B0			;EAT TYPE AHEAD

	DEFINE	VB(AA,BB,CC,DD),<
	AA+BB
	SIXBIT	/CC/
	ASCIZ	/DD/
>

	DEFINE	VRB(AA,BB,CC,DD),<
	MOVEI	T1,[VB AA,BB,CC,<DD>]
>

	DEFINE	VERB(AA,BB,CC,DD),<
	VRB	AA,BB,CC,<DD>
	PUSHJ	P,VERBO##
>

	DEFINE	ERR(AA,BB,CC,DD),<
	VRB	AA,BB,CC,<DD>
	JRST	VERBO##
>

	DEFINE	WARN(CC,DD),<
	PUSHJ	P,[ERR 0,"%",CC,<DD>]
>

	DEFINE	FATAL(CC,DD),<
	JRST	[ERR ER.EAT,"?",CC,<DD>]
>

	END