INSLB.MAC;4/AU=INSLB.MAC;3/-BF \ -2,2,/;HJL048/ .IDENT "03.3" -58,,/;HJL048/ ; HJL048 FIX INSTALLING TASK EXACTLY 32K IN SIZE ; AND COMMON BLOCK ADDRESS CHECK FOR ; UNMAPPED SYSTEMS ; ; JAK050 FIX GETTING HEADER'S RELATIVE BLK NUMBER ; ; HJL057 PREVENT NON-PRIVILEGED USER FROM ; INSTALL-RUN-REMOVE OF TASK WITH PRIORITY ; GREATER THAN DEFAULT OF 50. ; ; JAK051 FIX INSTALLING A PRIVILEGED TASK INTO ; A USER CONTROLLED PARTITION ; % -179,179,/;JAK050/ MOV L$BHRB(R0),R3 ;GET HEADER RELATIVE BLK NUM -511,517,/;JAK051/ CALL MUL64 ;CONVERT TO BYTES -521,,/;JAK051/ BIT #PS.SYS,P.STAT(R0) ;SYSTEM CONTROLLED PARTITION? BNE 572$ ; IF NE YES MOV P.SIZE(R0),R1 ; NO - GET PARTITION SIZE CALL MUL64 ; CONVERT TO BYTES ADD $EXTSZ,R1 ; ADD IN EXTEND SIZE BLOS 58$ ; OVERFLOW ERROR BR 573$ ; 572$: -523,523,/;HJL048/ BLOS 58$ ;ZERO OR OVERFLOW IS ERROR -524,,/;JAK051/ 573$: -527,527,/;JAK051/ ROL R1 ; CONVERT TO APR NUMBER -611,611,/;HJL057/ 90$: BIT #FE.MUP,$FMASK ; MULTI-USER PROTECTION? BEQ 91$ ; NO MOV $FLGS,R1 ; YES, GET KEYWORD FLAGS BIC #177771,R1 ; EXTRACT RUN AND REMOVE FLAGS CMP R1,#6 ; IS THIS A RUN AND REMOVE? BNE 91$ ; NO CMPB T.PRI(R3),#50. ; SETTING PRIORITY HIGHER THAN 50.? BLOS 91$ ; NO MOVB #50.,T.PRI(R3) ; YES, SET IT TO 50. 91$: MOVB T.PRI(R3),T.DPRI(R3) ; SET DEFAULT PRIORITY -770,,/;HJL048/ .IFT -773,,/;HJL048/ .IFTF -936,,/;JAK051/ ; ; MUL64 - MULTIPLY BY 64 ; MUL64: CLC ; MULTIPLY ROL R1 ; ROL R1 ; ROL R1 ; ROL R1 ; ROL R1 ; ROL R1 ; RETURN /