ASMB,R,L,C
*     NAME:   RWNDF 
*     SOURCE: 92064-18073 
*     RELOC:  92064-16061 
*     PGMR:   G.A.A.
*     MOD:    G.L.M 
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
* 
      NAM RWNDF,7  92064-16061  REV.1650  760427
* 
      ENT RWNDF 
      EXT .ENTR,EXEC
*     THE MODULE OF THE RTE FILE MANAGER PERFORMS 
*     THE REWIND OR RESET FUNCTION
* 
*     A FILE IS RESET TO EXTENT 0 RECORD 1 VIA RWND$
*     A TYPE ZERO UNIT IS REWOUND VIA AND EXEC CALL 
* 
* 
*     CALLING   SEQUENCE
* 
*     CALL RWNDF(IDCB,IER)
* 
*         WHERE:
* 
*         IDCB  IS THE FILES DATA CONTROL BLOCK ARRAY 
* 
*         IER   IS THE ERROR RETURN LOCATION. 
*               ERRORS ARE RETURNED IN THE A REG
*               ALSO. 
*               ERRORS  CODES ARE:
*             0   NO ERROR
*            -11 DCB NOT OPEN 
* 
* 
      SPC 2 
*     PRE CONSTANT AREA 
      SPC 1 
.3    DEC 3 
TYPE  NOP 
.5    DEC 5 
* 
* 
RWNDF NOP 
      LDB DFDM      RESET ENTRY PARMS 
      STB DCB 
      STB IER 
      LDB RWNDF 
      STB DWNDF 
      JMP DWNDF+1 
      SPC 3 
DCB   DEF DCB 
IER   DEF DCB 
      SPC 1 
DWNDF NOP           ENTRY  POINT
      JSB .ENTR      FETCH
DFDM  DEF DCB         PRAM ADDRESSES
      SPC 1 
      LDB DCB       GET DCB ADDRESS 
      ADB .3         INDEX TO LU AND
      STB LU          SET ADDRESS 
      ADB .5        INDEX TO FILE#
      STB FILE#     AND SAVE IT'S ADDRESS 
      INB              INDEX TO OPEN FLAG AND 
      LDA B,I           FETCH 
      CPA XEQT      OPEN? 
      CLA,INA,RSS    YES; SET AWRWND RECORD COUNT/SKIP
      JMP NOOPN      NO; TAKE ERROR  EXIT 
      ADB .5        INDEX TO RECORD COUNT AND 
      STA B,I       SET RECORD COUNT
* 
      LDB B2700     FETCH LOCATE CODE 
      LDA DCB,I     FETCH TYPE
      SSA           IF SIGN SET(-1) 
      LDB B400                 IT'S A DEVICE-REWIND 
* 
HERE  STB TEMP1     SAVE FUNCTION CODE
* 
      LDA LU,I      GET LU
      AND B77         ISOLATE IT THEN 
      ADA TEMP1        ADD THE FUNCTION BIT 
      STA TYPE          AND  SAVE  FOR EXEC 
      SPC 1 
AGAIN JSB EXEC      CALL EXEC TO
      DEF EX1        REWIND\LOCATE
      DEF .3          TYPE
      DEF TYPE         ZERO  FILE 
FILE# NOP 
* 
EX1   CLA,RSS       NO--PRERARE TO EXIT 
NOOPN LDA N11       NOT OPEN- EXIT -11
EXIT  STA IER,I     SET ERROR CODE
      JMP DWNDF,I       RETURN
* 
* 
* 
      SPC 2 
*     MID CONSTANT AREA 
      SPC 1 
B77   OCT 77
B300  OCT 300 
B400  OCT 400 
B200  OCT 200 
B2700 OCT 2700
TEMP1 NOP 
N11   DEC -11 
LU    EQU RWNDF 
      SPC 3 
*     POST  CONSTANT AREA 
      SPC 1 
A     EQU 0 
B     EQU 1 
XEQT  EQU 1717B 
      SPC 1 
END   EQU * 
      SPC 1 
      END 
                                                                                                                                                                    