SPL,L,O,M ! NAME: RU.XQ ! SOURCE: 92071-18031 ! RELOC: 92071-16031 ! PGMR: M.L.K. ! MOD: E.D.B. ! ! *************************************************************** ! * (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 RU.XQ(7) "92071-1X031 REV.2041 800530" ! ! RUN/EXECUTE PROGRAM ! ! ENTERED BY ! ! RU,NAMR,PARMS COMMAND ! ! OR ! ! XQ,NAMR,PARMS COMMAND ! ! EXTERNAL SUBROUTINES LET .DFER BE SUBROUTINE,EXTERNAL,DIRECT LET EXEC BE SUBROUTINE,EXTERNAL LET FM.ER BE SUBROUTINE,EXTERNAL LET XQPRG BE SUBROUTINE,EXTERNAL ! EXTERNAL FUNCTIONS LET LOGLU BE FUNCTION,EXTERNAL ! EXTERNAL INTEGERS LET C.BUF 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 TMP(5) BE INTEGER LET ABEND(4) BE INTEGER LET ABX(7) BE INTEGER LET PBUSY(6) BE INTEGER ! INITIALIZE ABEND,ABX TO " ABEND XXXXX ABORTED " INITIALIZE PBUSY TO "PROGRAM BUSY" ! ! XQ..: SUBROUTINE(XQNO,XQLIS,XQER) GLOBAL XQER_ -1 !SET XQ FLAG RU..(XQNO,XQLIS,XQER) !CALL RU SUBROUTINE RETURN END ! ! RU..: SUBROUTINE(NO,LIS,ER) GLOBAL LET LIS(64) BE INTEGER !PARSED PARAMETERS ! IF ER = -1 THEN [CODE_ 10; ER_0], \USE CORRECT CODE ELSE CODE _ 23 IF LIS(1) # 3 THEN [ ER_ 56; RETURN] !CHECK FOR ASCII NAME ! TMP(1) _ LIS(6) TMP(2) _ LIS(10) TMP(3) _ LIS(14) TMP(4) _ LIS(18) TMP(5) _ LIS(22) ! IFNOT LIS(5) THEN[ \IF 1ST LIS DEFAULT TMP(1) _ [IF G0..(1)=1 THEN G0..(2), \USE 0G IF NOERIC ELSE LOGLU(D)]] !ELSE USE CRT LU ! ! RUN THE PROGRAM ! T _ $(@N.OPL+1) XQPRG(I.BUF,CODE,LIS(2),TMP,C.BUF,ECH,TMP,ERCOD,N.OPL,T) ! IF ERCOD # 0 THEN [ \ ER_ TMP(1); \ IF ERCOD = 7 THEN [ \IF PROG BUSY FM.ER(2,PBUSY,6)]; \PRINT MESSAGE IF ERCOD = 8 THEN [ \IF PROG ABORTED .DFER(ABX,LIS(2)); \SET THE NAME IN MESSAGE FM.ER(2,ABEND,11); \PRINT MESSAGE GOTO OK]; \AND CONTINUE RETURN] !OTHERWISE RETURN ! OK: ER_ 0 FOR ECH_1 TO 5 DO G0..(41+ECH) _ TMP(ECH) !RETRIEVE RETURN PARMS 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 END END ! END$