*DECK S$GNOM4 
          IDENT  S$GNOM4
          TITLE  S$GNOM4  - GENERATE USER MERGE CODE PART 4 
          COMMENT  GENERATE USER MERGE CODE PART 4. 
  
*CALL LBLPTR
  
          B1=1
  
  
**        S$GNOM4  - GENERATE USER MERGE CODE PART 4
* 
*     CALLING SEQUENCE- 
*         S$GNOM4 ; 
* 
*     DOES- 
*         GENERATE USER MERGE CODE PART 4 
* 
*         GENERATED CODE EXPECTS- 
*         X2= INDEX TO TRN
*         X4= DESCRIPTOR OF LAST LOSER (LL) 
*         X6= DESCRIPTOR OF CURRENT RECORD (CR) 
*         X7<0 IF CR>LL (I.E. (X6) > (X4) ) 
* 
*         GENERATED CODE DOES-
*         IF X7<0, SWAP CR AND LL 
*         GOTO COMPETE AT NEXT TRN LEVEL
*             UNLESS LEVEL 0 THEN GOTO WRITE OUT WINNER 
* 
  
  
          ENTRY  S$GNOM4
 S$GNOM4  SUBR               ENTRY/EXIT WORD
          SB1    1           CONSTANT 1 
  
          GEN    (PL X7,"TRUMRG4")     *IF LL<CR, I.E. (X4)<(X6)
          GEN    (SA6 A4)              *SWAP CR 
          GEN    (BX6 X4)              *  AND LL
  
          GENLBL TRUMRG4
          GEN    (AX2 1)               *GOTO NEXT LEVEL 
          GEN    (NZ X2,"TRUMRG3")     *IF NOT LEVEL 0
          GEN    (EQ "TRUMRG1")        * ELSE GOTO WRITE OUT WINNNER
  
          GENLBL ENDSORT             FROM S$GNPR1 
          GEN    (EQ "TRUMRG")       EXIT 
  
                                       ** DATA AREA 
          GENLBL INT3 
          GENMAC (DATA 6LOUTPUT)
          GENLBL SAVEAD                *PTR TO 1ST WD IN RSA OF LW
          GENMAC (DATA 0) 
          GENLBL SAVEX6 
          GENMAC (DATA 0) 
          GENLBL WSA                   *ADDR OF TRN/WSA 
          GENMAC (DATA 0) 
          GENLBL FETS                  *USED TO HOLD B7 HERE
          GENMAC (DATA 0) 
          GENLBL ERROR4 
          GEN    (PS) 
          GEN    (PS "ERROR156")
          GENLBL ERRORZ 
          GENMAC (DATA 0) 
          GENMAC (DATA 0)     TERMINATOR
          GENLBL ERROR156 
          GENMAC (DATA 156) 
          EXIT
          END 
