         PCC      0                                                             
         SPACE    3                                                             
************************************************************                    
*                                                          *                    
*                                                          *                    
*        K E Y - 7   K E Y - I N  P R O C E S S O R       *                     
*                                                          *                    
*                                                          *                    
************************************************************                    
         SPACE    2                                                             
         SYSTEM   SIG5P                                                         
         SYSTEM   OPTIONS                                                       
         SPACE    2                                                             
         DEF      A:KEY7                                                        
         DEF      KEY7             ENTRY POINT FROM KEY1                        
         DEF      KEY7EXB                                                       
         DEF      KEY7A04                                                       
         SPACE    2                                                             
OLAYSIZ  EQU      512                                                           
         SPACE    1                                                             
OLAYFLAG EQU      'KEY7'                                                        
         SYSTEM   CPRMON                                                        
         TITLE    '** KEY7 - CONTROL SECTIONS **'                               
*                                   RUNS UNDER RBM CONTROL TASK AS AN           
*                                   OVERLAY. PROCESSES KEY-INS AS AN            
*                                   EXTENSION OF THE KEY1 OVERLAY.              
KEY7    RES      0                                                              
A:KEY7  EQU      KEY7                                                           
KEYIN    EQU      Y04               KEYIN CONTROL BIT                           
*                                   ENTER HERE FOR PART 7 OF KEY-IN OLAY        
*                                                                               
*                                                                               
*        AT ENTRY,                                                              
*        R1=DCT INDEX FOR YYNDD IF KEYIN IS SYYNDD                              
*        R2=KEYIN INDEX                                                         
*        R6=SCAN RETURN CODE FROM FIRST SCAN CALL                               
*        R7=KEYIN TEXT POINTERS AS REQUIRED FOR SCAN ROUTINE                    
*        R15=ADDRESS TO RETURN INTO CONTROL TASK                                
*                                                                               
*                                                                               
A01      RES      0                 ENTRY FOR THIS OVERLAY                      
         PUSH     R7                SAVE INDEX INTO KEYIN BUFFER                
         LI,R7    31                GET TSPACE FOR FPTS                         
         BAL,R8   GETTEMP                                                       
         B        KEY7NOTS          NO TSPACE. ERROR.                           
         ENABLE                     SPACE FOUND                                 
         LW,R3    R7                KEEP TSACE PTR IN R3                        
         PULL     R7                RESTORE INDEX INTO DEYIN BUFFER             
         PUSH     R3                SAVE TEMP SPACE POINTER FOR EXIT            
         LW,R4    A92,R2            MOVE FPT FOR INDICATED KEYIN                
         BEZ      A01A              NO SPACE TO MOVE                            
         LI,R5    31                NUMBER OF FPT WORDS TO MOVE                 
MOVFPT   LW,R8    *R4,R5                                                        
         STW,R8   *R3,R5                                                        
         BDR,R5   MOVFPT                                                        
         LW,R8    *R4               GET LAST WORD TO MAKE ALL 32                
         STW,R8   *R3               PUT IN TEMP SPACE                           
A01A     LH,R8    A91,R2            GET ADDRESS TO PROCESS KEYIN                
         B        *R8               GO TO PROPER ROUTINE                        
         SPACE    2                                                             
KEY7NOTS PULL     R7                ERROR EXIT: NO TEMP SPACE                   
         B        KEY7A04                                                       
KEYERR   RES      0                 ERROR ENTRY, TYPE 'KEY ERROR'               
A04      EQU      KEYERR            OLD NAME FOR ERROR EXIT                     
         PULL     R7                                                            
         BAL,R8   RELTEMP                                                       
*                                                                               
KEY7A04  B        KEY1A04           RET TO KEY1 TO TYPE ERR MSG                 
*                                                                               
*                                                                               
KEY7EXIT RES      0                 NORMAL EXIT                                 
         PULL     R7                                                            
         BAL,R8   RELTEMP           RELEASE TEMP SPACE                          
KEY7EXB  B        CT1               RETURN TO CONTROL TASK                      
         PAGE                                                                   
         SPACE    2                                                             
