SPL,L,O,M ! NAME: AB.. ! SOURCE: 92067-18215 ! RELOC: 92067-16185 ! PGMR: A.M.G, G.A.A ! ! *************************************************************** ! * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * ! * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * ! * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* ! * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * ! *************************************************************** ! NAME AB..(8) "92067-16185 REV.2026 800305" ! ! 780221 TO CLOSE O.BUF BEFORE CALLING .PARS (O.BUF IS USED BY ! .PARS AS TEMPORARY STORAGE). ! ! 780420 TO WORK WITH SIX WORDS PER ENTRY IN TRANSFER STACK ! ! 800305 TO SET BIT 14 ON OPEN. OPTION REQUEST TO INDICATE ! ABORT (SST #4770) ! ! LET REA.C, \READS A COMMAND .PARS, \PARSE ROUTINE TR.., \LE GRAND TR ROUTINE IER., \ERROR CHECK ROUTINE OPEN., \OPEN FOR LIST FILE OPEN CLOS., \CLOSE FOR LIST FILE CLOSE WRITF \FILE WRITE ROUTINE BE SUBROUTINE,EXTERNAL ! LET .DFER \THREE WORD TRANSFER BE SUBROUTINE,DIRECT,EXTERNAL ! LET L.SEG BE LABEL,EXTERNAL ! LET ABX.. BE LABEL,GLOBAL ! LET ACTV., \ACTIVE JOB SWITCH CUSE., \CURRENT SEGMENT LAST CHAR. O.BUF, \OUTPUT DCB NOCM., \NUMBER OF PRAMETERS IN COMMAND J.REC, \JOBFIL RECORD OF SPOOLED JOB CAD., \TABLE OFFSET FOR FUNCTION CALL TMP., \LIST FILE LOCATION P.TR, \COMMAND UNIT STACK POINTER J.NAM, \CURRENT JOB NAME C.BUF, \COMMAND INPUT BUFFER TTY., \INTERACTIVE DEVICE FLAG .E.R., \LOCATION OF SEVERITY CODE -1. ECH., \# OF CHARACTERS IN COMMAND NO.RD \NO-READ FLAG BE INTEGER,EXTERNAL ! LET ABJOB(3),JBNAM(7),ABRT(8),COM BE INTEGER ! INITIALIZE ABJOB,JBNAM TO " JOB XXXXXX ABORTED" INITIALIZE ABRT TO " ABEND OPERATOR " ! ! AB..: SUBROUTINE(N,PLIST,ERR) GLOBAL LET N,PLIST,ERR BE INTEGER IFNOT ACTV. THEN [ERR_10;RETURN] !INPUT ERROR IF NOT IN JOB .DFER(JBNAM,J.NAM) !PUT JOB NAME IN MESSAGE COM _ @ABRT; LN _ 8 !SET UP STANDARD MESSAGE. IF N= -1 THEN [ \IF INTERNAL CALL, SET COM _ @ABJOB; LN _ 10] !UP JOB ABORT MESSAGE. IF N= -2 THEN COM_@PLIST !IF MESSAGE PASSED SET UP CALL OPEN.(O.BUF,TMP.,$(@TMP.+3),40000K) !OPEN LIST FILE CALL WRITF(O.BUF,.E.R.,$COM,LN) !SEND THE OPERATOR ABORT CALL CLOS.(O.BUF) !CLOSE THE LIST FILE *780221 IF ACTV. = 1 THEN GO TO EOJ !IF EXPECTING JO CARD GO TO EO IF P.TR # ACTV. THEN [P.TR_ACTV.+6; \SET P.TR FOR TR *780420 N.OPL_0; \DON'T CONFUSE THE ISSUE CALL TR..(1,0.0,ER)] !SET BACK TO THE JOB FILE IF TTY. THEN [ \IF TTY THEN EOJ: NOCM.,CAD._1;CUSE._"66";GO TO L.SEG] !GO LOAD EOJ IF J.REC > 0 THEN GO TO EOJ !IF JOB IS NOT $(@.E.R.+1)_1 !SET SV CODE TO KILL ECHO RDCOM: CALL REA.C !SPOOLED AND INPUT IFNOT ECH. THEN[ \IF EOF THEN GO TO EOJ ABX..: NOCM._ -2;GO TO EOJ] CALL .PARS !IS NOT FROM A COMCK: IF [COM _ $1] = "EO" THEN GO TO ABRET!EOF,THEN READ IF COM = "JO" THEN GOTO ABRET !COMMANDS UNTIL A GOTO RDCOM !JOB CARD IS FOUND. ! ABRET: NO.RD_ -1;RETURN END ! ! INTERNAL ABORT ROUTINE ! ABT..: SUBROUTINE GLOBAL IF ACTV. THEN CALL AB..(-1) !IF A JOB ACTIVE GO DO ABORT RETURN END END END$