ASMB,L,C NAM WARC.,7 92060-16102 770523 REV. 1901 $CLIB * * NAME: WARC. * SOURCE: 92060-18067 * 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 SCRATCH FILE WRITE FUNCTION * FOR SOURCE THAT IS READ IN FROM A UNIT RECORD DEVICE AND * MUST BE SAVE ON DISC FOR A SECOND PASS * ENT WARC. EXT C.FLU THE LU OF INTEREST EXT C.SLU THE SECONDARY LU (DISC I HOPE) EXT C.FID FCB.ID THE FCB ID WORD EXT WRTC. THE DISC WRITE PROCEDURE * PROC WRITEAFTERREAD(LENGTH); * VALUE LENGTH; INTEGER LENGTH; * COMMENT LENGTH IS PASSED IN THE B REGISTER * BEGIN * INTEGER SAVELU; * IF FCB.UNITRECORD THEN * [ FCB.UNITRECORD := FALSE; * SAVELU := FCB.LU; * FCB.LU := FCB.SLU; * WRITEARECORD(LENGTH); * IF ERROR THEN GO ERROR EXIT; * FCB.SLU := FCB.LU; * FCB.LU := SAVELU; * FCB.UNITRECORD := TRUE;] * END OF WRITEAFTERREAD; SPC 2 * PROC WRITEAFTERREAD(LENGTH); * VALUE LENGTH; INTEGER LENGTH; * COMMENT LENGTH IS PASSED IN B * BEGIN * INTEGER SAVELU; SAVLU BSS 1 WARC. BSS 1 ENTRY POINT * IF FCB.UNITRECORD THEN LDA C.FID,I SSA,RSS JMP L1 * [ FCB.UNITRECORD := FALSE; RAL,CLE,ERA STA C.FID,I * SAVELU := FCB.LU; LDA C.FLU,I STA SAVLU * FCB.LU := FCB.SLU; LDA C.SLU,I STA C.FLU,I * WRITEARECORD(LENGTH); JSB WRTC. * IF ERROR THEN GO ERROR EXIT; JMP WARC.,I * FCB.SLU := FCB.LU; LDA C.FLU,I STA C.SLU,I * FCB.LU := SAVELU; LDA SAVLU STA C.FLU,I * UNITRECORD := TRUE;] LDA C.FID,I CCE RAL,ERA STA C.FID,I * END OF WRITEAFTERREAD; L1 ISZ WARC. JMP WARC.,I END *^5