*DECK S$GNINS 
          IDENT  S$GNINS
          TITLE  S$GNINS - INVERT NUMERIC NONSIGNED 
          COMMENT  S$GNINS - INVERT NUMERIC NONSIGNED 
**        S$GNINS - INVERT NUMERIC NONSIGNED
* 
*   CALLING SEQUENCE -
*         S$GNINS(OFFSET,LENGTH,ASC,KEYORSUM);
* 
*   GIVEN - 
*         OFFSET = NUMBER OF BIT STARTING THE KEY OR SUM FIELD
*           IN THE EXTERNAL RECORD. THE FIRST BIT IS NUMBER 0 
*         LENGTH = NUMBER OF BITS IN THE KEY/SUM FIELD OF THE 
*           EXTERNAL RECORD 
*         ASC = NONZERO IF KEY IS ASCENDING 
*             = ZERO IF KEY IS DESCENDING 
*         KEYORSUM = 1 FOR SUM FIELD, 0 FOR KEY 
*         S$LK = NUMBER OF BITS OF INFORMATION THAT HAVE BEEN 
*          APPENDED.  (USED BY S$GNAPN) 
*         S$OREC = WORD OFFSET WITHIN WSA$ OF EXTERNAL RECORD.
*          (USED BY S$GNIWD)
*         S$ORSA = WORD OFFSET WITHIN WSA$ OF RECORD STORAGE AREA.
*          (USED BY S$GNAPN)
* 
*   DOES -
*         SETS THE PARAMETERS INTO THE PROPER REGISTERS - 
*         B2 = BIT OFFSET OF FIELD IN EXTERNAL RECORD 
*         B3 = BIT LENGTH OF FIELD IN EXTERNAL RECORD 
*         B4 = 1 IF ASCENDING, 0 IF DESCENDING
*         X4 = 0 IF KEY FIELD, 1 IF SUM FIELD 
*         A0 = 0 TO INDICATE A POSITIVE SIGN
*         *X0 IS SET TO A POSITIVE SIGN IN ALL CASES
* 
*         CALLS S$GNIN
* 
          ENTRY  S$GNINS
S$GNINS   SUBR
          SB1    1           B1 = CONSTANT 1
          SA2    X1          VALUE OF OFFSET
          SB2    X2          B2 = OFFSET
          SA2    A1+1        ADDRESS OF LENGTH
          SA2    X2          VALUE OF LENGTH
          SB3    X2          B3 = LENGTH
          SA2    A1+2        ADDRESS OF ASC 
          SA2    X2          VALUE OF ASC 
          SB4    X2          B4 = ASC 
          SA4    A1+3        ADDRESS OF KEYORSUM
          SA4    X4          VALUE OF KEYORSUM
  
* TREAT NUMERICNS FIELDS AS POSITIVELY SIGNED IN ALL CASES
  
          GEN    (MX0 0)               *MEANS POSITIVE SIGN 
         *USES   B6,B7,X0,AX1-3,AX6 
  
          SA0    0
          CALL   S$GNIN 
  
          EXIT
          END 
