.TITLE TEFF .IDENT /V7.02/ ;****************************************************************** ; ; *** TE.FF ; ; THIS MODULE IS CALLED WHEN A TASK EXITS IF THE PRIORITY FACTOR ; IS SUPPORTED. THE FACTOR IS APPLIED TO THE CPU TIME TO ; GIVE AN "EFFECTIVE CPU TIME" WHICH IS CHARGED FOR AT THE ; NORMAL RATE. ; THE PRIORITY FACTOR IS GIVEN BY: ; ; PF = (AA$FPR + P)/(AA$FPR + 50.) ; ; WHERE P = MEAN PRIORITY OF TASK, ; AND AA$FPR = CONSTANT FROM ACCGEN. ; ; INPUT: ; R5 ADDRESS OF BLOCK CONTAINING DATA ; ; OUTPUT: ; R1 HIGH ORDER EFFECTIVE TIME (TICKS) ; R2 LOW ORDER EFFECTIVE TIME (TICKS) ; R3,R4 USED ; R5 PRESERVED ; ; ; STEVE THOMPSON SCHOOL OF CHEMICAL ENGINEERING ; OLIN HALL ; CORNELL UNIVERSITY ; ITHACA NY 14853 ; ; REVISION HISTORY ; ---------------- ; ; SMT753 7 OCT 1981 CHANGED NAMES OF CONDITIONAL ASSEMBLY ; PARAMETERS; SEE THE FILES MODIFY.TXT AND ; CONDEF.MAC FOR DETAILS. ; ; SMT821 23-APR-82 CHANGED ENTRY POINT NAMES OF ACCOUNTING ; SUPPORT ROUTINES (SEE MODIFY.TXT) ; ;******************************************************************* .IF DF AA$FPR PRIBLK: .WORD ; ML.DV ARGUMENT BLOCK .WORD ; .IFTF TE.FF:: ; ENTRY POINT .IFT MOV R5,-(SP) ; SAVE R5 ON STACK ADD #B.CPU,R5 ; POINT TO CPU TIME MOV #PRIBLK,R4 ; GET ARGUMENT BLOCK ADDRESS MOV (R5),(R4) ; SET UP PRI. FACTOR IN ARG. BLOCK ADD #AA$FPR,(R4) ; CALL ML.DV ; CALCULATE EFFECTIVE TIME MOV (SP)+,R5 ; RESTORE R5 .ENDC ; DF AA$FPR RETURN ; RETURN TO CALLER .END