SPL,L,O,M ! NAME: RU.. ! SOURCE: 92070-18031 ! RELOC: 92070-16031 ! PGMR: M.L.K. ! ! *************************************************************** ! * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. 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 RU..(7) " 92070-1X031 REV.1941 790712" ! ! EXTERNAL SUBROUTINES LET .DFER BE SUBROUTINE,EXTERNAL,DIRECT LET CLOSE BE SUBROUTINE,EXTERNAL LET EXEC BE SUBROUTINE,EXTERNAL LET FM.ER BE SUBROUTINE,EXTERNAL LET IDRPL BE SUBROUTINE,EXTERNAL LET IER. BE SUBROUTINE,EXTERNAL,DIRECT LET MSS. BE SUBROUTINE,EXTERNAL LET OPEN. BE SUBROUTINE,EXTERNAL LET PR.IT BE SUBROUTINE,EXTERNAL LET RMPAR BE SUBROUTINE,EXTERNAL ! EXTERNAL FUNCTIONS LET IDSGA BE FUNCTION,EXTERNAL LET LOGLU BE FUNCTION,EXTERNAL ! EXTERNAL INTEGERS LET .E.R BE INTEGER,EXTERNAL LET %TMP1 BE INTEGER,EXTERNAL LET BUF. BE INTEGER,EXTERNAL LET C.BUF BE INTEGER,EXTERNAL LET CAD. BE INTEGER,EXTERNAL LET ECH BE INTEGER,EXTERNAL LET G0..(48) BE INTEGER,EXTERNAL LET I.BUF BE INTEGER,EXTERNAL LET N.OPL BE INTEGER,EXTERNAL LET NO.RD BE INTEGER,EXTERNAL ! INTERNAL SUBROUTINES LET RU.. BE SUBROUTINE LET XQ.. BE SUBROUTINE ! INTERNAL VARIBLES LET ABEND(4) BE INTEGER LET ABX(7) BE INTEGER INITIALIZE ABEND,ABX TO " ABEND XXXXX ABORTED " LET SC BE INTEGER LET A05 BE INTEGER INITIALIZE SC,A05 TO "SC","05" ! ! XQ..: SUBROUTINE(NM,PRM,ER) GLOBAL ER_ -1 !SET XQ FLAG RU..(NM,PRM,ER) !CALL RU SUBROUTINE RETURN END ! ! RU..: SUBROUTINE(NUM,PRAM,ERR) GLOBAL LET ERR BE INTEGER !ERROR PARAMETER LET NUM BE INTEGER !NUMBER OF PARAMETERS LET PRAM(64) BE INTEGER !PARSED PARAMETERS ! CODE_ 100027K !PRE-SET TO RU IF ERR = -1 THEN [CODE_ 100012K ; ERR_0] !IF XQ CHANGE CODE IF PRAM(1) # 3 THEN [ ERR_ 56; RETURN] !CHECK FOR ASCII NAME IF IDSGA(PRAM(2)) THEN GOTO SCHED !IF PROG EXISTS, RUN IT ! ! RP THE PROGRAM ! RPIT: OPEN.(I.BUF,PRAM(2),N.OPL,5) !OPEN & FORCE TO TYPE 1 IER. !TEST FOR READ ERROR IDRPL(I.BUF,ERR,PRAM(2),0) !TEMPORARY RP TEMP_ .B. !SAVE ID ADDRESS IF ERR = 40 THEN[ \IF SOMEONE ALREADY THERE MSS.(40); \ISSUE ERROR PR.IT(TEMP,1); \PRINT PROGRAM NAME ERR_ 0; \DON'T RE-ISSUE ERROR RETURN] !EXIT IF ERR THEN RETURN !RETURN ON ERROR CLOSE(I.BUF) !CLOSE TYPE 6 ! ! SCHEDULE THE PROGRAM ! SCHED:IFNOT PRAM(5) THEN[ \IF 1ST PRAM DEFAULT PRAM(6)_ [IF G0..(1)=1 THEN G0..(2), \USE 0G IF NUMERIC ELSE LOGLU(D)]] !ELSE USE CRT LU $1_ -1 !PRESET THE B REGISTER EXEC(CODE,PRAM(2),PRAM(6),PRAM(10),PRAM(14), \SCHEDULE PROGRAM PRAM(18),PRAM(22),C.BUF,ECH);GOTO SCER !NO ABORT IF $1 # -1 THEN RMPAR(G0..(42)) !PICK UP PARAMETERS .E.R_ 0 IF $$%TMP1 = 100000K THEN[ \IF PROG ABORTED .DFER(ABX,PRAM(2)); \SET THE NAME IN MESSAGE FM.ER(2,ABEND,11)] !AND PRINT EXEC(14,1,C.BUF,40); ECH_ .B. !GET RETURN STRING IFNOT ECH THEN RETURN !IF NO STRING, RETURN IF (C.BUF AND 177400K) = 35000K THEN[ \IF BEGINS WITH ":" NO.RD_ -1; \DON'T READ ANOTHER COMMAND C.BUF_ C.BUF - 15000K] !REPLACE ":" WITH RETURN !ALL DONE ! SCER: T1_ .A. !GET ERROR CODE T2_ .B. !FROM A & B REG IF T1 = SC THEN[ \IF NO ID SEG ERROR IF T2 = A05 THEN GOTO RPIT] !TRY AGAIN ERR_ 49 !CAN'T RUN PROGRAM RETURN END END END$