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 
                                                            