*DECK EXECDIS                                                            RPN0928
          IDENT  EXEC$IS                                                 RPN0928
          LIST   -L          THE FOLLOWING IS A CALL TO COMDECK          RPN0928
*CALL AAMCOMCMP                                                          RPN0928
          LIST   L                                                       RPN0928
          TITLE  EXEC$IS, THE IS EXECUTIVE                               RPN0928
*#                                                                       RPN0928
* *   EXEC$IS                                    PAGE   1                RPN0928
* *   THE IS EXECUTIVE                                                   RPN0928
* *   R.P.NG.                                    DATE   09/28/76.        RPN0928
*1CD      EXEC$IS                                                        RPN0928
*         THIS IS THE I.S. EXECUTIVE                                     RPN0928
*0CD      ENTRY CONDITIONS                                               RPN0928
*         FITSAV IN COMMON HAS USER FIT ADDRESS.                         RPN0928
*         COP FIELD OF FIT HAS OP CODE.                                  RPN0928
*0CD      EXIT CONDITIONS                                                RPN0928
*         REQUEST SERVICED                                               RPN0928
*0CD      ERROR CONDITIONS                                               RPN0928
*         INVALID OP SUPPLIED - FATAL SYSTEM ERROR                       RPN0928
*0CD      CALLED ROUTINES                                                RPN0928
*         ALL FUNCTIONAL PROCESSORS OF IS (SUCH AS PUT$IS ETC.)          RPN0928
*0CD      NON LOCAL VARIABLES USED                                       RPN0928
*         MKEYLNG            SET TO MKL IN FIT FOR MAJOR KEY PROCESSING. RPN0928
*         MKL IN FIT IS ZEROED.                                          RPN0928
*0CD      DESCRIPTION                                                    RPN0928
*         ON ENTRY, A0 IS SET TO USER FIT, B1 TO 1, AND B4 TO            RPN0928
*         COP VALUE IN FIT.  A TEST IS THEN MADE TO ENSURE THAT          RPN0928
*         THE OP VALUE IS VALID.  B4 IS THEN USED TO INDEX INTO          RPN0928
*         THE JUMP TABLE TO TRANSFER CONTROL TO THE PROPER               RPN0928
*         PROCESSOR.  THE CELL MKEYLNG IN COMMON IS SET TO MKL,          RPN0928
*         AND MKL IS ZEROED TO FACILITATE GENERAL PROCESSING OF          RPN0928
*         MAJOR KEYS.                                                    RPN0928
                                                                         RPN0928
          SST                                                            CY209
*#                                                                       RPN0928
          LDSET  OMIT=CMM$ALF/CMM$FRF                                    JJJ0530
          LDSET  EPT=EXEC$IS/GET$IS 
          LDSET  EPT=TRN1$IS/TRN2$IS                                     CIM1119
          LDSET  EPT=GETN$IS
 EXEC$IS  CAP.RM
          BSSZ   1
          F.RM   MKL,3                                                   RPN0928
          SF.AA  GCOM$AA,MKEYLNG,X3                                      VBG1216
          SET.RM MKL,0       CLEAR MKL IN FIT                            RPN0928
          F.RM   COP,B4,-#CLS#     OPEN AND CLOSE IS TAKEN CARE OF       CY209
          SB1    1                                                       RPN0928
          SB5    JWORD-JTAB                                              RPN1209
          LT     B4,B1,*+1S17                                            RPN0928
          GT     B4,B5,*+1S17                                            RPN0928
          SA5    B4+JTAB-1                                               RPN0928
          BX6    X5                                                      RPN0928
          SA6    JWORD                                                   RPN0928
          SX6    B4-#PUT#+#CLS#    TEST FOR PUT                          CY209
          ZR     X6,CLRSTAK  THIS IS A PUT
          SF.AA  FIAT$AA,FACREAT,0  ELSE CLEAR THE CREATE FLAG           CREATEM
 CLRSTAK  RJ     JWORD-1     GO JWORD,CLEARING INST STACK 
JTAB      BSS    0
* 
XI        MACRO  A,B
          RJ     =Y_A_$IS 
-         VFD    30/B 
          ENDM
* 
          XI     GET,0
          XI     GETN,0 
          XI     PUT,1
          XI     SEEK,0 
          XI     GTNR,0 
          XI     DLT,1
          XI     REPL,1 
          XI     REW,0
          XI     STFT,0 
          XI     SKIP,0 
          XI     SKIP,0 
* BOTH FORWARD AND BACKWARD SKIP
          XI     GET,0
* 
*#                                                                       CY209
*         RETURNING FROM THE JWORD CALL, THE LOW ORDER BIT OF JWORD IS   CY209
*         SET IF LAST OP IS AN UPDATE. THE MOD IN PROGRESS FLAG(S), SET  CY209
*         WHILE WE ARE DOING UPDATES, ARE CLEARED BEFORE WE EXIT TO      CY209
*         SIGNIFY THAT THE UPDATE IS COMPLETED.  IF THE FORCE WRITE      CY209
*         INDICATOR IS ON FOR THAT USER FIT, WE WILL SET UP TO FLUSH     CY209
*         THAT FILE.  FWIFLG IS SET IN GCOM TO TELL FLUSH NOT TO EXTEND  CY209
*         THE FILE AFTER FLUSH, AS EVERY EXTEND WILL RESULT IN           CY209
*         ONE DAYFILE MESSAGE, WHICH IS UNDESIRABLE.  WE THEN CLEAR THE  CY209
*         FLAG, AND EXIT.                                                CY209
*#                                                                       CY209
          BSS    1                 RESERVED SPACE FOR PSUEDO RJ 
JWORD     RJ     *+1S17 
          SA1    JWORD
          SX6    B0                                                      CY209
          LX1    59 
          SA6    BLOK$AA                                                 CY209
          PL     X1,EXEC$IS 
* 
          SA2    FSTT$AA                                                 CY209
          SF.AA  X2,FSMODFL,0      CLEAR MOD IN PROGRESS FLAG            CY209
          RF.AA  X2,FSMIPFS,3      FOR DATA FILE                         CY209
          ZR     X3,FWRITE   AND/OR                                      CY209
          SF.AA  X3,FSMODFL,0      MIP FILE                              CY209
 FWRITE   SA2    FIT$AA                                                  CY209
          SA0    X2                                                      CY209
          SA2    A0                                                      CY209
          OFF.RM FWI,EXEC$IS EXIT IF FWI IS OFF                          CY209
          MX0    42                                                      CY209
          SX1    A0                                                      CY209
          BX0    X2*X0       ISOLATE LFN                                 CY209
          IX6    X0+X1       OR IN FIT ADDRESS                           CY209
          SA6    PAR                                                     CY209
*         NOTE THAT PAR+1 MUST BE 0                                      CY209
          SF.AA  GCOM$AA,FWIFLG,1  SET GLOBAL FWI FLAG TO TELL FLUSH     CY209
          SA1    PLIST                                                   CY209
          RJ     =YFLSH$AA   FLUSH THE FILE,NO EXTEND                    CY209
          SF.AA  GCOM$AA,FWIFLG,0  CLEAN FWI FLAG                        CY209
          EQ     EXEC$IS
 PLIST    VFD    42/0,18/*+1                                             CY209
          VFD    42/0,18/*+1                                             CY209
 PAR      BSSZ   2                                                       CY209
*         PAR + 1 MUST ALWAYS BE 0                                       CY209
          END                                                            RPN0928
