; MODFD.MAC -- MODIFY FDB FOR 0 BLOCK PRINT FILES ; AUTHOR: J. LEONARD ; DATE WRITTEN: 03-NOV-77 ; .NLIST TOC ;TBL OF CONTENTS NOT WANTED ; .TITLE MODFD .SBTTL MODIFY FDB ; .ENABL AMA ; .MCALL FDOF$L ; .GLOBL $FCHNL,NAM$ .GLOBL $OTSV ;OTS IMPURE PTR ADDR FDOF$L ; ; ; CALL: ; CALL MODFD (LUN, NBLKS) ; WHERE: ; LUN = FILE'S LOGICAL UNIT ; NBLKS = NUMBER OF BLOCKS ALLOCATED (FROM DIR/FU) ; D.FDB = 14 ;OFFSET TO FDB FROM FFDB ; FBY = 0 ;FIRST FREE BYTE IN LAST BLOCK ; MODFD:: MOV #MODFDN,R0 ;NAME TO TRACE BK MOV (R0)+,R4 MOV (R0)+,-(SP) JSR R4,NAM$ ;TRACEBACK CHAIN TST (R5)+ MOV @(R5)+,R2 ;GET LUN MOV @#$OTSV,R3 ;OTS IMPURE ADDR JSR PC,$FCHNL ;GET DEVT ENTRY ADDR ADD #D.FDB,R0 ;LUN'S FDB ADDR ; MOV @(R5)+,R1 ;GET # BLOCKS MOV R1,F.HIBK+2(R0) ;HIGHEST VIRTUAL BLOCK NO. ; ADD #1,R1 ;EOF BLOCK NO.IS F.HIBK+1 MOV R1,F.EFBK+2(R0) ;EOF BLOCK NO. ; MOV #FBY,F.FFBY(R0) ;FIRST BYTE IN LAST BLOCK ; RTS PC ;RETURN TO CALLER ; MODFDN: .RAD50 /MODFD / ;TRACE NAME ; .END