Google
 

Trailing-Edge - PDP-10 Archives - bb-d868b-bm_tops20_v3a_2020_dist - 3a-sources/pltprm.mac
There are 38 other files named pltprm.mac in the archive. Click here to see a list.
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
	UNIVERSAL PLTPRM
	T0=0
	T1=1
	R0=0
	R1=1
	AP=16
	P=17

	DEFINE ARGS (A) <
	ARG.L=15
	CNT.=0
	IRP A,<
	A=ARG.L-CNT.
	CNT.=CNT.+1>
	IRP A,<
	MOVE	ARG.L,-15-CNT.(P)
	ARG.L=ARG.L-1
	CNT.=CNT.-1>>

	DEFINE LOCSUB (A,B) <
	C.....=0
	IFNB <B>,< IRP B,<C.....=C.....+1
			 PUSH	P,B>>
	PUSHJ	P,A 
	IFN C.....,< SUB	P,[C.....,,C.....]>
>

	DEFINE	FUNCT2(A,B)<
;	SALL
	T.....=0
	ST....=1
	IF2,<IFNDEF A,<EXTERNAL A>>
	IFNB <B>,<
	PUSH	P,AP
	IRP	B,<IFIDN <B> <$1>, <ST....=0>
		   IFIDN <B> <$2>, <ST....=-1>
		   IFDIF <B> <$1>,<
			IFDIF <B> <$2>,<
			   IFG ST....,<PUSH	P,B
			   T.....=T.....+1
>
			   ST....=1>>>
	R.....=0
	   IRP  B,<IFIDN <B> <$1>, <ST....=0>
		   IFIDN <B> <$2>, <ST....=-1>
		   IFDIF <B> <$1>,<
			IFDIF <B> <$2>,<
			   IFE ST....,<T......=T......+1
				    PUSH	P,B>
			   IFL ST....,<T.....=T.....+1
				    PUSH	P,[B]>
			   IFG ST....,<T......=T......+1
					R.....=R.....+1
					HRRZI	AP,-T.....+R.....+1(P)
					PUSH	P,AP
>
			   ST....=1>>>>
	MOVEI	AP,-T.....+R.....+1(P)
	PUSHJ	P,A
	IFNB <B>,<
	SUB	P,[T.....,,T.....]
	POP	P,AP>>

	DEFINE SAVE (A)<
	IRP A,<	PUSH	P,A>>

	DEFINE RESTOR (A)<
	IRP A,<	POP	P,A>>


	DEFINE	SAVALL <
	HRRZ	R0,P
	ADD	R0,[2,,1]
	BLT	R0,16(P)
	ADD	P,[15,,15]>

	DEFINE RETURN <
	JRST	RAX$##>

	DEFINE POPALL <
	SUB	P,[15,,15]
	HRLZ	AP,P
	ADD	AP,[1,,2]
	BLT	AP,16>
	L=16
	SUBTTL	D. TODD/DRT/HPW/SRM		4-FEB-74
	PASS2		;SAVE PRINT OUT ON PASS 2

;***COPYRIGHT 1972,1973,1974 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***




; THIS FILE MUST BE ASSEMBLED WITH ALL SOURCE FILES
; OF THE FORTRAN OBJECT TIME STSTEM (FOROTS)

	MLON


VFOROT==4		;FOROTS SYSTEM VERSION NUMBER
VERNO==4		;MAJOR VERSION NUMBER
VEDIT==260		;EDIT NUMBER
VMINOR==00		;MINOR VERSION NUMBER
VWHO==0			;WHO EDITED LAST

VERPRM==BYTE (3)VWHO(9)VERNO(6)VMINOR(18)VEDIT

; EXTERNAL SYSTEM SYMBOLS
	EXTERN	.JBFF,.JBREL,.JBOPS,.JBSA,.JBTPC,.JBOPC,.JB41,.JBHRL
	EXTERN	FOROT%		;DEFINE ENTRY POINT TO FOROTS


; PDP-10 PROCESSOR SWITCHES
	; PDP-6		PR0CESS=PDP6
	; PDP-10 (KA10)	PROCESSOR=KA10
	; PDP-10 (KI10)	PROCESS==KI10

	PDP6==0
	KA10==1
	KI10==2
	IFNDEF CPU,<CPU==KI10>	;THE DEFAULT CPU
	CPU==KA10	;;;;;

; FOROTS SYSTEM DEVICE

	;FOROTS ON DSK	SYSDEV=SIXBIT /DSK/
	;FOROTS ON SYS	SYSDEV=SIXBIT /SYS/

	IFNDEF SYSDEV,<SYSDEV=SIXBIT /SYS/> ;DEFAULT ON DSK FOR DEVELOP.


; TO MAKE TWOSEG

	HILOW==0
	LPSYM==0	;FOR LINK PLT, LPT SIMULATION IS ON
	F40LIB==0
	F10LIB==1
	ALONE==1	;FOR LINK TSTOUT
	CONCEA==0	; CONCEAL?

	OPDEF PJRST [JRST]	;PUSHJ/POPJ
	DEFINE ERROR(CLASS,TYPE,SEVER,RETURN)<
IFE CONCEA,<
	XCT	0,FORER.##	;PROCESS CLASS ERROR
>
IFN CONCEA,<
	XCT	ER%'CLASS,FORER%##	;PROCESS CLASS ERROR
>
	CAI	TYPE,RETURN(SEVER)	;SEVERITY CODE AND ERROR RETURN
	>

	SUBTTL FORLIB MACROS (USED BY THE LIBRARY ROUTINES)

	DEFINE	FUNCT(A,B)<
	SALL
	C.....=0
	IRP B,<C.....=C.....+1>
	IF2,<IFNDEF A,<EXTERNAL A>>
	IFNB <B>,<
	PUSH	P,L
	MOVEI	L,[XWD -C.....,0
		IRP B,<B>]+1>
	PUSHJ	P,A
	IFNB <B>,<
	POP	P,L>>

	DEFINE HELLO (A,B)<
	SALL
	IFNB <B>,<IFIDN <B>,<.>,<SIXBIT /A/
				 ENTRY A'.
				 A'.:>
		  IFDIF <B>,<.>,<SIXBIT /B/
				 ENTRY A
				 A:>
		 >
	IFB  <B>,<SIXBIT /A/
		  ENTRY	A
		  A:>
IFN F40LIB,<
	CAIA
	PUSH	P,CEXIT.##
>
>	;END OF HELLO MACRO

	DEFINE GOODBY (N)<
	POPJ	P,N>


	END