Google
 

Trailing-Edge - PDP-10 Archives - BB-LW55A-BM_1988 - galaxy-sources/oprerr.mac
There are 26 other files named oprerr.mac in the archive. Click here to see a list.
	TITLE	OPRERR	ORION MODULE FOR BUILDING ORION ERROR CODES
	SUBTTL	Preliminaries

;	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1975, 1988.
;	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  AND  WITH  THE
;	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
;	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
;	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
;	TRANSFERRED.
;
;	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
;	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
;	CORPORATION.
;
;	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.

	SEARCH	GLXMAC,ORNMAC,QSRMAC
	PROLOG(OPRERR)

;Version numbers

	ERRMAN==:0			;Maintenance edit number
	ERRDEV==:16			;Development edit number
	VERSIN (ERR)			;Generate edit number

	COMMENT \
	THIS MODULE WILL BUILD THE ERROR CODE TABLES FOR ORION
	WHICH CONSIST OF TWO PARTS

		1.	ASCIZ MESSAGES
		2.	ITEXT MESSAGES
		3.	ITEXT MESSAGES FOR ACKS
\

	EXTERNAL	JOBTXT
	EXTERNAL	G$ARG1
	EXTERNAL	G$ARG2
	EXTERNAL	G$ARG3
	EXTERNAL	G$SID
	EXTERNAL	G$JOB	
	EXTERNAL	LOGFD
SUBTTL	Revision history

COMMENT \

3			1-Mar-79
	Add ORNMSG for Acknowledgements which were not errors.

*****  Release 4.2 -- begin maintenance edits  *****

*****  Release 5.0 -- begin development edits  *****

5	5.1003		4-Jan-82
	Move to new development area.  Add version vector.  Clean up
edit organization.

*****  Release 5 -- begin maintenance edits  *****

10	Increment maintenance edit level for GALAXY 5.

*****	Release 6.0 -- begin development edits	*****

15	6.1037		26-Oct-87
	Move sources from G5: to G6:

16	6.1225		8-Mar-88
	Update copyright notice.

\   ;End of Revision History
SUBTTL	Tables for Error Codes Reported

	EXTERNAL G$ERR			;DEFINED EXTERNAL

DEFINE	X(SUFFIX,TEXT),<
E$'SUFFIX:: PUSHJ P,RPTERR		;DISPATCH TO ERROR HANDLER
>  ;END OF DEFINE X

ERRTBL:: ERRCDS				;EXPAND THE DISPATCH TABLE
DEFINE	X(SUFFIX,TEXT),<
E$'SUFFIX:: PUSHJ P,RPTERR		;DISPATCH TO ERROR HANDLER
>  ;END OF DEFINE X
ERRTEX:	ERRTXT				;EXPAND TEXT MACROS
RSPMSG:	ORNMSG				;GOOD ACKS
	TXTERR==ERRTEX-ERRTBL+1		;GET NUMBER OF FIRST TEXT ERROR
	GOODMS=:RSPMSG-ERRTBL+1		;START OF GOOD MESSAGES



DEFINE	X(SUFFIX,TEXT),<
	EXP	[ASCIZ\TEXT\]		;TABLE OF MESSAGES
>  ;END OF DEFINE X



TXTTBL:: EXP	[BYTE (7)0]		;0 IS NOT REALLY AN ERROR
	ERRCDS				;DEFINE THE REST OF THEM
DEFINE	X(SUFFIX,TEXT),<
	EXP	[ITEXT(<TEXT>)]		;TABLE OF MESSAGES
>  ;END OF DEFINE X
TXTTEX:	ERRTXT
GOODTX:	ORNMSG				;DEFINE GOOD MESSAGES

DEFINE	X(SUFFIX,TEXT),<
	MF.FAT!INSVL.(<SIXBIT\   SUFFIX\>,MF.SUF)
>  ;END OF DEFINE X

STSTBL:: MF.NOM				;0 HAS NO TEXT ASSOCIATED
	ERRCDS				;EXPAND THE REST NOW
	ERRTXT				;EXPAND TEXT ERRORS

DEFINE	X(SUFFIX,TEXT),<
	INSVL.(<SIXBIT\   SUFFIX\>,MF.SUF)
>;END X
	ORNMSG				;EXPAND GOOD ACKS

;HERE WHEN SOMEONE CALLS (OR EXITS THROUGH) ANY OF THE E$xxx ERROR CODES
;	OR T$XXX ERROR CODES
;	THIS STORES THE RELATIVE ERROR NUMBER INTO G$ERR

RPTERR:: EXCH	T1,(P)			;SAVE T1, GET ERROR DISPATCH
	TLZ	T1,-1			;CLEAR THE LEFT HALF
	SUBI	T1,ERRTBL		;CONVERT TO ERROR INDEX
	CAIL	T1,TXTERR		;CHECK FOR TEXT ERROR
	TLO	T1,400000		;FLAG AS TXTERR
	SKIPN	G$ERR			;DON'T SAVE THIS IF ALREADY AN ERROR
	MOVEM	T1,G$ERR		;SET GLOBAL ERROR INDICATOR
	POP	P,T1			;RESTORE T1 AND RETURN
	$RETF				;PROPAGATE ERROR TO TOP LEVEL

	END				;END OF OPRERR