*COMDECK MALETP7
          EJECT 
          QUAL   MALETP7
          IFNE   CMSE,0,1 
          USE    MODD 
          VFD    30/1,6/KEY23,6/KEY2,18/0 CW FOR P7 PRODUCT OVERLAY 
          USE    *
*         LENGTHS AND ADDRESSES OF PPU BUFFERS ARE DEFINED BELOW. 
*         THESE VALUES MUST BE KEPT IN PRODUCT OVERLAY ORDER AND
*         MUST ALWAYS AGREE WITH THE ACTUAL VALUES IN THE PPU 
*         PRODUCT OVERLAYS. 
  
          IFNE   CMSE,0,1 
          USE    P0OB 
          DATA   500B        MAX VALUE FOR OB FOR P7 OVERLAY (65X)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0OBFWA
          DATA   6160B             RELATIVE FWA OF OB 
          USE    *
          IFNE   CMSE,0,1 
          USE    P0IB 
          DATA   500B        MAX VALUE FOR IB FOR P7 OVERLAY (65X)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0IBFWA
          DATA   5460B             RELATIVE FWA OF IB 
          USE    *
          IFNE   CMSE,0,1 
          USE    P0SB 
          DATA   10B         MAX VALUE FOR SB FOR P7 OVERLAY (65X)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0SBFWA
          DATA   6660B             RELATIVE FWA OF SB 
          USE    *
  
  
*         P7 (60X/65X TAPE) PRODUCT OVERLAY ENTRY POINTS
  
 RELP7    EQU    POVL 
 RESP7    EQU    RELP7+4
 BKSPP7   EQU    RESP7+4
 EOFP7    EQU    BKSPP7+4 
 ERASEP7  EQU    EOFP7+4
 FSPP7    EQU    ERASEP7+4
 MARGP7   EQU    FSPP7+4
 READP7   EQU    MARGP7+4 
 REWP7    EQU    READP7+4 
 STATP7   EQU    REWP7+4
 TIMEP7   EQU    STATP7+4 
 UNLP7    EQU    TIMEP7+4 
 WAITP7   EQU    UNLP7+4
 WRITEP7  EQU    WAITP7+4 
          IFNE   CMSE,0,1 
          USE    PKEY 
          VFD    24/0,18/LKEY13,18/TKEY13 
 KEY13    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY15,18/TKEY15 
 KEY15    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY23,18/TKEY23 
 KEY23    EQU    *-PKEY+PKEYOFF 
          USE    *
  
*         LEGAL KEY VALUES FOR THE 66X RES STATEMENT. 
  
 TKEY13   VFD    42/3L556,18/0         LEGAL 66X DENSITY
          VFD    42/3L800,18/1
          VFD    42/4L1600,18/2 
          VFD    42/3L200,18/3
 LKEY13   EQU    *-TKEY13 
  
 TKEY15   VFD    42/3LODD,18/0         LEGAL 66X/67X PARITY 
          VFD    42/4LEVEN,18/1 
 LKEY15   EQU    *-TKEY15 
  
*         LEGAL HIGH-LEVEL I/O STATEMENTS FOR 60X/65X TAPE. 
  
 TKEY23   VFD    42/4LBKSP,18/P7BKSP
          VFD    42/7LENDFILE,18/P7EOF
          VFD    42/5LERASE,18/P7ERASE
          VFD    42/6LFSPACE,18/P7FSP 
          VFD    42/7LMARGINS,18/P7MARG 
          VFD    42/4LREAD,18/P7READ
          VFD    42/3LREL,18/P7REL
          VFD    42/3LRES,18/P7RES
          VFD    42/6LREWIND,18/P7REW 
          VFD    42/6LSTATUS,18/P7STAT
          VFD    42/4LTIME,18/P7TIME
          VFD    42/6LUNLOAD,18/P7UNL 
          VFD    42/6LWAITNB,18/P7WAIT
          VFD    42/5LWRITE,18/P7WRITE
 LKEY23   EQU    *-TKEY23 
          EJECT 
 P7BKSP   TITLE  P7BKSP  - PROCESS THE 65X BKSP  STATEMENT. 
