Google
 

Trailing-Edge - PDP-10 Archives - 704rmsf2 - 10,7/rms10/rmssrc/rmsosd.r36
There are 6 other files named rmsosd.r36 in the archive. Click here to see a list.
%IF %SWITCHES(TOPS10)
%THEN
	UNDECLARE ER$FUL;
	LIBRARY 'SYS:UUOSYM';
	LITERAL
		TOPS10=1,
		TOPS20=0;
%FI
%IF %SWITCHES(TOPS20)
%THEN
	LIBRARY 'SYS:MONSYM';
	LITERAL
		TOPS10=0,
		TOPS20=1;
	EXTERNAL MONERR;		!REFFED THRU ERCAL RATHER THAN CALL
%FI

COMPILETIME OSKLU=0;			!SEE BELOW

! JSYS MACROS
!

MACRO JSYS_FAIL(NAME) = IF NOT JSYS( -1, NAME, AC1, AC2, AC3, AC4) %;

MACRO DO_JSYS(NAME)=				!DOES JSYS AND HANDLES JSYS FAILURES
BEGIN
	%ASSIGN(OSKLU,OSKLU+1);			!INSURE OS CALLS NOT OPTED
	BIND %NAME(NAME,'.')=%O'104'^27 OR NAME; !MAKE JSYS AVAIL FOR DEBUGGING
	JSYS (0, NAME, AC1,AC2,AC3,AC4);	!DO THE JSYS
	ERCAL (MONERR);
	ERJMP (OSKLU)				!KLUDGE TO PREVENT CODE OPT
END %;

! UUO MACROS
!

MACRO UUO_FAIL = IF NOT UUO( 1, %REMAINING) %;

MACRO DO_UUO(C$, A$, E$) =		!DOES UUO AND ABORTS ON ERRORS
BEGIN
	%ASSIGN(OSKLU,OSKLU+1);			!INSURE OS CALLS NOT OPTED
	UUO ( 0, C$, A$ ,E$);
	$EXIT(MONERR);
	ERJMP (OSKLU)			!KLUDGE TO PREVENT CODE OPT
END %;

MACRO DO_FILOP =			!DOES FILOP AND HANDLES FILOP FAILURES
BEGIN
	%ASSIGN(OSKLU,OSKLU+1);		!INSURE OS CALLS NOT OPTED
	AC2=.AC1<RH>;			!SAVE PTR TO ARGBLK FOR FOPERR & DBUGING
	UUO ( 0, FILOP$(AC1));
	$EXIT (FOPERR);
	ERJMP (OSKLU)			!DITTO
END %;


%IF %SWITCHES(TOPS20)
%THEN
UNDECLARE ERCAL,ERJMP;
%FI
MACRO ERCAL(ADDR$) = MACHOP(%O'320',%O'17',ADDR$)%;
MACRO ERJMP(ADDR$) = MACHOP(%O'320',%O'16',ADDR$)%;

! REGISTERS USED BY MONITOR CALL INTERFACE
!
MACRO REGS =
REGISTER
	AC1=1,
	AC2=2,
	AC3=3,
	AC4=4;
%;