ASMB,R,L,C
*     NAME:   RWND$ 
*     SOURCE: 92070-18072 
*     RELOC:  92070-16072 
*     PGMR:   G.A.A.
*     MOD:    G.L.M 
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  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 RWND$,7  92070-1X072  REV.1941  790709
* 
      HED RWND$ 
      ENT RWND$,RFLG$ 
      EXT CLD.R,.P1,.P2,.P3,.P4,.R1,.R4,.R5 
* 
*     RWND$         IS A MODULE OF THE REAL TIME FILE 
*                   MANAGEMENT PACKAGE.  IT IS INVOKED
*                   TO SET OR RESET WORDS 11 THROUGH 16 
*                   OF THE DCB.  THE RECORD COUNT IS RESET IF EXTENT 0. 
* 
*     CALLING SEQUENCE: 
* 
*     LDA EXTENT#   SET A TO DESIRED EXTENT 
*     LDB DCB       SET B TO DCB ADDRESS
*     JSB RWND$     CALL
*     JMP ERR       ERROR EXIT (A=CODE) 
*     ---           NORMAL RETURN 
* 
      SPC 3 
TMP   NOP 
TMP2  NOP 
RWND$ NOP           ENTRY POINT 
      STA .P4       SET THE EXTENT# 
      LDA B,I       FETCH TRACK AND LU
      STA .P2       SAVE IT 
      INB           ADVANCE TO OFSET/SECTOR 
      LDA B,I       FETCH IT
      STA .P3       SAVE FOR D.RTR
      ADB .2
      STB TMP 
      ADB .12       INDEX TO EXTENT#
      LDA .P4       FETCH REQUESTED EXTENT# 
      CPA B,I       IF SAME - CONTINUE
      JMP SETUP     WITH SETUP
      LDA RFLG$     GET READ WRITE FLAG 
      LDB .6        GET READ EXTENT OPEN REQUEST CODE 
      SZA,RSS       IF WRITE
      ADB .2        ADD TWO TO GET WRITE EXTENT OPEN REQUEST
      STB .P1       SET IT FOR CALL TO D.RTR
      JSB CLD.R 
* 
      LDA .R1       YES; ANY ERRORS?
      SSA           FROM D.RTR? 
      JMP RWND$,I   YES; RETURN 
      SPC 1 
      LDA .R4       GET TRACK 
      STA TMP,I     SET IN DCB
      LDA .R5       GET AND 
      AND B377      MASK
      LDB TMP       GET DCB ADDRESS 
      INB           SET 
      STA B,I       SECTOR IN DCB 
SETUP LDB TMP       SET THE DCB FROM THE
      ADB .7        TRACK & SECTOR WORDS
      LDA TMP,I     SET 
      JSB SET       TRACK 
      ISZ TMP       AND 
      LDA TMP,I     SECTOR
      JSB SET       WORDS.
      LDA B         SET THE 
      ADA .4        BUFFER
      JSB SET       ADDRESS.
      CLA           CLEAR THE READ/ 
      JSB SET       WRITE FLAGS 
      LDA .P4       GET EXTENT# 
      INB           SKIP
      JSB SET       SET THE EXTENT #
      ISZ RWND$     STEP
      JMP RWND$,I   AND RETURN
      SPC 3 
SET   NOP 
      STA B,I       SET THE WORD IN THE DCB 
      INB           STEP DCB ADDRESS
      JMP SET,I     RETURN
      SPC 3 
.2    OCT 2 
.4    OCT 4 
.7    OCT 7 
.6    DEC 6 
.12   DEC 12
B377  OCT 377 
RFLG$ NOP           GLOBAL READ WRITE FLAG
A     EQU 0 
B     EQU 1 
      SPC 1 
END   EQU * 
      SPC 1 
      END 
                                                                                                                                                                                  