.NLIST TTM .TITLE DIRERR - DIRECTIVE ERROR PROCESSOR .SBTTL DIRERR - TITLE PAGE .PSECT ERRORS,RO,I .IDENT /V01.00/ ; ; ************************************************************************ ; * ; THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS ONLY. DIGITAL EQUIPMENT * ; COMPUTER USER'S SOCIETY, DIGITAL EQUIPMENT CORPORATION, MONSANTO, AND * ; THE AUTHOR DISCLAIM ALL WARRANTIES ON THE PROGRAM, INCLUDING WITHOUT * ; LIMITATION, ALL IMPLIED WARRANTIES OF MERCHANTABLITY AND FITNESS. * ; * ; FULL PERMISSION AND CONSENT IS HEREBY GIVEN TO DECUS AND TO THE DECUS * ; SPECIAL INTEREST GROUPS TO REPRODUCE, DISTRIBUTE, AND PUBLISH AND * ; PERMIT OTHERS TO REPRODUCE IN WHOLE OR IN PART, IN ANY FORM AND * ; WITHOUT RESTRICTION, THIS PROGRAM AND ANY INFORMATION RELATING THERETO * ; * ; ************************************************************************ ; ; VERSION: V01.00 ; ; AUTHOR: RW STAMERJOHN MAPS 24-JUN-77 ; ; THIS MODULE SERVICES DIRECTIVE ERRORS. ; ; ASSEMBLY INSTRUCTIONS: ; ; OBJECT,LISTING=DIRERR .PAGE .SBTTL DIRERR - GLOBAL DEFINITIONS ; ; SYSTEM MACROS: ; .MCALL CALL,CALLR ; ; ; GLOBAL DECLARATIONS: ; .GLOBL ERDIRX ;DIRECTIVE ERROR AND EXIT. .GLOBL ERDIRR ;DIRECTIVE ERROR AND RETURN. ; ; GLOBAL REFERENCES: ; .GLOBL $SAVAL ;SAVE ALL REGISTERS. .GLOBL GETMSG ;GET MESSAGE FROM QIOSYM. .GLOBL OERROR ;OUTPUT ERROR MESSAGE. .GLOBL $DSW ;DIRECTIVE STATUS WORD. .PAGE .SBTTL DIRERR - LOCAL DEFINITIONS ; ; LOCAL MACROS: ; ; NONE. ; ; LOCAL SYMBOLS: ; ; NONE. ; ; LOCAL DATA STRUCTURES. ; DIRERR: .ASCIZ /DIRECTIVE/ ;ERROR TYPE MESSAGE. .EVEN .PAGE .SBTTL ERDIRX * DIRECTIVE ERROR AND EXIT .SBTTL ERDIRR * DIRECTIVE ERROR AND RETURN ; ; THESE ROUTINES PROCESS A DIRECTIVE ERROR BY OUTPUTING A MESSAGE AND ; EXITING APPROPRIATELY. ; ; CALLING SEQUENCE: ; ; CALL BY: JSR PC,ERDIRX (OR ERDIRR) ; ; WHERE: $DSW = DIRECTIVE ERROR CODE. ; ; EXITS WITH: MESSAGE OUTPUT AND RETURN TO CALLER IF ENTRY AT ERDIRR. ; ; MESSAGE OUTPUT AND EXIT IF ENTRY AT ERDIRX. ; ; ERROR CONDITIONS: ; ; BECAUSE THIS IS AN ERROR PROCESSOR, ERRORS FROM THIS ROUTINE ARE IGNORED. ; ; SPECIAL NOTES: ; ; THE FORMAT OF THE MESSAGE OUTPUT IS (OPTIONAL PARTS IN BRACKETS) ; (VARIABLE PARTS IN PARENS). ; ; (TASKNAME) -- [EXITING DUE TO] DIRECTIVE ERROR ($DSW) ; (DIRECTIVE ERROR MESSAGE FROM QIOSYM) ; AT PC (PC) ; ; ; REGISTERS: ; ; USES R0-R5 SAVES R0-R5 ; ; CALLS: ; ; $SAVAL,GETMSG,OERROR ; ERDIRX:: ;REF. LABEL. INC (SP) ;SET TO EXIT. ERDIRR:: ;REF. LABEL. JSR PC,$SAVAL ;SAVE ALL REGISTERS. MOV $DSW,R2 ;GET THE ERROR NUMBER. MOV R2,-(SP) ;SAVE FOR LATER RECALL. NEG R2 ; ADD #128.,R2 ;DIRECTIVE ERRORS START AT 129. CALL GETMSG ;GET THE ERROR MESSAGE FROM QIOSYM. MOV (SP)+,R0 ;GET ERROR NUMBER. MOV #DIRERR,R1 ;GET THE ERROR TYPE MESSAGE. MOV 16(SP),R3 ;GET THE ERROR PC. CLR R5 ;SET THERE IS NO OPTIONAL LINE. CALLR OERROR ;GO PROCESSOR THE ERROR. .END ;