ASMB,L,C NAM EOF.C,7 92060-16102 770523 REV. 1901 $CLIB * * NAME: EOF.C * SOURCE: 92060-18060 * PGMR: EARL STUTES * *************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * *************************************************************** SPC 2 * THIS PROCEDURE PROVIDES THE END OF FILE FUNCTION FOR THE COMPILER * LIBRARY * * PROC ENDOFFILE(FCB); * RECORD FCB; * BEGIN * INTEGER FUNCTION, * .M2 := -2, * .3 := 3; * ADDRESSETUP; * IF FCB.UNITRECORD THEN * [ FUNCTION := FCB.LU AND @77 OR @100; * EXEC(.3,FUNCTION); * FUNCTION := FCB.LU AND @77 OR @1000; * EXEC(.3,FUNCTION); * FUNCTION := FCB.LU AND @77 OR @1100; * EXEC(.3,FUNCTION,.M2);] * ELSE * [ IF WRITEBUFFER THEN * [ GETNEXTSECTOR(FALSE); * IF ERROR THEN GO ERROR EXIT;] * END OF ENDOFFILE; SKP ENT EOF.C EXT EXEC GUESS WHO EXT ADS.C FIX UR POINTERS CHEAP EXT C.BFF THE DISC BUFFER POINTER EXT GES.C DISC SECTOR READ/WRITE PROC EXT C.FID FCB ID WORD EXT C.FLU FCB LU WORD B EQU 1 * PROC ENDOFFILE(FCB); * RECORD FCB; * BEGIN * INTEGER FUNCTION, FUNC. BSS 1 * .M2 := -2, .M2 DEC -2 * .3 := 3; .3 DEC 3 SPC 2 EOF.C BSS 1 * ADDRESSETUP; JSB ADS.C DEC 0 * IF FCB.UNITRECORD THEN LDA C.FID,I SSA,RSS JMP L1 * [ FUNCTION := FCB.LU AND @77 OR @100; LDB =B100 JSB ANDOR * EXEC(.3,FUNCTION); JSB EXEC DEF *+2+1 DEF .3 DEF FUNC. * FUNCTION := FCB.LU AND @77 OR @1000; LDB =B1000 JSB ANDOR * EXEC(.3,FUNCTION); JSB EXEC DEF *+2+1 DEF .3 DEF FUNC. * FUNCTION := FCB.LU AND @77 OR @1100; LDB =B1100 JSB ANDOR * EXEC(.3,FUNCTION,.M2); JSB EXEC DEF *+3+1 DEF .3 DEF FUNC. DEF .M2 JMP EXIT * ELSE L1 EQU * * IF WRITEBUFFER THEN LDA C.BFF,I SSA,RSS JMP EXIT * [ GETNEXTSECTOR(FALSE); CLA JSB GES.C * IF ERROR THEN GO ERROR EXIT;] JMP EOF.C,I * END OF ENDOFFILE; EXIT ISZ EOF.C JMP EOF.C,I SPC 3 ANDOR BSS 1 LDA C.FLU,I AND =B77 IOR B STA FUNC. JMP ANDOR,I END