Google
 

Trailing-Edge - PDP-10 Archives - BB-H506D-SM_1983 - cobol/source/xpnppl.mac
There are 7 other files named xpnppl.mac in the archive. Click here to see a list.
TITLE	XPNPPL FOR COBOL V12B
SUBTTL	HANDLE APR TRAPS	AL BLACKINGTON/CAM



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1974, 1981 BY DIGITAL EQUIPMENT CORPORATION

	SEARCH	P
	%%P==:%%P

;EDITS
;V10*****************
;NAME	DATE		COMMENTS
;********************


TWOSEG
RELOC	400000

ENTRY XPNPPL
EXTERNAL KILL

;THIS ROUTINE HANDLES APR TRAPS FOR:
;	1) ILLEGAL MEMORY REFERENCES (MEMORY PROTECTION FAILURE)
;	2) NON-EXISTENT MEMORY REFERENCES
;	3) PUSH-DOWN OVERFLOW (EXCEPT PHASE E -- SEE XPNPPE)


XPNPPL:	MOVEM	PP,KILLAC	;SAVE AC'S
	MOVE	PP,ACXWD
	BLT	PP,KILLAC+3

	MOVE	TA,.JBCNI##	;GET APR FLAGS

	TRNE	TA,1B19		;PUSH-DOWN OVERFLOW?
	JRST	XPNPL1		;YES

	TRNE	TA,1B22		;ILEGAL MEMORY REFERENCE?
	JRST	XPNPL2		;YES

	TRNE	TA,1B23		;NON-EXISTENT MEMORY?
	JRST	XPNPL3		;YES

	MOVEI	TA,[ASCIZ "Unknown APR trap"]
	JRST	XPNPL6

XPNPL1:	MOVEI	TA,[ASCIZ "Push-down Overflow"]
	JRST	XPNPL6

XPNPL2:	SKIPA	TA,[EXP [ASCIZ "Illegal Memory Reference"]]

XPNPL3:	MOVEI	TA,[ASCIZ "Reference to non-existent memory"]
XPNPL6:	TTCALL	3,(TA)		;TYPE MESSAGE
	TTCALL	3,[ASCIZ " at location "]

	MOVE	TA,[POINT 3,.JBTPC##,17]	;TYPE OUT LOCATION

XPNPL7:	ILDB	TC,TA
	ADDI	TC,"0"
	TTCALL	1,TC
	TLNE	TA,770000
	JRST	XPNPL7

	TTCALL	3,[ASCIZ "
"]

	MOVS	PP,ACXWD	;RESTORE AC'S
	BLT	PP,TA
	MOVE	PP,KILLAC

	JRST	KILL


ACXWD:	XWD	TC,KILLAC+1

EXTERNAL KILLAC

	END