         SYSTEM   SIG9P                                                         
         SYSTEM   OPTIONS                                                       
         DEF      ALLOT                                                         
         DEF      ALLEXIT,ALLTRAPX                                              
OLAYFLAG EQU      'ALLO'                                                        
         SYSTEM   CPRMON                                                        
         TITLE    'ALLOT'                                                       
***************                                                                 
*    ALLOT    *                                                                 
***************                                                                 
*                                                                               
*    ROUTINE ADDS A NEW ENTRY TO THE SPECIFIED PERMANENT                        
*    FILE DIRECTORY AND ALLOCATES THE SPACE FOR THE FILE.                       
*                                                                               
*    AT ENTRY:    R1    FPT CODE                                                
*                 R3    FPT ADDRESS                                             
*                                                                               
*                                                                               
ALLOT    RES      0                 R3= FPT ADDRESS,R4= STI INDEX               
         LW,R7    0,R3              FPT WORD 0                                  
         CW,R7    Y008              IS P0 BIT SET                               
         BAZ      ALLTRAPX          NO, ILLEGAL CAL                             
         LI,R7    16                GET ENOUGH TSPACE FOR A MAXIMUM             
         BAL,R8   GETTEMP            SIZED DIRECTORY ENTRY.                     
         B        ALLOT10F          ERROR, CANT GET TSPACE                      
*                                                                               
         LB,R4    TCBPOINT          GET TASK INDEX                              
         LW,R1    STISPCE,R4        LINK THE TSPACE INTO THE TASK'S             
         STW,R1   0,R7               DATA CHAIN.                                
         STW,R7   STISPCE,R4                                                    
         ENABLE                                                                 
         LI,R0    0                                                             
         LI,R1    15                                                            
         STW,R0   *R7,R1            ZERO TSPACE DATA AREA                       
         BDR,R1   %-1                                                           
*                                                                               
*  VALIDATE AREA                                                                
         LW,R8    0,R3                                                          
         AND,R8   M16               R8= AREA                                    
         BEZ      %+3               B IF DEFAULT (ZERO)                         
         CH,R8    BLANKS                                                        
         BNE      ALLOT0A           B IF DEFAULT (BLANKS)                       
*                                                                               
         LI,R6    -1                NO AREA - USE A PUBLIC AREA                 
         B        ALLOT0B                                                       
*                                                                               
ALLOT0A  RES      0         TEST IF NAMED AREA DEFINED                          
         BAL,R5   FMMASTX           GET AREA INDEX IN R6                        
         B        ALLER70             NAME NOT DEFINED: GIVE ERROR 70           
*                                                                               
*                           TEST IF OK TO ALLOT IN NAMED AREA                   
         CLM,R6   CKXABT            IS AREA CK, XA, OR BT ?                     
         BCR,6    ALLER70           YES, ILLEGAL AREA                           
*  VALIDATE WRITE PROTECTION                                                    
         BAL,R5   FMCKWP            CHECK WRITE PROT                            
         B        ALLER42             PROTECTED: REPORT THE ERROR               
*                                                                               
*   REGISTER USAGE HERE:                                                        
*                                                                               
*        R1       FPT CODE                                                      
*        R2       DISC TABLE INDEX                                              
*        R3       FPT ADDRESS                                                   
*        R4       STI INDEX                                                     
*        R6       AREA INDEX OR -1 FOR PUBLIC FILE                              
*        R7       TSPACE ADDRESS                                                
*                                                                               
*        R0, R4, R5, R8-R15 ARE AVAILABLE FOR USE.                              
*                                                                               
ALLOT0B  RES      0                 GET ACCOUNT NAME                            
         LI,R0    DIRESIZE          SET DEFAULT LENGTH OF DIRE ENTRY            
         STW,R0   TSNFLEN,R7        TO HAVE NO ACCOUNT NAME IN IT               
        DO       #DFACNT                                                        
         LI,R15   KE                GET ACCOUNT NAME IF GIVEN                   
         BAL,R5   GETPII            IN THE FPT                                  
         B        ALLOT1              NOT GIVEN: USE DEFAULT                    
*                                                                               
         LCI      2                 GET THE GIVEN ACCOUNT NAME                  
         LM,R12   *R14              FROM THE 2 WORD DATA PACKET                 
         CD,R12   ZEROS             DOES IT SPECIFY THE DEFAULTED               
         BE       ALLOT1            SYSTEM ACCOUNT ?     YES, GET IT            
