*DECK S$GNIN2 
          IDENT  S$GNIN2
          TITLE  S$GNIN2 - GENERATE INIT-CODE (PART 2)
          COMMENT  GENERATE INIT-CODE (PART 2)
  
*CALL LBLPTR
  
  
**        S$GNIN2 - GENERATE INIT-CODE (PART 2) 
* 
*     CALLING SEQUENCE- 
*         -S$GNIN2(LTRN, LR); 
* 
*     GIVEN-
*         LTRN = NUMBER OF ENTRIES IN TOURNAMENT. 
*         LR   = INDEX TO RECORD STORAGE AREA.
* 
*     DOES- 
*         GENERATE SECOND PART OF INIT-CODE.
* 
*         GENERATE CODE EXPECTS REGISTER
*         X6 TO BE ZERO FOR END-OF-DATA.
  
  
          ENTRY  S$GNIN2
 S$GNIN2  SUBR               ENTRY/EXIT WORD
          SB1    1           CONSTANT 1 
          SA4    X1          X4 = VALUE OF *LTRN* 
          SA5    A1+1        ADDRESS OF *LR*
          SA5    X5          X5 = VALUE OF *LR* 
* 
          NEWLBL INIT6
          GEN    (ZR X6,"INIT6")       *IF END OF DATA
*                                      *COMPUTE X2=TOURNAMENT INDEX 
          GEN    (BX2 X6) 
          GEN    (LX2 1+1),X5          *LX2 1+1+LR
          NEWLBL INIT4
          BX1    -X5         -LR
          GEN    (MX0 60),X1           *60-LR 
          GEN    (BX2 -X0*X2)          *RN
          GEN    (SX2 X2+B1)           *RN+1
          GEN    (AX2 1)               *(RN+1)/2
          GEN    (SX0 0),X4            *X0 = LTRN 
          GEN    (IX2 X0-X2)           *X2 = TOURNAMENT INDEX 
          GEN    (SA1 "WSA")           *X1 = ADDRESS OF TOURNAMENT
          GEN    (SB2 X1)              *B2 = ADDRESS OF TOURNAMENT
          GENLBL INIT3
          GEN    (SA4 B2+X2)
          GEN    (NZ X4,"INIT4")        *IF LAST LOSER IS NULL
          GEN    (SA6 A4)              *LEAVE CR AS LOSER 
          GEN    (EQ B0,B0,"INIT2")    *GET NEXT RECORD 
          GENLBL INIT4
          EXIT
  
*  GENERATE CODE HAS REGISTERS
*         X2 = INDEX TO TOURNAMENT FOR CR AND LL
*         X4 = DESCRIPTOR OF LAST LOSER (LL)
*         X6 = DESCRIPTOR OF CURRENT RECORD (CR)
*         A4 = ADDRESS OF LAST LOSER DESCRIPTOR 
*         B1 = 1
*         B2 = ADDRESS OF TOURNAMENT / WSA
  
  
          END 
