         PROC  &P,0                                                     AA300010
AA33     NAME                           IS$SRH                          AA300020
IS$SRH   NAME                                                           AA300030
         GBL   &IS$C,&IS$F                                              AA300040
         DO    '&IS$C'=''                                               AA300050
&IS$C    SET   0                                                        AA300060
***            THIS RTN SEARCHES THE INDEX AND RETURNS RRR IN DTF       AA300070
****                THE SEARCH OF TOP INDEX IS MULTITRACK               AA300080
*                   EACH ADDL SEARCH IS TRACK ONLY. THE                 AA300090
*                   FIRST BIT OF RRR INDICATED THE NEXT LINK            AA300100
*                   IS TO A DATA RECORD. THIS VALUE IS RETURNED         AA300110
*                   IN THE DTF AT DH$SRCH                               AA300120
DH$SRH   EQU   *                                                        AA300130
         ST    7,DH$BKA                 HOLD RETURN ADDR.               AA300140
         OI    DH$FG1,X'40'             SET SRCH W/O WAIT (OVERLAP)     AA300150
         OI    DC$SPB2-1,X'40'          SET TO MULTITRACK               AA300160
         MVC   DC$CID2(4),DC$BPT2                                       AA300170
         L     9,DH$KARG                ADDR FOR READKEY FUNC           AA300180
         CLI   DC$FCS,X'26'                                             AA300190
         BNE   DH$A15B                  BR IF NOT ADD                   AA300200
         L     9,DH$LWA                                                 AA300210
         AH    9,DH$KLC                 R9 ON KEY IN WORKSPC            AA300220
DH$A15B  EQU   *                                                        AA300230
         L     8,DC$BUF2                DESTIN OF KEY                   AA300240
         LH    7,DH$KSZ1                                                AA300250
         EX    7,DH$AZCK                TEST FOR ZERO                   AA300260
         BNZ   DH$A72                                                   AA300270
         B     DH$ER24                  OUTSIDE FILE LIMS               AA300280
DH$AZCK  EQU   *                                                        AA300290
         OC    0(0,9),0(9)              EX INSTR                        AA300300
DH$A72   EQU   *                                                        AA300310
         EX    7,DH$A15                 MVC  0(1,8),0(9)                AA300320
         LH    12,DH$SPB1                                               AA300330
         L     11,DH$INDA               R11 AT INDA START               AA300340
         CLI   DH$KSZ1+1,124                                            AA300350
         BH    DH$A82                   BR IF ONE-ENTRY BLOCKS          AA300360
         AR    11,12                                                    AA300370
         AH    12,DH$CFB1               INCREASE INCREMENTER            AA300380
DH$A82   EQU   *                                                        AA300390
         CLI   DH$INDA,X'F0'                                            AA300400
         BE    DH$A015                  BR IF NONE OF TOP               AA300410
         BH    DH$A84                   BR IF ALL OF TOP                AA300420
         EX    7,DH$A83                 CLC  0(1,11),0(8)               AA300430
         BNH   DH$A84                   IF TABL START NOT HI,USE TABL   AA300440
DH$A015  EQU   *                                                        AA300450
         BAL   11,DH$A014               SEARCH-READ INDEX BLK           AA300460
DH$A016  EQU   *                                                        AA300470
         L     8,DC$BUF2                                                AA300480
         LR    11,8                     R8 AND R11 AT BUF START         AA300490
         B     DH$A15C                                                  AA300500
DH$A15   MVC   0(1,8),0(9)              EX INSTRUCTION                  AA300510
DH$A83   CLC   0(1,11),0(8)             EX INSTRUCTION                  AA300520
DH$A84   EQU   *                                                        AA300530
         L     11,DH$INDA                                               AA300540
         SR    11,12                    R11 AT INDA MINUS INCR          AA300550
DH$A85   EQU   *                                                        AA300560
         AR    11,12                                                    AA300570
         EX    7,DH$A83                 CLC 0(1,11),0(8)                AA300580
         BL    DH$A85                   LOOP UNTIL EQ OR HI FOUND       AA300590
