*COMDECK /REWDWA/ 
          TITLE     REW$WA
*#
*1CD  REW$WA
*0D   PURPOSE 
*0        REWIND A WORD-ADDRESSABLE FILE. 
*0D   CALL
*0                  SB6       RETURN-ADDRESS
*                   EQ        REW$WA  (FROM REW$RM) 
*0D   PARAMETERS
*0        A0        FIT ADDRESS.
*         B1        1.
*0D   REGISTERS USED
*0        ALL EXCEPT A0,B1,B6 
*0D   OTHER CODE REQUIRED 
*0        PROGRAMS- MISC$RM,COMM$WA 
*         MACROS-   CAP.RM,SAVE,F.RM,SET.RM,RCL.RM,RESTORE,SYSY 
*0D   NARRATIVE DESCRIPTION 
*#
 REW$WA   CAP.RM
          SAVE                     SAVE USER-S RETURN ADDRESS 
*#
*         IF THE LAST OPERATION WAS APUT, FLUSH ANY REMAINING 
*         DATA FROM THE BUFFER. 
*#
          F.RM      LOP,2 
          SET.RM    LOP,#RE#
          SX2       X2-#PU# 
          NZ        X2,CWF.NOFL    NO FLUSH IF LAST OP"PUT
          F.RM      CPRU
          ZR        X1,CWF.NOFL 
          SB6       CWF.NOFL
          EQ        FLSH$ 
 CWF.NOFL BSS       0 
*#
*         WAIT FOR ANY I/O TO COMPLETE. 
*#
          SET.RM    FP,#BOI#
          SET.RM    WA,1
*#
*     SET IN=OUT TO PREVENT ANY BUFFER FLUSHING ACTION. 
*#
          SA3       A0+2           IN 
          BX7       X3                = 
          SA7       A3+B1              OUT
*#
*      IF REWIND, SET STATUS AND DO IT. 
*#
          SYSY      050B,RCL
          EQ        EXITC          (RESTORE, JP B6) 
* END /REWDWA/
