Google
 

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



	SEARCH	COPYRT
	SALL

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

	SEARCH	P
	%%P==:%%P

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


TWOSEG
	.COPYRIGHT		;Put COPYRIGHT statement in .REL file.

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