; ******************************************************* ; * * ; * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * ; * FROM THE NATIONAL INSTITUTES OF HEALTH: * ; * NIH CA06927 * ; * NIH CA22780 * ; * * ; * DIRECT INQUIRIES TO: * ; * COMPUTER CENTER * ; * THE INSTITUTE FOR CANCER RESEARCH * ; * 7701 BURHOLME AVENUE * ; * PHILADELPHIA, PENNSYLVANIA 19111 * ; * * ; * NO WARRANTY OR REPRESENTATION, EXPRESS OR * ; * IMPLIED, IS MADE WITH RESPECT TO THE * ; * CORRECTNESS, COMPLETENESS, OR USEFULNESS * ; * OF THIS SOFTWARE, NOR THAT USE OF THIS * ; * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * ; * OWNED RIGHTS. * ; * * ; * NO LIABILITY IS ASSUMED WITH RESPECT TO * ; * THE USE OF, OR FOR DAMAGES RESULTING FROM * ; * THE USE OF THIS SOFTWARE * ; * * ; ******************************************************* ; * * ; * THIS SOFTWARE WAS DESIGNED FOR USE ON A * ; * PDP-11/70 OPERATING UNDER IAS V3.0 USING * ; * THE IAS PDP-11 MACRO ASSEMBLER. * ; * * ; ******************************************************* .TITLE RUNSYS -- RUN A SYSTEM SUBTASK (WITHOUT FSTM) ; ; AUTHOR BOB STODOLA ; .IDENT /ICR001/ ; ; CALL RUNSYS(CMDLIN,CMDLEN,IER) ; .MCALL TCSMC$ TCSMC$ TDOFF$ DEF$L ; .PSECT STC RW,D,GBL,OVR TDB: TDBDF$ TDEB$A ESB TDPR$A JP.PI,PR.RST!PR.CHN,5 ESB: ESBDF$ RUNFLG: .WORD -1 ; .PSECT $RUNS$ RW,I,LCL,CON RUNSYS:: CALL WAITSY CLR @6(R5) MOV #1,RUNFLG MOV #BADLST,R0 MOV #BADNUM,R1 MOV 2(R5),R2 1$: CMPB (R2),(R0) BNE 2$ CMPB 1(R2),1(R0) BNE 2$ CMPB 2(R2),2(R0) BNE 2$ CMP R0,#RUNPRG ;IS RUN? BNE 3$ ;NO, SO BAD. MOV @4(R5),R3 ;ADJUST LENGTH AND ADDRESS OF COMMAND SUB #3,R3 ADD #3,R2 RUN$T #TDB,R2,R3,#TS.USE BCS 3$ BR 10$ 2$: ADD #3,R0 SOB R1,1$ RUN$T #TDB,2(R5),@4(R5),#TS.DOT BCC 10$ RUN$T #TDB,2(R5),@4(R5),#TS.DOL BCC 10$ 3$: COM @6(R5) CLR RUNFLG 10$: RETURN ; WAITSY:: TST RUNFLG BEQ 10$ BGT 4$ TDBD$T #TDB CLR RUNFLG RETURN 4$: CKEV$T ,#TDB,STOP TST R0 BLE WAITSY RDEV$T #TDB BITB #IF.JS!IF.JA!IF.NL,TDB+T.EVNT BEQ WAITSY CLR RUNFLG BIT #EV.ST,TDB+T.EVBF+E.TR ;DID TASK EXIT WITH STATUS? BEQ 9$ ;NO - RETURN STATUS NONE MOV TDB+T.EVBF+E.TS,R0 ;RETURN SUBTASK STATUS RETURN 9$: MOV #-1,R0 ;RETURN STATUS NONE = -1 RETURN 10$: MOV #EX$SEV,R0 ;RETURN STATUS SEVERE ERROR RETURN ; .MACRO BADENT NAM .ASCII /NAM/ .ENDM BADENT ; .PSECT $RUNSD RW,D,LCL,CON ; BADLST: BADENT BAD BADENT BOO BADENT DIS BADENT DMO BADENT IAS BADENT LOA BADENT IST BADENT MFT BADENT MOU BADENT OPE BADENT OPR BADENT PDS BADENT REA BADENT RED BADENT REM RUNPRG: BADENT RUN BADENT SAV BADENT SET BADENT SWA BADENT UFD BADENT UNL BADENT USE BADENT UTL BADNUM=<.-BADLST>/3 .END