DH$A15C  EQU   *                                                        AA300600
         LR    6,11                     R6 AT BLK START                 AA300610
         AH    11,DH$SPB1               R11 PAST FIRST ENTRY            AA300620
         CLI   DH$KSZ1+1,124                                            AA300630
         BH    DH$A15D                  BR IF ONE ENTRY PER BLK         AA300640
         MVI   DH$FUN1,X'03'                                            AA300650
         SR    10,10                                                    AA300660
         SH    1,DH$A60K+2                                              AA300670
         BAL   12,DH$MASH               MASH SEARCH OF BLK              AA300680
DH$A60K  EQU   *                                                        AA300690
         LA    1,60(1,0)                                                AA300700
         LTR   10,10                                                    AA300710
         BNZ   DH$A019                  BR IF EQ OR HI FOUND            AA300720
DH$A15D  EQU   *                                                        AA300730
         LR    10,6                     ELSE USE FRONT ENTRY            AA300740
DH$A019  EQU   *                                                        AA300750
         AH    10,DC$LCE2               R10 ON POINTER                  AA300760
         MVC   DC$CID2+1(3),0(10)                                       AA300770
         NI    DC$CID2+1,X'7F'                                          AA300780
         MVC   DH$SRCH(3),DC$CID2+1     SET UP FOR NEXT ROUND OR OUT    AA300790
         L     7,DH$BKA                                                 AA300800
         TM    0(10),X'80'                                              AA300810
         BZR   7                        EXIT IF BIT NOT SET             AA300820
         TM    DH$FG1,X'40'                                             AA300830
         BZ    DH$A015                  BR IF OVERLAP NOT SET           AA300840
*                                       WAIT ROUTINE                    AA300850
*                                       WAIT ROUTINE                    AA300860
*                                       WAIT ROUTINE                    AA300870
DH$A018  EQU   *                                                        AA300880
         NI    DC$MFLG,X'DF'            CLEAR WAIT IN MODULE FLAG       AA300890
         BAL   11,DH$A014                                               AA300900
         CLI   DC$FCS,X'03'             SETL KEY/GKEY                   AA300910
         BC    2,DH$CXT                 NO - EXIT TO USER               AA300920
*                   THIS CODE ALLOWS WAITF TO BE ISSUED FOR SETL KEY    AA300930
         MVI   DC$REQS,X'86'            SET WAITF FUNCTION CODE         AA300940
**             THIS IS EXECUTED TO MOVE KEY                             AA300950
DH$WAIT  EQU   *                                                        AA300960
         OI    DH$FG2,X'01'             SET WAITF EXECUTED              AA300970
         TM    DH$FG1,X'40'            IS WAIT REQ'D ?                  AA300980
         BNO   DH$CXT                   NO- RETURN TO USER              AA300990
         BAL   11,DH$A011               ISSUE I/O                       AA301000
         NI    DH$FG1,X'BF'             CLEAR SRCH W/O WAIT BIT         AA301010
         OI    DC$MFLG,X'20'            SET WAIT IN MODULE FLAG         AA301020
         BC    15,DH$A016               RETURN TO SRCH BLOCK            AA301030
         DO    '&IS$F'=''                                               AA301040
&IS$F    SET   0                                                        AA301050
DH$A01   EQU   *                                                        AA301060
         L     12,DC$PCA2                                               AA301070
         BC    15,DH$A013                                               AA301080
DH$A014  EQU   *                                                        AA301090
         MVI   DC$REQS,X'14'                                            AA301100
DH$A011  EQU   *                        SET FOR PCA2                    AA301110
         L     12,DC$PCA1               R12 TO PCA1                     AA301120
DH$A013  EQU   *                        SET SAT COVER                   AA301130
         L     15,DC$RELOC               LOAD SAT COVER                 AA301140
         BALR  14,15                    LINK THROUGH R14                AA301150
         L     15,16(13)                RELOAD ISAM COVER               AA301160
         BCR   15,11                    RETURN THRU TEG 11              AA301170
         ENDO                                                           AA301180
         ENDO                                                           AA301190
         END                                                            AA301200