*                                                                               
         CD,R12   BLANKS            IN EITHER DEFAULT FORMAT...                 
         BE       ALLOT1                                                        
*                                                                               
         BAL,R8   ALLOTCHK          VALIDATE NAME FOR LEGAL CHARS, LEN          
         B        ALLER71             INVALID NAME: ERROR 71                    
*                                                                               
         B        ALLOT3            STORE NAME IN TSPACE BLOCK                  
*                                                                               
ALLOT1   RES      0         GET DEFAULT ACCOUNT NAME                            
         CI,R6    -1                WAS AN AREA NAME SPECIFIED ?                
         BNE      ALLOT2              IF GIVEN, DEFAULT = #SYSACNT              
*                                   IF NOT, DEFAULT = JOB'S ACCOUNT             
         LB,R5    STIJID,R4         NO AREA GIVEN: GET THE JOB'S                
         LW,R5    SJI1,R5           ACCOUNT FROM ITS JCB ACCOUNT ANME           
         LCI      2                                                             
         LM,R12   JCBACCNT,R5                                                   
         B        ALLOT3            AND STORE IN TSPACE BLOCK                   
*                                                                               
ALLOT2   RES      0         DEFAULT ACCOUNT = #SYSACNT: GET IT                  
         LD,R12   SYSACNT                                                       
*                                                                               
*                                                                               
ALLOT3   RES      0         STORE GIVEN OR DEFAULTED ACCOUNT NAME               
         MTW,+2   TSNFLEN,R7        STEP LENGTH TO INCLUDE ACCOUNTNAME          
         STW,R12  TSNFACT1,R7       SAVE NAME IN TSPACE DIRE ENTRY              
         STW,R13  TSNFACT2,R7                                                   
        FIN      #DFACNT                                                        
*                                                                               
*                                                                               
*   GET FILE NAME    (AND LEAVE IT IN R12, R13 AND TSPACE ENTRY)                
*                                                                               
*                           PROCESS FILE NAME                                   
         LI,R15   K3                                                            
         BAL,R5   GETFPTN           GET 1ST WORD OF FILE NAME                   
         B        ALLER71           NOT PRESENT, ILLEGAL CAL                    
         LW,R12   R15               R12= 1ST WORD OF FILE NAME                  
         LI,R15   K4                                                            
         BAL,R5   GETFPTN           GET 2ND WORD OF FILE NAME                   
         LW,R15   BLANKS            NOT PRESENT, SUBSTITUTE BLANKS              
         LW,R13   R15               R13= 2ND WORD OF FILE NAME                  
         LI,R15   X'40'                                                         
         CB,R15   R12               IS THE 1ST CHARACTER A BLANK                
         BE       ALLER71           YES, ERROR                                  
         BAL,R8   ALLOTCHK          CHECK FILE NAME                             
         B        ALLER71             ERROR IN NAME; REPORT THE ERROR           
*                                                                               
         STW,R12  TSNFNAM1,R7       STORE NAME IN PROTOTYPE ENTRY               
         STW,R13  TSNFNAM2,R7                                                   
*                                                                               
*                                                                               
*                           PROCESS 'RF' FLAG                                   
         LW,R15   1,R3              WORD 1 OF FPT                               
         CI,R15   X'20'             IS RF FLAG SET                              
         BAZ      ALLOT4            NO                                          
         CI,R6    FPINDEX           IS THE AREA THE 'FP' AREA ?                 
         BNE      ALLER70            NO, ILLEGAL AREA                           
         LI,R15   BIT15              YES, SET RF FLAG IN DIRECTORY              
         AWM,R15  TSNFFLGS,R7       FLAG 2,                                     
*                                                                               
*   PROCESS 'FSIZE'                                                             
*                                                                               
ALLOT4   RES      0                                                             
         LI,R15   K5                                                            
         BAL,R5   GETPI             GET FSIZE PARAMETER IN R15                  
         NOP                                                                    
         CI,R15   0                 IS FSIZE = 0                                
         BNE      %+2               NO, BRANCH                                  
         LI,R15   1000              YES, DEFAULT = 1000 RECORDS                 
         STW,R15  TSNFFSIZ,R7       TEMPORARILY SAVE AS # OF RECORDS            