**        P7BKSP  -   PROCESS THE 65X BKSP  STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7BKSP  - PROCESS THE 65X BKSP   STATEMENT. FORMATS ARE;
* 
*                 BKSP
*                 BKSP, ABT Z 
*                 BKSP C
*                 BKSP C, ABT Z 
*                 BKSP C LONG 
*                 BKSP C LONG, ABT Z
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - 1, 3, 6. 
*                X - 0, 1, 3, 6.
*                B - 7. 
* 
 P7BKSP   SB7    BKSPP7      ENTRY POINT FOR BKSP 
 P7BKS    SX0    LDN         CODE IF C IS NOT SPECIFIED 
          ZR     X3,P7B1     IF END OF STATEMENT
          SA1    DABT 
          BX1    X1-X3
          ZR     X1,P7B1     IF C IS NOT DEFINED
          SX0    X0+B1       INDICATE C IS DEFINED
          SA1    P7BB 
          BX1    X1-X3
          NZ     X1,COM30    ERROR EXIT IF ITEM IS NOT C
          SA3    A3+B1
          SA1    P7BC 
          BX1    X1-X3
          NZ     X1,P7B1     IF LONG IS NOT SPECIFIED 
          SA3    A3+B1
          SX0    X0+2        INDICATE L IS DEFINED
 P7B1     SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
  
 P7BA     VFD    42/0,12/77B,3/0,3/REG2    CONTROL WORD FOR Y 
 P7BB     VFD    60/1LC 
 P7BC     VFD    60/4LLONG
          EJECT 
 P7EOF    TITLE  P7EOF   - PROCESS THE 65X ENDFILE STATEMENT. 
