Trailing-Edge
-
PDP-10 Archives
-
cuspmar86binsrc_2of2_bb-fp63a-sb
-
10,7/galaxy/operat/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 Murray Berkowitz 12-SEP-85
;
;
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1986.
;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 WHICH IS NOT SUPPLIED BY
; DIGITAL.
SEARCH GLXMAC,ORNMAC,QSRMAC
PROLOG(OPRERR)
ERREDT==:4 ;ERROR MODULE EDIT NUMBER
%%.OPR==:%%.OPR ;LET LINK CATCH VERSION SKEWS
OPRVRS==:OPRVRS ;...
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 APLNAM
EXTERNAL G$SID
EXTERNAL G$JOB
EXTERNAL LOGFD
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