*                                                                               
*   PROCESS 'ESIZE'                                                             
*                                                                               
         LI,R15   K7                                                            
         BAL,R5   GETPI             GET ESIZE PARAMETER IN R15                  
         B        ALLOT5            NOT PRESENT                                 
         CI,R15   0                 IS SPECIFIED SIZE= 0                        
         BNE      %+2               NO, BRANCH                                  
         LW,R15   TSNFFSIZ,R7       YES, USE FSIZE VALUE AS DFLT                
         STW,R15  TSNFESIZ,R7       STORE TEMPORARILY AS # OF RECS.             
         LW,R15   1,R3              GET FPT WORD 1                              
         CI,R15   F5                IS 'FIX' INDICATOR SET                      
         BAZ      ALLOT5            NO, BRANCH                                  
         LW,R5    Y1                YES, SET INDICATOR IN FLAG2                 
         STS,R5   TSNFFLGS,R7                                                   
ALLOT5   RES      0                                                             
*                                                                               
*   PROCESS 'RSIZE'                                                             
*                                                                               
         LI,R15   K6                                                            
         BAL,R5   GETPI             GET RECORD SIZE                             
         NOP                         (R15=0 IF RSI NOT PRESENT)                 
         SLS,R15  2                 R15= RECORD SIZE IN BYTES                   
         CI,R15   KFFFF             COMPARE TO MAXIMUM ALLOWED                  
         BG       ALLER4A            ERROR, TOO BIG                             
         STW,R15  TSNFGRSZ,R7       STORE IN TSPACE'S DUMMY DIRE ENTRY          
*                                                                               
*                           PROCESS 'GSIZE'                                     
         LI,R15   K8                                                            
         BAL,R5   GETPI             GET GRAN SIZE                               
         NOP      0                                                             
         SLS,R15  2                 R15= GSIZE IN BYTES                         
*   CHECK FOR ILLEGAL GSIZE                                                     
         CI,R15   X'FFFF'           R15= GSIZE IN BYTES                         
         BG       ALLER4A           ERROR, TOO BIG                              
         SLS,R15  16                MOVE TO LEFT HALFWORD AND                   
         STS,R15  TSNFGRSZ,R7       COMBINE WITH RSIZ                           
*                                                                               
*                                                                               
*                           PROCESS 'ORG'                                       
         LI,R15   K2                                                            
         BAL,R5   GETPI             GET ORG                                     
         NOP      0                 (USE 0, = UNBORG IF ABSENT)                 
         AND,R15  M2                                                            
         SCS,R15  -8                POSITION ORG IN BYTE 0                      
         STS,R15  TSNFFLGS,R7       MERGE ORG INTO FLAG1                        
         SCS,R15  8                 PUT ORG BACK INTO BYTE 3                    
         CI,R15   BLKORG            PROCESS ACCORDING TO ORG:                   
         BL       ALLOT8            UNBLOCKED:                                  
         BE       ALLOT7            BLOCKED:   VALIDATE RSIZE, ETC              
*                                                                               
*                                                                               
******************************                                                  
*                                                                               
*        FORMAT IS COMPRESSED: PROCESS IF PERMITTED                             
*                                                                               
        DO       #CFILES         IF COMPRESSED FILES ARE ALLOWED...             
         LW,R4    TSNFGRSZ,R7       GET GSIZ / RSIZ WORD                        
         AND,R4   YFFFF             THROW AWAY OLD RSIZ AND FORCE IT TO         
         AI,R4    CRSIZE            1024 FOR COMPRESSED FILES                   
         STW,R4   TSNFGRSZ,R7                                                   
         LI,R4    25                SET AVERAGE NUMBER OF RECS/BLOCK            
         LW,R5    TSNFFSIZ,R7       GET SPECIFIED FILE SIZE                     
         AI,R5    24                                                            
         DW,R5    R4                CHANGE TO APPROX NR OF BLOCKS               
         STW,R5   TSNFFSIZ,R7                                                   
         LW,R5    TSNFESIZ,R7       GET ESIZE                                   
         AI,R5    24                                                            
         DW,R5    R4                                                            
         STW,R5   TSNFESIZ,R7       CHANGE TO APPROX NR OF BLOCKS               
*                                                                               
        ELSE     #CFILES         IF COMPRESSED FILES NOT ALLOWED...             
         B        ALLER77           REPORT INVALID FILE TYPE                    
        FIN      #CFILES                                                        
*                                                                               
*                                                                               
****************************                                                    
         B        ALLOT9                                                        
