BATINSLB.MAC/-AU=INSLB.MAC -2,2 .IDENT /6.03B/ ; [ SMTBV3 ] -55 ; STEVE THOMPSON 15-AUG-83 ; [ SMTBV3 ] ; ADD BATCH SYSTEM VERSION 3 SUPPORT ; [ SMTBV3 ] ; ; [ SMTBV3 ] -422 ; IN VERSION 3 OF THE BATCH SYSTEM, THE BATCH PROCESSOR ; [ SMTBV3 ] ; DEPOSITS THE MAXIMUM ALLOWABLE PARTITION SIZE, FROM THE ; [ SMTBV3 ] ; *JOB CARD, INTO OFFSET B.MEM OF THE UCB. AFTER CHECKING ; [ SMTBV3 ] ; THAT THE TASK WILL FIT IN THE REAL PARTITION, WE MUST ; [ SMTBV3 ] ; CHECK THAT THE USER IS NOT TRYING TO USE A PARTITION ; [ SMTBV3 ] ; THAT IS BIGGER THAN THE *JOB CARD SAID (USERS WILL TRY ; [ SMTBV3 ] ; TO GET AWAY WITH ANYTHING). ; [ SMTBV3 ] ; ; [ SMTBV3 ] -453,454 .IFF ; [ SMTBV3 ] BLOS 49$ ; NO ; [ SMTBV3 ] .IFT ; [ SMTBV3 ] BHI 48$ ; IF HI YES ; [ SMTBV3 ] MOV R4,-(SP) ; SAVE R4 ; [ SMTBV3 ] MOV $FLGS,R4 ; GET KEYWORD FLAGS ; [ SMTBV3 ] BIC #177771,R4 ; CLEAR ALL BUT RUN AND REMOVE ; [ SMTBV3 ] CMP #6,R4 ; RUN AND REMOVE REQUEST? ; [ SMTBV3 ] BNE 4801$ ; IF NE NO, OK ; [ SMTBV3 ] MOV $TKTCB,R4 ; GET OUR TCB ADDRESS ; [ SMTBV3 ] MOV T.UCB(R4),R4 ; GET TI: UCB ADDRESS ; [ SMTBV3 ] MOV U.DCB(R4),R4 ; THEN DCB ADDRESS ; [ SMTBV3 ] CMP D.NAM(R4),#"VT ; TASK IN BATCH SYSTEM? ; [ SMTBV3 ] BNE 4801$ ; IF NE NO ; [ SMTBV3 ] MOV $TKTCB,R4 ; GET UCB ADDRESS AGAIN ; [ SMTBV3 ] MOV T.UCB(R4),R4 ; ; [ SMTBV3 ] U.BMEM=177762 ; [ SMTBV3 ] TST U.BMEM(R4) ; MEMORY FIELD DEFINED? ; [ SMTBV3 ] BEQ 4801$ ; IF EQ NO ; [ SMTBV3 ] CMP R2,U.BMEM(R4) ; TASK BIGGER THAN *JOB CARD SAID?; [ SMTBV3 ] BLOS 4801$ ; IF LOS NO ; [ SMTBV3 ] .IFTF ; [ SMTBV3 ] 48$: JMP INSLB3 ; YES, ERROR ; [ SMTBV3 ] .IFT ; [ SMTBV3 ] 4801$: MOV (SP)+,R4 ; RESTORE R4 ; [ SMTBV3 ] .IFTF ; [ SMTBV3 ] -740 ; FOR RUN-AND-REMOVE INSTALLS, MCR DOESN'T GET TO SEE ; [ SMTBV3 ] ; THE TCB SINCE THE TASK IS ACTIVATED DIRECTLY FROM ; [ SMTBV3 ] ; INSTALL, SO WE MUST CHECK THAT THE PRIORITY IS NOT ; [ SMTBV3 ] ; HIGHER THAN THE VALUE THAT HAS BEEN PUT IN THE U.BPRI ; [ SMTBV3 ] ; OFFSET OF THE UCB. ; [ SMTBV3 ] ; ; [ SMTBV3 ] -761,762 BLOS 910$ ; NO ; [ SMTBV3 ] MOVB #50.,T.PRI(R3) ; YES, SET IT TO 50. ; [ SMTBV3 ] 910$: MOV R2,-(SP) ; SAVE R2 (TI: UCB ADDRESS) ; [ SMTBV3 ] MOV U.DCB(R2),R2 ; GET DCB ADDRESS ; [ SMTBV3 ] CMP D.NAM(R2),#"VT ; BATCH JOB? ; [ SMTBV3 ] BNE 911$ ; IF NE NO ; [ SMTBV3 ] MOV (SP)+,R2 ; YES, RESTORE UCB ADDRESS ; [ SMTBV3 ] U.BPRI=177764 ; [ SMTBV3 ] TSTB U.BPRI(R2) ; MAXIMUM PRIORITY KNOWN? ; [ SMTBV3 ] BEQ 91$ ; IF EQ NO, LEAVE IT ALONE ; [ SMTBV3 ] CMPB T.PRI(R3),U.BPRI(R2) ; SETTING HIGHER THAN MAX? ; [ SMTBV3 ] BLOS 91$ ; IF LOS NO ; [ SMTBV3 ] MOVB U.BPRI(R2),T.PRI(R3) ; YES, SET NEW VALUE ; [ SMTBV3 ] BR 91$ ; CONTINUE AS NORMAL ; [ SMTBV3 ] 911$: MOV (SP)+,R2 ; RESTORE R2 ; [ SMTBV3 ] /