*DECK S$GNIWD 
          IDENT  S$GNIWD
          TITLE  S$GNIWD -  GENERATE- GET WORD FOR INVERSION
          COMMENT  GET WORD FOR INVERSION 
  
*CALL LBLPTR
  
          SPACE  4
**        S$GNIWD -  GENERATE- GET WORD FOR INVERSION 
* 
*     CALLING SEQUENCE- 
*         B2 = OFFSET 
*         CALL S$GNIWD
* 
*     GIVEN-
*         B2 = BIT OFFSET WITHIN EXTERNAL RECORD AREA FOR FIELD.
*               THE FIRST BIT IS BIT 0. 
*         S$OREC = WORD OFFSET WITHIN WSA$ FOR EXTERNAL RECORD AREA.
* 
*     DOES- 
*         GENERATES CODE. 
*         SETS X5 = BIT OFFSET OF FIELD WITHIN *X5. 
* 
*     GENERATED CODE EXPECTS- 
*         *B1 = 1.
*         *B2 = ADDRESS OF WORKING STORAGE AREA  (WSA$).
* 
*     GENERATED CODE DOES-
*         SETS *A5 = ADDRESS OF WORD IN EXTERNAL RECORD AREA CONTAINING 
*          THE SPECIFIED BIT. 
*         SETS *X5 = THE ABOVE WORD.
* 
*     GENERATED CODE USES-
*         *B    - * - - - - -    *B2=WSA$ 
*         *X  - - - - - 5 - - 
*         *A  - - - - - 5 - - 
* 
*     USES- 
*          B    * - - - - 6 7      *B1=1
*          X  0 1 2 3 - 5 6 - 
*          A  - 1 2 3 - - 6 - 
  
  
          ENTRY  S$GNIWD
 S$GNIWD  SUBR
          SX0    1S22/60+1   1/60 * 2**22 
          SX1    B2          <BIT OFFSET> 
          IX2    X1*X0       <BIT OFFSET>/60 * 2**22
          AX2    22          <BIT OFFSET>/60 = <WORD OFFSET>
          SX0    60 
          IX5    X2*X0       (<BIT OFFSET>/60)*60 
          IX5    X1-X5       <BIT OFFSET> - (<BIT OFFSET>/60)*60
          SA3    S$OREC 
          IX3    X3+X2       OREC + <WORD OFFSET> 
          GEN    (SA5 B2+0),X3         *A5 = ADDRESS OF WORD WITH BIT 
         *USES   B1=1,B6-7,X0,AX1-3,AX6  @*X5 = WORD WITH BIT 
          EXIT
  
  
 S$OREC   EXTERNAL           WORD OFFSET WITHIN WSA$ FOR
                              EXTERNAL RECORD AREA
  
  
          END 