*                                                                               
*   FORMAT IS BLOCKED                                                           
*                                                                               
ALLOT7   RES      0                                                             
         LW,R4    TSNFGRSZ,R7       GET RSIZE AS SPECIFIED                      
         AND,R4   M16                                                           
         BNEZ     ALLOT9            B IF SPECIFIED                              
         LI,R4    512               DEFAULT TO 512 BYTES                        
         LI,R5    X'FFFF'                                                       
         STS,R4   TSNFGRSZ,R7                                                   
         B        ALLOT9                                                        
*                                                                               
****************************                                                    
*                                                                               
*   FORMAT IS UNBLOCKED                                                         
*                                                                               
ALLOT8   RES      0                                                             
*        B        ALLOT9            GO DEFINE THE FILE                          
         PAGE                                                                   
         SPACE    2                                                             
*   TSPACE BLOCK FORMAT (NEW FILE'S PRELIMINARY DIRECTORY ENTRY)                
*                                                                               
*  WORD  LABEL     CONTENTS                                                     
*                                                                               
*   0  TSNFTSPC   TSPACE CONTROL WORD FROM GETTEMP                              
*   1  TSNFNAM1   WORD ONE OF FILENAME                                          
*   2  TSNFNAM2   WORD TWO OF FILENAME                                          
*   3  TSNFLEN    LENGTH OF ENTRY, IN RIGHTMOST BYTE                            
*   3  TSNFFLGS   FLAGS (1 & 2), AND ALSO LENGTH                                
*   4  TSNFGRSZ   GSIZE IN HW 0, RSIZE IN HW 1, 0 FOR DEFAULTS                  
*   5  TSNFFSIZ   FSIZE )(IN RECORDS FROM ALLOT, ZEROED BY FINDDIR              
*   6  TSNFBOT    SPACE FOR FILE'S BOT  )(  THESE ARE FILLED-IN IN              
*   7  TSNFEOT    SPACE FOR FILE'S EOT  )(  DURING ALLOT IN 'FINDDIR'           
*   8  TSNFXTNT   EXTENT NUMBER: INITIALIZED TO ZERO                            
*   9  TSNFESIZ   EXTENT SIZE )(IN RECS FROM ALLOT, TO SECTS BY FINDDIR         
*  10  TSNFACT1   ACCOUNT NAME, PART 1  )(  THESE WORDS ARE OPTIONAL AND        
*  11  TSNFACT2   ACCOUNT NAME, PART 2  )(  ARE UNUSED IF NO ACCOUNTS           
*                                                                               
*        TEMP CELLS FOR USE BY FINDDIR IN ALLOTING                              
*                                                                               
*                 ONCE AREA IS DETERMINED:                                      
*  12  TSNFSECT   NUMBER OF SECTORS NEEDED FOR THE NEW FILE                     
*  13  TSDFSECT   NUMBER OF SECTORS IN 'BEST FIT' DELETED FILE                  
*  14  TSDFADD    SECTOR NUMBER OF DIRECTORY WITH 'BEST FIT' ENTRY              
*  15  TSDFINDX   WORD INDEX INTO SECTOR OF 'BEST FIT' ENTRY                    
*                                                                               
*                 FOR A PUBLIC FILE (AREA INDETERMINATE):                       
*  13  TSDFSECT   FLAG FOR BIG ENUF HOLE IN CURRENT AREA (BYTE 0)               
*  13  TSDFSECT   TOTAL NR OF FREE SECTORS IN CURRENT AREA (BYTES 1-3)          
*  14  TSBESTA    AREA INDEX FOR BEST PUBLIC AREA                               
*  15  TSBESTSZ   TOTAL FREE SPACE IN BEST AREA IN KBYTES                       
         PAGE                                                                   
         SPACE    3                                                             
*   REGISTER USAGE AT CALL TO 'FINDDIR' TO ALLOT THE FILE:                      
*                                                                               
*        R0       --------                                                      
*        R1       --------                                                      
*        R2       DISC TABLE INDEX                                              
*        R3       FPT ADDRESS                                                   
*        R4       --------                                                      
*        R5       --------                                                      
*        R6       AREA INDEX OR -1 FOR PUBLIC FILE                              
*        R7       TSPACE ADDRESS (ADDRESS OF NEW FILE'S DIRECTORY)              
*        R8       --------                                                      
*        R9       -------- (EXTENT NUMBER 0 SET AT 'FINDDIR' ENTRY )            
*        R10,R11  ACCOUNT NAME                                                  
*        R12,R13  FILE NAME                                                     
*        R14      --------                                                      
*        R15      REENTRANCY COUNT                                              
         PAGE                                                                   
         SPACE    2                                                             
ALLOT9   RES      0         ALLOT THE NEW FILE VIA 'FINDDIR'                    
         LW,R10   TSNFACT1,R7       SET ACCOUNT NAME FILE IS TO GO IN           
         LW,R11   TSNFACT2,R7       UNDER                                       
         LW,R15   RENT:D            SET DIRECTORY REENTRANCY COUNT              
         BAL,R8   FINDDIR           CHECK DUP FILES AND ALLOT IF OK             
         B        ALLOTERR            ERROR OF SOME SORT: PROCESS IT            
*                                                                               
         LI,R15   TYCNORM           SET NORMAL COMPLETION, NO ERRORS            
*                                                                               
*                                                                               
*        CLEAN UP AND RETURN                                                    
*                                                                               
ALLOT10D RES      0          RELEASE BLOCKING BUFFER                            
         LW,R6    R10               SET ADDRESS OF BBCW TO RELEASE              
         BAL,R11  RELADBUF          UNTIE BB                                    
*                                                                               
ALLOT10E RES      0          RELEASE TSPACE BUFFER                              
         BAL,R8   ALLRLST           RELEASE TSPACE                              
*                                                                               
ALLOT10F RES      0          FIX UP REGISTERS FOR POSTING RESULTS               
         LW,R2    R3                FPT ADDRESS TO R2 IN CASE OF ERROR          
ALLEXIT  B        TMX1              EXIT VIA TMSETERR, TMTYC15, ETC.            
         PAGE                                                                   
         SPACE    2                                                             
* PROCESS ERROR RETURNS                                                         
*                                                                               
ALLOTERR RES      0         ERROR FROM 'FINDDIR': DETERMINE WHAT                
         LW,R15   R9                COPY ERROR TYC                              
         CI,R15   TYCREENT          WERE WE REENTERED ?                         
         BNE      ALLER41             NO, TEST OTHER POSSIBILITIES              
*                                                                               
         BAL,R8   ALLRLST           YES, RELEASE TSPACE BLOCK                   
         B        ALLOT             AND START ALL OVER FROM THE TOP             
*                                                                               
*                                                                               
ALLER41  RES      0         TEST IF 'DUPLICATE FILE ERROR' FOUND                
         CI,R15   TYC71             IS IT A DUPLICATE FILE ERROR ?              
         BE       ALLOT10D            YES, MUST RELEASE BB FIRST                
         B        ALLOT10E          ELSE JUST RELEASE TSPACE                    
*                                                                               
ALLER42  RES      0                                                             
         LI,R15   KA                TYC FOR WRT PROT ERROR                      
         B        ALLOT10E                                                      
*                                                                               
ALLER4A  RES      0                                                             
         LI,R15   K4A               INVALID RECORD SIZE                         
         B        ALLOT10E                                                      
*                                                                               
ALLER70  RES      0                                                             
         LI,R15   K70               ILLEGAL OR UNDEFINED AREA NAME              
         B        ALLOT10E                                                      
*                                                                               
ALLER71  RES      0                                                             
         LI,R15   K71               ILLEGAL FILE NAME                           
         B        ALLOT10E                                                      
*                                                                               
ALLER77  RES      0                                                             
         LI,R15   K77               ILLEGAL FILE FORMAT                         
         B        ALLOT10E                                                      
*                                                                               
ALLTRAPX B        TRAPX                                                         
         PAGE                                                                   
*                                                                               
****************                                                                
*   ALLOTCHK   *                                                                
****************                                                                
*                                                                               
*    CHECK A NAME TO INSURE IT HAS VALID ALPHANUMERICS AND NO                   
*                                   INTERNAL BLANKS.                            
*   ENTRY:                                                                      
*        R2       DISC TABLE INDEX                                              
*        R3       FPT ADDRESS                                                   
*        R6       AREA INDEX                                                    
*        R7       TSPACE ADDRESS                                                
*                                                                               
*        R8       LINK                                                          
*        R12,R13  NAME TO VALIDATE                                              
*                                                                               
*   REGISTERS R1, R4, AND R5 ARE DESTROYED                                      
*                                                                               
ALLOTCHK RES      0         VALIDATE A NAME AS TO SYNTAX                        
         LI,R1    -8                SET NUMBER OF CHARACTERS TO TEST            
*                                                                               
ALOTCHK1 RES      0         TEST FOR LEGAL CHARACTERS FROM LEFT END             
         LI,R5    0                 CLEAR ODD REG OF A PAIR                     
         LB,R4    R12+2,R1          FETCH THE NEXT (1ST) CHARACTER              
         SLD,R4   -5                GET WORD INDEX IN R4                        
         SCS,R5   5                 AND BIT WITHIN WORD IN R5                   
*  IF T:CHAR IS LOOKED AT AS AN EBCDIC CODE TABLE,                              
*  R4 = COLUMN INDEX, AND R5 = ROW INDWX                                        
         LW,R4    T:CHAR,R4         GET COLUMN CONTAINING CHAR                  
         SLS,R4   0,R5              LEFT JUSTIFY THE ROW BIT                    
         CI,R4    0                 IS THE BIT SET FOR A LEGAL CHAR ?           
         BGE      ALOTCHK2            NO, TEST FOR BLANKS                       
         BIR,R1   ALOTCHK1          YES, TEST NEXT IF MORE TO GO                
         B        ALOTCHK3          ELSE RETURN TO OK EXIT                      
*                                                                               
*                                                                               
*                                                                               
ALOTCHK2 RES      0         CHECK FOR TRAILING BLANKS                           
         LB,R4    R12+2,R1          GET NEXT CHAR (OR LAST ABOVE AGAIN)         
         CI,R4    C' '              IS IT A BLANK ?                             
         BNE      *R8                 NO, ERROR                                 
         BIR,R1   ALOTCHK2          YES, TEST ANOTHER IF MORE                   
*                                                                               
ALOTCHK3 RES      0         NAME OK; RETURN TO OK EXIT                          
         AI,R8    1                                                             
         B        *R8               RETURN                                      
         TITLE    'ALLRLST SUBROUTINE'                                          
***************                                                                 
*   ALLRLST   *                                                                 
***************                                                                 
*                                                                               
*   SUBROUTINE RELEASES THE TSPACE POINTED TO IN R7                             
*                                                                               
*   AT ENTRY:   R8   LINK                                                       
*                                                                               
*                                                                               
ALLRLST  RES      0                                                             
         PUSH     R8                SAVE LINK                                   
         LB,R5    TCBPOINT          STI INDEX                                   
         AI,R5    STISPCE           CHAIN HEAD                                  
         DISABLE                                                                
ALLRLS1  LW,R6    0,R5              NEXT IN CHAIN                               
         BEZ      ALLRLS3           NONEXIST, EXIT                              
         CW,R6    R7                IS IT THE ONE WE WANT TO RLS                
         BE       ALLRLS2           YES, BRANCH                                 
         LW,R5    R6                NO, GET READY FOR NEXT                      
         B        ALLRLS1                                                       
ALLRLS2  LW,R6    0,R6              DE-LINK OUR TSPACE                          
         STW,R6   0,R5                                                          
ALLRLS3  RES      0                                                             
         BAL,R8   RELTEMP           RELEASE TSPACE                              
         PULL     R8                RESTORE LINK                                
         B        *R8                                                           
         PAGE                                                                   
**********************                                                          
*    T:CHAR TABLE    *                                                          
**********************                                                          
*                                                                               
*     BIT TABLE USED TO CHECK THE VALIDITY OF CHARACTERS                        
*     IN A FILE NAME. ONE BIT FOR EACH POSSIBLE CHARACTER FROM 0-FF.            
*     1 MEANS THE CHARACTER IS LEGAL; 0 MEANS ILLEGAL                           
*                                                                               
T:CHAR   RES      0                                                             
         DATA     0                 CHARACTERS 00-1F                            
         DATA     0                 CHARACTERS 20-3F                            
         DATA     X'10'             CHARACTERS 40-5F                            
         DATA     X'20'             CHARACTERS 60-7F                            
         DATA     0                 CHARACTERS 80-9F                            
         DATA     0                 CHARACTERS A0-BF                            
         DATA     X'7FC07FC0'       CHARACTERS C0-DF                            
         DATA     X'3FC0FFC0'       CHARACTERS E0-FF                            
         OLAYEND                                                                
         END                                                                    