**        P7EOF   -   PROCESS THE 65X ENDFILE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7EOF   - PROCESS THE 65X ENDFILE STATEMENT. FORMATS ARE; 
* 
*                 ENDFILE 
*                 ENDFILE, ABT Z
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7EOF    SB7    EOFP7       ENTRY POINT FOR ENDFILE
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7ERASE  TITLE  P7ERASE - PROCESS THE 65X ERASE STATEMENT. 
**        P7ERASE -   PROCESS THE 65X ERASE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7ERASE - PROCESS THE 65X ERASE STATEMENT. FORMATS ARE; 
* 
*                  ERASE
*                  ERASE, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7ERASE  SB7    ERASEP7     ENTRY POINT FOR ERASE
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7FSP    TITLE  P7FSP   - PROCESS THE 65X FSPACE STATEMENT.
**        P7FSP   -   PROCESS THE 65X FSPACE STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7FSP   - PROCESS THE 65X FSPACE STATEMENT. FORMATS ARE;
* 
*                 FSPACE
*                 FSPACE, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7FSP    SB7    FSPP7       ENTRY POINT FOR FSPACE 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7MARG   TITLE  P7MARG  - PROCESS THE 65X MARGINS STATEMENT. 
**        P7MARG  -   PROCESS THE 65X MARGINS STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7MARG  - PROCESS THE 65X MARGINS STATEMENT. FORMATS ARE; 
* 
*                 MARGINS Z 
*                 MARGINS X Y   (X = NORMAL,LOW,HIGH,HYPER) 
*                               (Y = +IRG, -IRG 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - 1, 2, 3, 4, 6. 
*                X - 0, 1, 2, 3, 4, 6.
*                B - 6, 7.
* 
 P7MARG   SA1    P7MA 
          RJ     FIND        GET Z IF DEFINED 
          NG     B2,P7M1     IF Z IS NOT FOUND
          RJ     CLOAD       GENERATE LOAD Z CODE 
          EQ     P7M5 
  
 P7M1     SB7    B0          CLEAR POINTER
          SB6    LP7MB
 P7M2     SA1    B7+P7MB
          BX1    X1-X3
          ZR     X1,P7M3     IF KEYWORD FOUND 
          SB7    B7+B1       BUMP POINTER 
          NE     B7,B6,P7M2  IF NOT THE END OF THE LIST 
          EQ     COM30       ERROR EXIT IF KEYWORD NOT FOUND
  
 P7M3     SA1    DPLUS
          SA2    DMINUS 
          SA4    DIRG 
          SA3    A3+B1       INCREMENT ADDRESS INTO CRKBUF
          BX1    X1-X3
          ZR     X1,P7M4     IF NEXT ITEM IS +
          SB7    B7+4        SET -IRG BIT 
          BX2    X2-X3
          NZ     X2,COM30    ERROR EXIT IF NOT + OR - 
 P7M4     SA3    A3+B1
          BX4    X4-X3
          NZ     X4,COM30    ERROR EXIT IF NEXT ITEM IS NOT IRG 
          SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          SX0    LDN+B7 
 P7M5     NZ     X3,COM30    ERROR EXIT IF NOT END OF STATEMENT 
          SA1    P7MC 
          LX0    24 
          BX0    X0+X1
          RJ     CABSPPU           ABSOLUTIZE PPU ADDRESSES 
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     COM10       EXIT TO COMPILER 
  
 P7MA     VFD    57/0,3/REG2           CONTROL WORD FOR Z 
 P7MB     VFD    60/6LNORMAL           KEYWORDS FOR X 
          VFD    60/3LLOW 
          VFD    60/4LHIGH
          VFD    60/5LHYPER 
 LP7MB    EQU    *-P7MB 
 P7MC     VFD    36/0,12/RJM,12/MARGP7
          EJECT 
 P7READ   TITLE  P7READ  - PROCESS THE 65X READ  STATEMENT. 
**        P7READ  -   PROCESS THE 65X READ STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7READ  - PROCESS THE 65X READ   STATEMENT. FORMATS ARE;
* 
*                 READ
*                 READ, ABT Z 
*                 READ Y
*                 READ Y, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7READ   SB7    READP7      ENTRY POINT FOR  READ
          EQ     P1RRD       ENTER 66X READ SEQUENCE
          EJECT 
 P7REL    TITLE  P7REL   - PROCESS THE 65X REL STATEMENT. 
**        P7REL   -   PROCESS THE 65X  REL STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7REL   - PROCESS THE 65X REL    STATEMENT. FORMATS ARE;
* 
*                 REL 
*                 REL, ABT Z
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7REL    SB7    RELP7       ENTRY POINT FOR REL
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7RES    TITLE  P7RES   - PROCESS THE 65X RES   STATEMENT. 
**        P7RES   -   PROCESS THE 65X RES STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7RES   - PROCESS THE 65X RES   STATEMENT. FORMATS ARE; 
* 
*                 RES W 
*                 RES W, ABT Z
*                 RES PARITY=X, DENSITY=Y 
*                 RES PARITY=X, DENSITY=Y, ABT Z
*                 RES PARITY=X, DENSITY=Y,3N
*                 RES PARITY=X, DENSITY=Y,3N, ABT Z 
*                 RES PARITY=X, DENSITY=Y,CONVERSION
*                 RES PARITY=X, DENSITY=Y,CONVERSION, ABT Z 
*                 RES PARITY=X, DENSITY=Y, 3N,CONVERSION
*                 RES PARITY=X, DENSITY=Y, 3N,CONVERSION, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - 1, 3, 6. 
*                X - 0, 1, 3, 6.
*                B - 6, 7.
* 
 P7RES    ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    DPARITY
          BX1    X1-X3
          SB7    B0 
          ZR     X1,P7R1     IF ALL OPTIONS ARE BY KEYWORDS 
          SA1    P7RW 
          RJ     FIND        GET W
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD W CODE 
          EQ     P7R6 
  
 P7R1     SA1    B7+P7RA
          BX1    X1-X3
          NZ     X1,COM30    ERROR EXIT IF NOT EXPECTED KEYWORD 
          SA3    A3+B1
          SX3    X3-1R= 
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT = 
          SX6    A3+B1
          SA6    PCRK        BUMP POINTER TO CRKBUF BY 2
          SA1    B7+P7RE
          RJ     FIND        GET VALUE FOR KEYWORD
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          SB7    B7+B1
          SB6    LP7RA
          EQ     B7,B6,P7R2  IF BOTH PARITY AND DENSITY DONE
          SX0    X2          SAVE PARITY
          EQ     P7R1        DO DENSITY 
  
 P7R2     SA1    P7RC 
          BX1    X1-X3
          LX0    6
          NZ     X1,P7R3     IF 3N IS NOT SPECIFIED 
          SX0    X0+B1       SET 3N+2 BIT 
          SA3    A3+B1
 P7R3     SA1    P7RD 
          BX1    X1-X3
          LX0    3
          NZ     X1,P7R4     IF CONVERSION IS NOT SPECIFIED 
          SX0    X0+100B     SET CONVERSION BIT 
          SA3    A3+B1
 P7R4     SX0    X0+B2       ADD DENSITY BITS 
          SX1    LDN
          SX2    X0-100B
          NG     X2,P7R5     IF CODE IS IN 6 BITS 
          SX1    LDC
          LX1    12 
 P7R5     BX0    X0+X1
 P7R6     LX0    12 
          SX1    STD+PA 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          SB7    RESP7
          EQ     P1C         ENTER COMMON 66X SEQUENCE
  
 P7RA     VFD    60/6LPARITY           EXPECTED KEYWORDS FOR RES
          VFD    60/7LDENSITY 
 LP7RA    EQU    *-P7RA 
  
 P7RC     VFD    60/2L3N
 P7RD     VFD    60/10LCONVERSION 
 P7RE     VFD    36/0,6/KEY15,18/0     CONTROL WORD FOR X 
          VFD    36/0,6/KEY13,18/0     CONTROL WORD FOR Y 
 P7RW     VFD    57/0,3/REG2           CONTROL WORD FOR W 
          EJECT 
 P7REW    TITLE  P7REW   - PROCESS THE 65X REWIND STATEMENT.
**        P7REW   -   PROCESS THE 65X REWIND STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7REW   - PROCESS THE 65X REWIND STATEMENT. FORMATS ARE;
* 
*                 REWIND
*                 REWIND, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7REW    SB7    REWP7       ENTRY POINT FOR REWIND 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7STAT   TITLE  P7STAT  - PROCESS THE 65X STATUS STATEMENT.
**        P7STAT  -   PROCESS THE 65X STATUS STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7STAT  - PROCESS THE 65X STATUS STATEMENT. FORMATS ARE;
* 
*                 STATUS
*                 STATUS, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7STAT   SB7    STATP7      ENTRY POINT FOR STATUS 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7TIME   TITLE  P7TIME  - PROCESS THE 65X TIME  STATEMENT. 
**        P7TIME  -   PROCESS THE 65X TIME  STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7TIME  - PROCESS THE 65X TIME STATEMENT. FORMATS ARE;
* 
*                 TIME X GAPS TO Y
*                 TIME X GAPS TO Y, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7TIME   SB7    TIMEP7      ENTRY POINT FOR  TIME
          EQ     P1TIM       ENTER  66X TIME SEQUENCE 
          EJECT 
 P7UNL    TITLE  P7UNL   - PROCESS THE 65X UNLOAD STATEMENT.
**        P7UNL   -   PROCESS THE 65X UNLOAD STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7UNL   - PROCESS THE 65X UNLOAD STATEMENT. FORMATS ARE;
* 
*                  UNLOAD 
*                  UNLOAD, ABT Z
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7UNL    SB7    UNLP7       ENTRY POINT FOR UNLOAD 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7WAIT   TITLE  P7WAIT  - PROCESS THE 65X WAITNB STATEMENT.
**        P7WAIT  -   PROCESS THE 65X WAITNB STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7WAIT  - PROCESS THE 65X WAITNB STATEMENT. FORMATS ARE;
* 
*                 WAITNB
*                 WAITNB, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P7WAIT   SB7    WAITP7      ENTRY POINT FOR WAITNB 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P7WRITE  TITLE  P7WRITE - PROCESS THE 65X WRITE STATEMENT. 
**        P7WRITE -   PROCESS THE 65X WRITE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P7WRITE - PROCESS THE 65X WRITE  STATEMENT. FORMATS ARE;
* 
*                 WRITE 
*                 WRITE, ABT Z
*                 WRITE LONG
*                 WRITE LONG, ABT Z 
* 
*         ENTRY 
* 
*           CRKBUF = WORD STRING OF SOURCE STATEMENT. 
* 
*         EXIT
* 
*           . MODULE = BINARY PPU CODE GENERATED FOR THE SOURCE.
*           . FCERR COMPILER ERROR FLAG SET IF COMPILER ERROR CREATED.
* 
*         ROUTINES CALLED -  FIND   - FIND THE NEXT ITEM FROM SOURCE. 
*                            CSTOREB- STORE GENERATED CODE. 
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - 1, 3, 6. 
*                X - 0, 1, 3, 6.
*                B - 7. 
* 
  
 P7WRITE  SB7    WRITEP7     ENTRY POINT FOR WRITE
 P7WR     SX0    LDN
          ZR     X3,P7W1     IF LONG NOT SPECIFIED
          SA1    DLONG
          BX1    X1-X3
          NZ     X1,P7W1     IF LONG NOT SPECIFIED
          SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          SX0    X0+B1       INDICATE LONG IS DEFINED 
 P7W1     LX0    12 
          SX1    STD+PA 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     P1C         ENTER COMMON 66X SEQUENCE
 P1RRD    SX0    LDN
          ZR     X3,P1R0     IF END OF STATEMENT
          SA1    DABT 
          BX1    X1-X3
          ZR     X1,P1R0     IF Y IS NOT SPECIFIED
          SA1    DFWD 
          SA2    DREV 
          BX1    X1-X3
          ZR     X1,P1R      IF FWD 
          BX2    X2-X3
          SX0    X0+B1       SET CODE TO REVERSE
          NZ     X2,COM30    ERROR EXIT IF NOT FWD OR REV 
 P1R      SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
 P1R0     LX0    12 
          SX1    STD+PA 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     P1C         ENTER COMMON P1 SEQUENCE 
 P1TIM    ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    P1TA 
          RJ     FIND        GET X
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    DGAPS
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT GAPS
          SA3    A3+B1
          SA1    DTO
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT TO
          SX6    A3+B1
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          RJ     CLOAD       GENERATE LOAD X CODE 
          LX0    12 
          SX1    STD+PA 
          BX0    X0+X1       CODE = LOAD X  STD PA
          RJ     CSTOREB     SAVE GENERATED CODE
          SA1    P1TB 
          RJ     FIND        GET Y
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOADC      GENERATE 
          SX1    STD+PA+1 
          LX0    12 
          BX0    X0+X1       CODE = LOAD CONSTANT Y  STD PA+1 
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     P1C         ENTER COMMON P1 SEQUENCE 
  
 P1TA     VFD    42/0,12/62B,3/0,3/REG2    CONTROL WORD FOR X 
 P1TB     VFD    54/0,3/BUF4,3/0           CONTROL WORD FOR Y 
 P1C      SX0    LDN
          ZR     X3,P1C1     IF END OF STATEMENT
          SX0    LDC
          LX0    12 
 P1C1     SX1    B7          PPU ENTRY ADDRESS
          SX2    RJM
          LX0    24 
          LX2    12 
          BX0    X0+X1
          BX0    X0+X2
          RJ     CABSPPU           ABSOLUTIZE PPU ADDRESSES 
          ZR     X3,P1C2     IF END OF STATEMENT
          SA1    DABT 
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NOT ABT
          SA1    PCRK 
          SX6    X1+B1
          SA6    A1          BUMP POINTER TO CRKBUF 
          SA1    P1CZ 
          RJ     FIND        GET STATEMENT NUMBER 
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          NZ     X3,COM30    ERROR EXIT IF NOT END OF STATEMENT 
          RJ     CPSN        PROCESS STATEMENT NUMBER 
 P1C2     RJ     CSTOREB     SAVE GENERATED CODE
          EQ     COM10       EXIT TO COMPILER 
  
 P1CZ     VFD    42/0,12/77B,6/0            CW FOR Z