*                                                                               
A91      EQU      %                                                             
*                                                                               
*        DATA,2   HALF-WORD START ADDRESSES    OF KEY-IN                        
*                 PROCESSING ROUTINES                                           
*                                                                               
*                                                                               
        DO       #SYMB                                                          
         DATA,2   SYMBCTL           START, STOP, ETC CTRL OPTIONS               
         DATA,2   SYMBBAT           BATCH A FILE                                
         DATA,2   SYMBDEL           DELETE AN ID                                
         DATA,2   SYMBSDO           SET 'DO'                                    
         DATA,2   SYMBPRI           SET PRIORITY                                
         DATA,2   SYMBRDO           RESET 'DO'                                  
         DATA,2   SYMBSS            SS                                          
        FIN      #SYMB                                                          
*                                                                               
*                                                                               
         BOUND    4                                                             
A92      EQU      %                                                             
*        DATA     ADDRESSES OF FPT'S FOR THE PROCESSORS                         
*                                                                               
*                 SHOULD BE ON A DOUBLE WORD BOUNDARY (BOUND 8).                
*                    ( BUT MOVE CODE DOESN'T MAKE USE OF THIS. )                
*                                                                               
*                                                                               
*                 MUST BE IN SAME ORDER AS ABOVE TABLE.                         
*                  IF NO FPT EXISTS, THE CORRESPONDING WORDS IS                 
*                  SET TO ZERO TO INDICATE NO MOVE.                             
*                                                                               
*                                                                               
        DO       #SYMB                                                          
         DATA     SYMBSFPT          START FPT TO START SYMBIONTS                
         DATA     SYMBSFPT          BATCH                                       
         DATA     SYMBSFPT          DELETE AN ID                                
         DATA     SYMBSFPT          SET 'DO'                                    
         DATA     SYMBSFPT          SET PRIORITY                                
         DATA     SYMBSFPT          RESET 'DO'                                  
         DATA     SYMBSFPT          SS                                          
        FIN      #SYMB                                                          
*                                                                               
*                                                                               
#KEYINS  EQU      %-A92             NUMBER OF KEYINS IN THIS OVERLAY            
         PAGE                                                                   
*        SUBROUTINE  TO CONVERT BINARY TO HEX EBCDIC                            
*        CALL IS  BAL,R8  HEXBCD                                                
*        WHERE    R11=VALUE TO  CONVERT                                         
*        EXITS    R10,R11=VALUE IN BCD RT. JUST.                                
*        USES     R0,R5,R6,R10,R11                                              
*                                                                               
HEXBCD   LI,R5    -28                                                           
         LI,R6    0                                                             
         LW,R9    R11                                                           
HEXBCD1  LW,R0    R9                                                            
         SLS,R0   0,R5                                                          
         AND,R0   M4                                                            
         AI,R0    X'F0'                                                         
         CI,R0    X'FA'                                                         
         BL       %+2                                                           
         AI,R0    -X'39'                                                        
         STB,R0   R10,R6                                                        
         AI,R6    1                                                             
         AI,R5    4                                                             
         BLEZ     HEXBCD1                                                       
         B        *R8                                                           
         TITLE    '** KEY7 - GETOPT SUBROUTINE **'                              
*        ROUTINE TO FETCH NEXT OPTION FOR A KEYIN                               
*        CALL IS                                                                
*                                                                               
*        BAL,R13  GETOPT                                                        
*        GEN,8,24 #OPT,OPTIONLIST   WHERE #OPT IS THE NUMBER OF OPTIONS         
*                                   AVAILABLE FOR THE KEYIN.                    
*                                   OPTIONLIST IS THE ADDRESS OF A              
*                                   DOUBLE WORD TABLE THAT HAS ONE              
*                                   ENTRY PER OPTION AS FOLLOWS:                
*                                                                               
*                                     FIRST WORD:  THE OPTION KEYWORD           
*                                                  IDENTIFIER  IN EBCDIC        
*                                                  LEFT   JUSTIFIED BLANK       
*                                                  FILLED                       
*                                                                               
*                                     SECOND WORD: PARAMETER CONTROL            
*                                     BITS 0-7                                  
*                                        00  NO PARAMETER ALLOWED               
*                                            ON RETURN R8 WILL HAVE             
*                                            THE CONTENTS OF THIS WORD          
*                                                                               
*                                        01  CONVERT TO EBCDIC                  
*                                        02  CONVERT  TO HEX                    
*                                        04  CONVERT  TO DECIMAL                
*                                                                               
*                                        8X  IF  NO PARAMETER - RETURN          
*                                            CONTENTS  OF THIS WORD IN          
*                                            R8.   IF PARAMETER IS PRESENT      
*                                            CONVERT  ACCORDING TO X AND        
*                                            AND  RETURN IT IN R8.  X           
*                                            IS  DESCRIBED ABOVE.               
*        RETURN IS TO CALL LOCATION +(N+2)                                      
*                 WHERE N IS 0 IF ANY ERRORS ARE DETECTED                       
*                 IF NO ERRORS N WILL BE THE INDEX                              
*                 INTO THE OPTION LIST TABLE CORRESPONDING                      
*                 TO THE OPTION BEING PROCESSED.                                
*                                                                               
*        USES REGISTERS:                                                        
*                                                                               
*        R0,R5-R11                                                              
*                                                                               
*        USES SCAN ROUTINE                                                      
*                                                                               
*                                                                               
GETOPT   EQU      %                                                             
         PUSH     4,R1              SAVE R1-R4                                  
         LI,R11   1                                                             
         BAL,R14  SCAN              NEXT CHAR SHOULD BE '('                     
         CI,R6    0                                                             
         BGE      GO02              B IF NO SCAN ERROR                          
GO01     EQU      %                                                             
         AI,R13   1                 TAKE ERROR EXIT                             
         PULL     4,R1                                                          
         B        *R13                                                          
GO02     EQU      %                                                             
         LI,R1    0                 OPTION SEARCH INDEX                         
         LW,R0    *R13              GET ADDRESS OF OPTION LIST                  
GO03     EQU      %                                                             
         LD,R2    *R0,R1            GET OPTION DESCRIPTOR                       
         CW,R8    R2                IS IT THIS OPTION                           
         BE       GO04              B IF YES                                    
         AI,R1    1                 MOVE TO NEXT OPTION                         
         CB,R1    *R13              REACHED LIMIT YET                           
         BL       GO03              B IF NO                                     
         B        GO01              YES -TAKE ERROR EXIT                        
GO04     EQU      %                                                             
         LB,R11   R3                GET CONVERT TYPE                            
         BEZ      GO09              B IF NO PARAMETER                           
         CI,R11   X'80'             IS IT NO PRAMETER OPTION                    
         BANZ     GO010             B IF YES                                    
GO05     RES      0                                                             
         AND,R11  M7                                                            
         BAL,R14  SCAN              GET PARAMETER                               
         CI,R6    0                                                             
         BL       GO01              B IF SCAN ERROR                             
GO07     AI,R13   2                 POINT TO FIRST EXIT                         
         AW,R13   R1                NOW POINT TO CORRECT OPTION EXIT            
         PULL     4,R1                                                          
         B        *R13              RETURN                                      
*                                                                               
GO09     EQU      %                                                             
         LW,R8    R3                GET RETURN PARAMETER                        
         B        GO07                                                          
GO010    EQU      %                                                             
         LW,R8    R3                GET DUMMY PARAMETER                         
         CI,R6    0                                                             
         BG       GO07              B IF END OF PAREN FIELD                     
         B        GO05              PROCESS FIRST OPTION                        
*                                                                               
         TITLE    '** KEY7 - SYMBIONT KEY-INS **'                               
         SPACE    2                                                             
        DO       #SYMB                                                          
*                                                                               
*        R1       DEVICE (DCT) INDEX                                            
*        R2       OPTION INDEX                                                  
*        R3       TEMP SPACE (FPT'S) POINTER                                    
*        R7       KEY-IN CHARACTER SCAN POINTER                                 
*                                                                               
*                                                                               
*                                                                               
         SPACE    2                                                             
SYMBCTL  EQU      %         PROCESS THE S, T, L, I, R, C, AND B OPTIONS         
         LI,R8    KIS               SET UP TO VERIFY 'IS' AREA ALLOTED          
         LB,R6    DCT4,R1           R6= DEVICE TYPE                             
         LB,R6    TABLE3,R6         DETERMINE WHETHER INPUT OR OUTPUT           
         BEZ      KEYERR            ILLEGAL SYMBIONT DEVICE                     
         CI,R6    15                IS IT AN INPUT DEVICE                       
         BE       %+2                 YES, LOOK UP 'IS' AS SET ABOVE            
         LI,R8    KOS                ELSE LOOK UP 'OS'                          
         BAL,R5   FMMASTX           GET AREA INDEX IN R6                        
         B        KEYERR            NOT EVEN DEFINED                            
         LI,R11   1                 GO FIND A NAME                              
         BAL,R14  SCAN              ONE LETTER OPTION LETTER                    
         CI,R6    0                 ERROR ?                                     
         BLE      KEYERR              YES, REPORT IT                            
         PAGE                                                                   
         SPACE    2                                                             
         LI,R2    OPTICNT           SET NUMBER OF LEGAL OPTIONS                 
         LH,R8    R8                RIGHT JUSTIFY THE LETTER                    
*                                   AS A HALF-WORD (LETTER, SPACE)              
SYMBCTL1 EQU      %                                                             
         CH,R8    TABLE0,R2                                                     
         BE       SYMBCTL2                                                      
         BDR,R2   SYMBCTL1                                                      
         B        KEYERR            ERROR IF NOT FOUND                          
*                                                                               
*                                                                               
SYMBCTL2 EQU      %         OPTION FOUND                                        
         LI,R8    0                 PRE-GUESS AT BACK-UP COUNT = REWIND         
         CI,R2    SYMBNDXB          IS IT A 'B' OR 'R' OPTION?                  
         BG       SYMBCTL5            NO, SKIP OUT                              
         BL       SYMBCTL4            'R', SET TO DO A REWIND                   
*                                                                               
         LI,R8    1                 SET DEFAULT BACKUP COUNT                    
         CI,R6    1                 AT END OF AN OPTION ?                       
         BG       SYMBCTL4            NO, NOTHING FOLLOWS                       
*                                                                               
         LI,R11   4                 FETCH BACK-UP COUNT                         
         BAL,R14  SCAN                                                          
         CI,R6    2                 AT END OF CARD ? (INPUT ?)                  
         BNE      KEYERR              NO, GIVE AN ERROR                         
         PAGE                                                                   
         SPACE    2                                                             
SYMBCTL4 EQU      %         TEST IF 'B', 'R' LEGAL; STORE BACK-UP COUNT         
         LB,R9    DCTSYM1,R1        WAS THE DEVICE STOPPED                      
         CI,R9    DCTSYMS           BY A 'S' KEY-IN ?                           
         BAZ      KEYERR              NO, GIVE AN ERROR                         
*                                                                               
         LW,R6    DCTSYM2,R1        GET POINTER TO DEVICE'S CTRL INFO           
         AI,R6    SYMBACUP          COMPUTE LOC OF BACK-UP COUNT                
         STB,R8   *R6               AND STORE FOR THE SYMBIONT TASK             
         LB,R9    DCTSYM3,R1        INSERT 'B' / 'R' REQUEST BIT                
         AI,R9    DCTSYMB           INTO OPTION BYTE 2;  SYMBIONT               
         STB,R9   DCTSYM3,R1        DETERMINES WHICH FROM PAGE COUNT            
*                                                                               
*                                                                               
SYMBCTL5 EQU      %         PERFORM ACTIONS FOR REQUESTED OPTIONS               
         LB,R6    TABLEN,R2         GET NAME OF THE DCT TABLE THAT              
         LW,R11   TABLESYM,R6       HAS TO BE MODIFIED                          
         DISABLE                                                                
         LB,R0    *R11,R1           GET TABLE STATUS BYTE                       
         LB,R15   TABLE1,R2         GET RESET BITS                              
         LB,R14   TABLE2,R2         AND SET BITS                                
         AND,R0   R15                                                           
         OR,R0    R14               SET NEW BITS ON                             
         STB,R0   *R11,R1           AND SAVE NEW SETTINGS                       
         ENABLE                                                                 
         B        STARTSYM          START IT UP                                 
         PAGE                                                                   
*                                                                               
*                                                                               
*                                                                               
         BOUND    4                                                             
*                                                                               
*                    1 2 3 4 5 6 7 8 9    INDEX NUMBER                          
TABLE0   TEXT     '  R B Q L T S C X I '                                        
*                                                                               
TABLE1   DATA,1   0         BITS TO BE RESET BY OPTION                          
         DATA,1   KFF-DCTSYMS          R   - MUST BE 1ST                        
SYMBB    DATA,1   KFF-DCTSYMS          B   - MUST BE 2ND                        
         DATA,1   KFF                  Q                                        
         DATA,1   KFF-DCTSYMT          L                                        
         DATA,1   KFF-DCTSYML          T                                        
         DATA,1   KFF                  S                                        
         DATA,1   KFF-DCTSYMS          C                                        
         DATA,1   KFF-DCTSYMS          X                                        
SYMBI    DATA,1   KFF-DCTSYML-DCTSYMT-DCTSYMQ     I                             
*                                                                               
*                                                                               
OPTICNT  EQU      BA(%)-BA(TABLE1)-1    NUMBER OF LEGAL OPTIONS                 
SYMBNDXI EQU      BA(SYMBI)-BA(TABLE1) INDEX FOR 'I'                            
SYMBNDXB EQU      BA(SYMBB)-BA(TABLE1) INDEX FOR 'B'                            
*                                                                               
*                                                                               
*                                                                               
*                                                                               
         BOUND    4                                                             
TABLE2   DATA,1   00        BITS TO BE   SET BY OPTION                          
         DATA,1   0                 R                                           
         DATA,1   0                 B                                           
         DATA,1   DCTSYMQ           Q                                           
         DATA,1   DCTSYML           L                                           
         DATA,1   DCTSYMT           T                                           
         DATA,1   DCTSYMS           S                                           
         DATA,1   0                 C                                           
         DATA,1   DCTSYMX           X                                           
         DATA,1   DCTSYMI+DCTSYMU   I                                           
         PAGE                                                                   
*                                                                               
*                                                                               
*                                                                               
*                                                                               
         BOUND    4                                                             
TABLE3   EQU      %         LEGAL DEVICES FOR 'SYYNDD' KEY-IN                   
*                                   =00 ==> ILLEGAL; >00 ==> LEGAL              
*                                   =07 ==> OUTPUT; =15 ==> INPUT               
*                                                                               
         DATA,1   00,00,00,00       NO, TY, PR, PP  ( 0 -  3)                   
         DATA,1   15,00,07,00       CR, CP, LP, DC  ( 4 -  7)                   
         DATA,1   07,07,00,07       9T, 7T, CP, LP  ( 8 - 11)                   
         DATA,1   00,00,00,07       DP, PL, DP, LP  (12 - 15)                   
*                                                                               
*                                                                               
         BOUND    4                                                             
*                                                                               
*                                                                               
*                                                                               
TABLEN   DATA,1   00        INDEX TO TABLSYM FOR BYTE TABLE TO ALTER            
         DATA,1   0                 R                                           
         DATA,1   0                 B                                           
         DATA,1   0                 Q                                           
         DATA,1   0                 L                                           
         DATA,1   0                 T                                           
         DATA,1   0                 S                                           
         DATA,1   0                 C                                           
         DATA,1   0                 X                                           
         DATA,1   0                 I                                           
*                                                                               
*                                                                               
         BOUND    4                                                             
*                                                                               
*                                                                               
TABLESYM RES      0         ADDRESSES OF TABLES TO CHANGE                       
*                                   INDEXED FROM TABLEN                         
         DATA     DCTSYM1           INDEX = 0                                   
         DATA     DCTSYM3           INDEX = 1                                   
         PAGE                                                                   
         SPACE    2                                                             
************************************                                            
*                                  *                                            
*                                  *                                            
*      DO, RDO SYMBIONT KEY-INS    *                                            
*                                  *                                            
*                                  *                                            
************************************                                            
*                                                                               
*                                                                               
SYMBSDO  EQU      %         SET SYMBIONT 'DO' FLAG BIT                          
         LI,R6    1                 SET FLAG ON                                 
         B        SYMBDOR           AND DO COMMON TEST, SET                     
*                                                                               
*                                                                               
SYMBRDO  EQU      %         RESET SYMBIONT 'DO' FLAG BIT                        
         LI,R6    0                 SET BIT OFF                                 
*                                                                               
*                                                                               
SYMBDOR  EQU      %         COMMON PROCESSOR FOR 'DO', 'RDO'                    
         LI,R7    1                 SET THE FLAG ON                             
         STS,R6   SYMB                                                          
*                                                                               
*                                                                               
*                                                                               
STARTSYM EQU      %         START THE SYMBIONT TASK                             
         CAL1,7   STRTFPT,R3         START                                      
         B        KEY7EXIT                                                      
         PAGE                                                                   
         SPACE    2                                                             
************************************                                            
*                                  *                                            
*                                  *                                            
*        SS SYMBIONT KEY-IN        *                                            
*                                  *                                            
*                                  *                                            
************************************                                            
*                                                                               
*                                                                               
SYMBSS   EQU      %                                                             
         LH,R1    DCT1              GET NUMBER OF DEVICES TO LOOK AT            
         LI,R15   0                 SET ONE NOT FOUND YET                       
*                                                                               
SYMBSS1  EQU      %         LOOK UP A SYMBIONT DEDICATED DEVICE                 
         LB,R0    DCTSYM1,R1                                                    
         CI,R0    DCTSYMSM          DEDICATED TO SYMBIONTS AT SYSGEN?           
         BAZ      SYMBSS2             NO                                        
*                                                                               
         LB,R2    DCT4,R1           YES, IS IT AN INPUT DEVICE?                 
         LB,R2    TABLE3,R2         ACCORDING TO OUR CODE TABLE                 
         CI,R2    15                15 =INPUT, 07=OUTPUT                        
         BNE      SYMBSS2             NOT INPUT DEVICE; SKIP IT                 
*                                                                               
         CI,R15   0                 MORE THEN ONE DEVICE ?                      
         BNE      KEYERR              YES, ERROR                                
         STW,R1   R15               NO, FIRST; SAVE INDEX                       
*                                                                               
*                                                                               
*                                                                               
SYMBSS2  EQU      %         TEST IF MORE DEVICES                                
         BDR,R1   SYMBSS1                                                       
*                                                                               
         LW,R1    R15               SET INDEX; WAS EXACTLY 1 FOUND ?            
         BEZ      KEYERR              NO, ERROR                                 
*                                                                               
         LI,R2    SYMBNDXI          SET INDEX TO 'I' OPTION                     
         B        SYMBCTL5          AND PROCESS AS AN 'I' OPTION                
         PAGE                                                                   
         SPACE    2                                                             
************************************                                            
*                                  *                                            
*                                  *                                            
*        DEL SYMBIONT KEY-IN        *                                           
*                                  *                                            
*                                  *                                            
************************************                                            
*                                                                               
*                                                                               
*                                                                               
SYMBDEL  EQU      %                                                             
         CI,R6    2                                                             
         BE       KEYERR            ERROR IF NO PARAMETERS                      
         LI,R11   2                 SET TO SCAN HEXIDECIMAL                     
         BAL,R14  SCAN              GET ID NUMBER                               
         CI,R6    2                 END OF CARD FOUND                           
         BNE      KEYERR             NO, ERROR                                  
*                                                                               
         CAL1,7   SDELFPT,R3        DELETE THE ID'S INFO                        
         B        STARTSYM          AND START SYMB SO IT KNOWS                  
         PAGE                                                                   
         SPACE    2                                                             
************************************                                            
*                                  *                                            
*                                  *                                            
*        PRIORITY SYMBIONT KEY-IN  *                                            
*                                  *                                            
*                                  *                                            
************************************                                            
*                                                                               
*                                                                               
*                                                                               
SYMBPRI  EQU      %                                                             
         CI,R6    2                                                             
         BE       KEYERR            ERROR IF NO PARAMETERS                      
         LI,R11   2                 PICK UP HEXIDECIMAL JOB ID NUMBER           
         BAL,R14  SCAN              AS KEYED IN                                 
         CI,R6    1                 TERMINATED BY A ','; MORE TO GO?            
         BG       KEYERR              NO, IMPROPER NR OF PARAMS                 
*                                                                               
         LW,R15   R8                SAVE JOB ID NUMBER                          
         LI,R11   2                 SET TO GET THE NEW                          
         BAL,R14  SCAN              PRIORITY VALUE                              
         CI,R6    2                 END OF INPUT DATA ?                         
         BNE      KEYERR              NO, ERROR                                 
         CI,R8    0                 NEW PRIORITY IN RANGE ?                     
         CI,R8    15                NEW PRIORITY IN RANGE, =< 15 ?              
         BG       KEYERR              NO, ERROR                                 
         CAL1,7   SPRIFPT,R3        SET NEW PRIORITY                            
         B        STARTSYM          THEN INFORM THE SYMBIONT TASK               
         PAGE                                                                   
         SPACE    2                                                             
************************************                                            
*                                  *                                            
*                                  *                                            
*        BATCH SYMBIONT KEY-IN     *                                            
*                                  *                                            
*                                  *                                            
************************************                                            
*                                                                               
*                                                                               
*                                                                               
SYMBBAT  EQU      %                                                             
         CI,R6    2                                                             
         BE       KEYERR            ERROR IF NO PARAMETERS                      
         LW,R9    R3                                                            
         AI,R9    SYMAREA-SYMBSFPT  GETIOID CONTROL BLOCK POINTER               
         LW,R0    GIOFA                                                         
         STW,R0   *R9               SET TO SCAN FILE ID                         
         BAL,R8   GETIOID           GET BATCH FILE ID                           
         CI,R6    2                                                             
         BL       KEYERR            B IF GETIOID OR SYNTAX ERROR                
         AWM,R3   SBATPTR1-SYMBSFPT,R3 BIAS FILE ID PTR TO TSPACE BLOCK         
         AWM,R3   SBATPTR2-SYMBSFPT,R3 BIAS ACNT PTR TO TSPACE BLOCK            
         CAL1,7   SBATFPT,R3        'BATCH IT'                                  
         B        STARTSYM          AND START SYMBIONTS SO IT KNOWS             
*                                                                               
GIOFA    DATA     X'10040000'       GETIOID FLAGS FOR FILE, ACNT                
         PAGE                                                                   
         BOUND    8                                                             
*                                                                               
*                                                                               
SYMBSFPT GEN,8,1,23  X'4A',1,0      START SYMBIONT TASK                         
         DATA     P3+P4+P10+P11+F7                                              
         TEXT     'SYMBIONT'                                                    
         DATA     0                 TYC                                         
         TEXT     'CPR '                                                        
*                                                                               
*                                                                               
SYMBDFPT GEN,8,1,23  X'67',1,0      DELETE A JOB  JOB CAL                       
         DATA     P5+P10+F2+F3+F7                                               
         DATA     BIT0+R8   P5      JOB NUMBER TO DELETE                        
         DATA     0         P10     TYC                                         
*                                                                               
*                                                                               
SYMBPFPT GEN,8,1,23  X'67',1,0      SET NEW PRIORITY FOR A JOB                  
         DATA     P5+P8+P10+F3+F7                                               
         DATA     BIT0+R15  P5      JOB NUMBER TO CHANGE PRIO ON                
         DATA     BIT0+R8   P8      NEW PRIORITY VALUE                          
         DATA     0         P10     TYC                                         
*                                                                               
*                                                                               
SYMBBFPT GEN,8,1,23  X'67',1,0      BATCH INPUT FROM A FILE  JOB CAL            
         DATA     P4+P10+P14+F1+F3+F4+F7                                        
SBATPTR1 DATA     SYMAREA+1-SYMBSFPT  DISPLACEMENT TO FILE ID PTR               
         DATA     0                 TYC                                         
SBATPTR2 DATA     SYMAREA+4-SYMBSFPT  DISPLACEMENT TO ACNT PTR                  
*                                                                               
*                                                                               
SYMAREA  RES      0                 START OF GETIOID CONTROL BLOCK              
         PAGE                                                                   
         SPACE    2                                                             
*                                                                               
*                                                                               
*                 DISPLACEMENTS INTO TEMP SPACE AT R3 OF THE FPTS               
*                                                                               
STRTFPT  EQU      SYMBSFPT-SYMBSFPT    START SYMBIONTS FPT                      
SDELFPT  EQU      SYMBDFPT-SYMBSFPT    DELETE FPT                               
SPRIFPT  EQU      SYMBPFPT-SYMBSFPT    PRIORITY FPT                             
SBATFPT  EQU      SYMBBFPT-SYMBSFPT    BATCH FPT                                
*                                                                               
*                                                                               
*                                                                               
*                                                                               
        FIN      #SYMB                                                          
         OLAYEND                                                                
         END                                                                    
