*COMDECK MALETP8
          EJECT 
          QUAL   MALETP8
          IFNE   CMSE,0,1 
          USE    MODD 
          VFD    30/1,6/KEY24,6/KEY2,18/0 CW FOR P8 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 P8 OVERLAY (67X)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0OBFWA
          DATA   6150B             RELATIVE FWA OF OB 
          USE    *
          IFNE   CMSE,0,1 
          USE    P0IB 
          DATA   500B        MAX VALUE FOR IB FOR P8 OVERLAY (67X)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0IBFWA
          DATA   5450B             RELATIVE FWA OF IB 
          USE    *
          IFNE   CMSE,0,1 
          USE    P0SB 
          DATA   25B         MAX VALUE FOR SB FOR P8 OVERLAY (67X)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0SBFWA
          DATA   6650B             RELATIVE FWA OF SB 
          USE    *
  
  
*         P8 (67X TAPE) PRODUCT OVERLAY ENTRY POINTS
  
  
 RELP8    EQU    POVL 
 RESP8    EQU    RELP8+4
 BKSPP8   EQU    RESP8+4
 FUNCP8   EQU    BKSPP8+4 
 MARGP8   EQU    FUNCP8+4 
 READP8   EQU    MARGP8+4 
 RESETP8  EQU    READP8+4 
 SELP8    EQU    RESETP8+4
 STATP8   EQU    SELP8+4
 WRITEP8  EQU    STATP8+4 
  
          IFNE   CMSE,0,1 
          USE    PKEY 
          VFD    24/0,18/LKEY15,18/TKEY15 
 KEY15    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY17,18/TKEY17 
 KEY17    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY24,18/TKEY24 
 KEY24    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY25,18/TKEY25 
 KEY25    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY26,18/TKEY26 
 KEY26    EQU    *-PKEY+PKEYOFF 
          VFD    24/0,18/LKEY27,18/TKEY27 
 KEY27    EQU    *-PKEY+PKEYOFF 
          USE    *
  
 TKEY15   VFD    42/3LODD,18/0         LEGAL 66X/67X PARITY 
          VFD    42/4LEVEN,18/1 
 LKEY15   EQU    *-TKEY15 
  
 TKEY17   VFD    42/6LNORMAL,18/0      LEGAL 66X MARGINS OPTIONS
          VFD    42/4LHIGH,18/1        FOR FIRST PARAMETER
          VFD    42/3LLOW,18/2
          VFD    42/5LHYPER,18/3
 LKEY17   EQU    *-TKEY17 
  
*         LEGAL HIGH-LEVEL I/O STATEMENTS FOR 66X TAPE. 
  
 TKEY24   VFD    42/4LBKSP,18/P8BKSP
          VFD    42/7LENDFILE,18/P8EOF
          VFD    42/5LERASE,18/P8ERASE
          VFD    42/6LFSPACE,18/P8FSP 
          VFD    42/7LMARGINS,18/P8MARG 
          VFD    42/7LMEASURE,18/P8MEAS 
          VFD    42/4LREAD,18/P8READ
          VFD    42/3LREL,18/P8REL
          VFD    42/3LRES,18/P8RES
          VFD    42/5LRESET,18/P8RESET
          VFD    42/6LREWIND,18/P8REW 
          VFD    42/6LSELECT,18/P8SEL 
          VFD    42/6LSTATUS,18/P8STAT
          VFD    42/6LUNLOAD,18/P8UNL 
          VFD    42/6LWAITNB,18/P8WAIT
          VFD    42/5LWRITE,18/P8WRITE
 LKEY24   EQU    *-TKEY24 
          EJECT 
  
  
*         LEGAL KEY VALUES FOR THE 67X RES STATEMENT. 
  
 TKEY25   VFD    42/1L0,18/0           LEGAL 67X XLATE OPTIONS
          VFD    42/1L1,18/1
          VFD    42/1L2,18/2
          VFD    42/1L3,18/3
          VFD    42/1L4,18/4
          VFD    42/1L7,18/7
 LKEY25   EQU    *-TKEY25 
  
 TKEY26   VFD    42/4L6BIT,18/0        LEGAL 67X MODES
          VFD    42/4LPACK,18/1 
 LKEY26   EQU    *-TKEY26 
  
 TKEY27   VFD    42/3L556,18/0         LEGAL 67X DENSITY
          VFD    42/3L800,18/1
          VFD    42/4L1600,18/2 
          VFD    42/3L200,18/3
          VFD    42/4L6250,18/4 
 LKEY27   EQU    *-TKEY27 
          EJECT 
          EJECT 
 P8BKSP   TITLE  P8BKSP  - PROCESS THE 67X BKSP  STATEMENT. 
**        P8BKSP  -   PROCESS THE 67X BKSP  STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8BKSP  - PROCESS THE 67X 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 - NONE.
*                X - NONE.
*                B - 7. 
* 
  
 P8BKSP   SB7    BKSPP8      ENTRY POINT FOR BKSP 
          EQ     P7BKS       ENTER 65X BKSP  SEQUENCE 
          EJECT 
 P8EOF    TITLE  P8EOF   - PROCESS THE 67X ENDFILE STATEMENT. 
**        P8EOF   -   PROCESS THE 67X ENDFILE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8EOF   - PROCESS THE 67X 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 - 0, 1.
*                B - 7. 
* 
 P8EOF    SX0    LDN+4
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE CODE GENERATED
          SB7    FUNCP8      ENTRY POINT FOR ENDFILE
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8ERASE  TITLE  P8ERASE - PROCESS THE 67X ERASE STATEMENT. 
**        P8ERASE -   PROCESS THE 67X ERASE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8ERASE - PROCESS THE 67X 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 - 0, 1.
*                B - 7. 
* 
 P8ERASE  SX0    LDN+5
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE CODE GENERATED
          SB7    FUNCP8      ENTRY POINT FOR ERASE
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8FSP    TITLE  P8FSP   - PROCESS THE 67X FSPACE STATEMENT.
**        P8FSP   -   PROCESS THE 67X FSPACE STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8FSP   - PROCESS THE 67X 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 - 0, 1.
*                B - 7. 
* 
 P8FSP    SX0    LDN+6
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE CODE GENERATED
          SB7    FUNCP8      ENTRY POINT FOR FSPACE 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8MARG   TITLE  P8MARG  - PROCESS THE 67X MARGINS STATEMENT. 
**        P8MARG  -   PROCESS THE 67X MARGINS STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8MARG  - PROCESS THE 67X MARGINS STATEMENT. FORMAT IS; 
* 
*                 MARGINS X 
*         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. 
*                X - 0, 1.
*                B - 7. 
* 
  
 P8MARG   SB7    MARGP8      ENTRY POINT FOR MARGINS
          SA1    P8MA 
          RJ     FIND        GET X (KEYWORD)
          NG     B2,P8M1     IF NOT A KEYWORD 
          SX0    B2+LDN 
          EQ     P8M2        BUILD CODE 
  
 P8M1     SA1    P8MB 
          RJ     FIND        GET X (REGISTER) 
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD CODE 
 P8M2     NZ     X3,COM30    ERROR EXIT IF NOT END OF STATEMENT 
          SA1    P8MC 
          LX0    24 
          BX0    X0+X1
          RJ     CABSPPU           ABSOLUTIZE PPU ADDRESSES 
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     COM10       EXIT TO COMPILER 
  
 P8MA     VFD    36/0,6/KEY17,18/0  CONTROL WORD FOR X (KEYWORD)
 P8MB     VFD    57/0,3/REG2        CONTROL WORD FOR X (REGISTER) 
 P8MC     VFD    36/0,12/RJM,12/MARGP8
          EJECT 
 P8MEAS   TITLE  P8MEAS  - PROCESS THE 67X MEASURE STATEMENT. 
**        P8MEAS  -   PROCESS THE 67X MEASURE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8MEAS  - PROCESS THE 67X MEASURE STATEMENT. FORMATS ARE; 
* 
*                 MEASURE FWD GAP 
*                 MEASURE FWD GAP, ABT Z
*                 MEASURE REV GAP 
*                 MEASURE REV GAP, ABT Z
*                 MEASURE FWD START 
*                 MEASURE FWD START, ABT Z
*                 MEASURE REV START 
*                 MEASURE REV START, 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, 2, 3, 6.
*                X - 0, 1, 2, 3, 6. 
*                B - 7. 
* 
  
 P8MEAS   SB7    FUNCP8      ENTRY POINT FOR  MEASURE 
          SX0    LDN
          SA1    DFWD 
          SA2    DREV 
          BX1    X1-X3
          ZR     X1,P8ME1    IF KEYWORD IS FWD
          BX2    X2-X3
          NZ     X2,COM30    ERROR EXIT IF NOT FWD OR REV 
          SX0    X0+B1       SET REV BIT
 P8ME1    SA3    A3+B1
          SA1    DGAP 
          SA2    DSTART 
          BX1    X1-X3
          ZR     X1,P8ME2    IF KEYWORD IS GAP
          BX2    X2-X3
          NZ     X2,COM30    ERROR EXIT IF NOT GAP OR START 
          SX0    X0+2        SET START BIT
 P8ME2    SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8READ   TITLE  P8READ  - PROCESS THE 67X READ  STATEMENT. 
**        P8READ  -   PROCESS THE 67X READ STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8READ  - PROCESS THE 67X READ   STATEMENT. FORMATS ARE;
* 
*                 READ
*                 READ, ABT Z 
*                 READ FWD
*                 READ FWD , ABT Z
*                 READ REV
*                 READ REV , ABT Z
*                 READ RDRAM Y
*                 READ RDRAM Y, ABT Z 
*                 READ WRRAM Y
*                 READ WRRAM 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 - 1, 2, 3, 6.
*                X - 0, 1, 2, 3, 6. 
*                B - 7. 
* 
  
 P8READ   SB7    READP8      ENTRY POINT FOR READ 
          SX0    LDN
          ZR     X3,P8RD3    IF END OF STATEMENT, ENTER 66X SEQUENCE
          SA1    DABT 
          BX1    X1-X3
          ZR     X1,P8RD3    IF NO KEYWORD SPECIFIED, ENTER 66X SEQ.
          SA1    DFWD 
          SA2    DREV 
          BX1    X1-X3
          ZR     X1,P8RD2    IF FWD 
          BX2    X2-X3
          SX0    X0+B1       SET REV
          ZR     X2,P8RD2    IF REV 
          SA1    DRDRAM 
          SA2    DWRRAM 
          BX1    X1-X3
          SX0    X0+B1       SET RDRAM
          ZR     X1,P8RD1    IF RDRAM 
          BX2    X2-X3
          SX0    X0+B1       SET WRRAM
          NZ     X2,COM30    ERROR EXIT IF NOT CORRECT KEYWORD
 P8RD1    LX0    12 
          SX1    STD+PA 
          BX0    X0+X1
          SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          SA1    P8RDA
          RJ     FIND        GET Y
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD Y CODE 
          LX0    12 
          SX1    STD+PA+1 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     P1C         ENTER COMMON 66X SEQUENCE
  
 P8RD2    SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
 P8RD3    SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     STORE GENERATED CODE 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
  
 P8RDA    VFD    42/0,12/4B,3/0,3/REG2     CONTROL WORD FOR Y 
          EJECT 
 P8REL    TITLE  P8REL   - PROCESS THE 67X REL  STATEMENT.
**        P8REL   -   PROCESS THE 67X REL STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8REL   - PROCESS THE 67X  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. 
* 
 P8REL    SB7    RELP8       ENTRY P0INT FOR REL
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8RES    TITLE  P8RES   - PROCESS THE 67X RES  STATEMENT.
**        P8RES   -   PROCESS THE 67X RES STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8RES   - PROCESS THE 67X  RES  STATEMENT. FORMATS ARE; 
* 
*                 RES U 
*                 RES U, ABT Z
*                 RES PARITY=V,XLATE=W,MODE=X,DENSITY=Y 
*                 RES PARITY=V,XLATE=W,MODE=X,DENSITY=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 - 1, 3, 6. 
*                X - 0, 1, 2, 3, 6. 
*                B - 6, 7.
* 
 P8RES    ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    DPARITY
          BX1    X3-X1
          SB7    B0          CLEAR LOOP COUNTER 
          ZR     X1,P8R1     IF ALL OPTIONS PROVIDED
          SA1    P8RU 
          RJ     FIND        GET U
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD CODE 
          EQ     P8R3        GO STORE DATA AND ENTER COMMON SEQ.
  
 P8R1     SA1    B7+P8RA
          BX1    X1-X3
          NZ     X1,COM30    ERROR EXIT IF NOT EXPECTED KEYNAME 
          SA3    A3+B1       NEXT ITEM FROM CRKBUF
          SX3    X3-1R= 
          NZ     X3,COM30    IF NEXT ITEM IS NOT =
          SX6    A3+B1
          SA6    PCRK        BUMP POINTER TO CRKBUF BY 2
          SA1    B7+P8RB
          RJ     FIND        GET VALUE FOR OPTION 
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          LX0    3
          SX2    B2 
          BX0    X0+X2       ADD VALUE TO OPTIONS WORD
          SB7    B7+B1
          SB6    B7-4 
          NZ     B6,P8R1     IF LOOP NOT DONE 4 TIMES 
          SX1    X0-100B
          SX2    LDN
          NG     X1,P8R2     IF 6 BIT OPTIONS 
          SX2    LDC
          LX2    12 
 P8R2     BX0    X0+X2       ADD LOAD INSTRUCTION CODE
 P8R3     SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          SB7    RESP8
          EQ     P1C         ENTER COMMON P1 SEQUENCE 
  
*         EXPECTED ORDER OF KEYNAMES
  
 P8RA     VFD    60/6LPARITY
          VFD    60/5LXLATE 
          VFD    60/4LMODE
          VFD    60/7LDENSITY 
  
*         ORDER OF CONTROL WORDS FOR KEYNAME VALUES 
  
 P8RB     VFD    36/0,6/KEY15,18/0           CONTROL WORD FOR V 
          VFD    36/0,6/KEY25,18/0           CONTROL WORD FOR W 
          VFD    36/0,6/KEY26,18/0           CONTROL WORD FOR X 
          VFD    36/0,6/KEY27,18/0           CONTROL WORD FOR Y 
  
 P8RU     VFD    57/0,3/REG2                 CONTROL WORD FOR U 
          EJECT 
 P8RESET  TITLE  P8RESET - PROCESS THE 67X RESET STATEMENT. 
**        P8RESET -   PROCESS THE 67X RESET STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8RESET - PROCESS THE 67X RESET  STATEMENT. FORMATS ARE;
* 
*                 RESET 
*                 RESET, 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. 
* 
 P8RESET  SB7    RESETP8     ENTRY POINT FOR RESET
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8REW    TITLE  P8REW   - PROCESS THE 67X REWIND STATEMENT.
**        P8REW   -   PROCESS THE 67X REWIND STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8REW   - PROCESS THE 67X 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 - 0, 1.
*                B - 7. 
* 
 P8REW    SX0    LDN+11B
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE CODE GENERATED
          SB7    FUNCP8      ENTRY POINT FOR REWIND 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8SEL    TITLE  P8SEL   - PROCESS THE 67X SELECT STATEMENT.
**        P8SEL   -   PROCESS THE 67X SELECT STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8SEL   - PROCESS THE 67X SELECT STATEMENT. FORMATS ARE;
* 
*                 SELECT LOOPTCU Y
*                 SELECT LOOPUNIT 
*                 SELECT PATHERR
*                 SELECT DATAERR Y     ALL WITH AND WITHOUT ABT Z 
*                 SELECT ECC
*                 SELECT VELOCITY 
*                 SELECT OPPARITY 
*                 SELECT OPDENSITY
*                 SELECT LOOPHEAD 
* 
*         SELECT LOOPFSC
*         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 - 2, 3, 7. 
* 
 P8SEL    ZR     X3,COM31    ERROR EXIT IF END OF STATEMENT 
          SB2    B0 
          SB3    P8SELAL     LENGTH OF KEYWORDS 
 P8SEL1   SA1    P8SELA+B2
          BX1    X1-X3
          ZR     X1,P8SEL2   IF KEYWORD FOUND 
          SB2    B2+B1       BUMP INDEX 
          NE     B2,B3,P8SEL1          IF NOT END OF KEYWORDS 
          EQ     COM30       ERROR EXIT IF KEYWORD NOT FOUND
  
 P8SEL2   SX0    LDN+B2 
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          SA3    A3+B1       NEXT ITEM FROM CRKBUF
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          NE     B2,B0,P8SEL6          IF NOT LWRTCU
          SA1    P8SELB 
          RJ     FIND        GET Y (REGISTER) 
          NG     B2,P8SEL3   IF NOT A REGISTER
          RJ     CLOAD       GENERATE LOAD REGISTER CODE
          EQ     P8SEL7 
  
 P8SEL3   SB2    B0 
          SB3    P8SELCL     LENGTH OF KEYWORD TABLE
 P8SEL4   SA1    P8SELC+B2
          BX1    X1-X3
          ZR     X1,P8SEL5   IF KEYWORD FOUND 
          SB2    B2+B1
          NE     B2,B3,P8SEL4          IF NOT END OF KEYWORDS 
          EQ     COM30       ERROR EXIT IF KEYWORD NOT FOUND
  
 P8SEL5   SX1    LDN+B2 
          LX0    12 
          BX0    X0+X1
          SA3    A3+B1       NEXT ITEM FROM CRKBUF
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          EQ     P8SEL7 
  
 P8SEL6   SB3    3
          NE     B2,B3,P8SEL8          IF KEYWORD NOT DATAERR 
          SA1    P8SELD 
          RJ     FIND        GET Y
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD Y CODE 
 P8SEL7   SX1    STD+PA+1 
          LX0    12 
          BX0    X0+X1
 P8SEL8   RJ     CSTOREB     SAVE GENERATED CODE
          SB7    SELP8       ENTRY POINT FOR SELECT COMMAND 
          EQ     P1C         ENTER COMMON P1 SEQUENCE 
  
*         KEYWORDS FOR SELECT OPTION
  
 P8SELA   VFD    60/7LLOOPTCU 
          VFD    60/8LLOOPUNIT
          VFD    60/7LPATHERR 
          VFD    60/7LDATAERR 
          VFD    60/3LECC 
          VFD    60/8LVELOCITY
          VFD    60/8LOPPARITY
          VFD    60/9LOPDENSITY 
          VFD    60/8LLOOPHEAD
          VFD    60/5LCLEAR 
          VFD    60/7LLOOPFSC 
 P8SELAL  EQU    *-P8SELA 
  
 P8SELB   VFD    57/0,3/REG2           CONTROL WORD FOR REG Y 
  
*         KEYWORDS FOR LOOPTCU OPTIONS
  
 P8SELC   VFD    60/6LGCR100
          VFD    60/6LGCR150
          VFD    60/6LGCR200
          VFD    60/5LPE100 
          VFD    60/5LPE150 
          VFD    60/5LPE200 
          VFD    60/5L9T100 
          VFD    60/5L9T150 
          VFD    60/5L9T200 
          VFD    60/5L7T100 
          VFD    60/5L7T150 
          VFD    60/5L7T200 
 P8SELCL  EQU    *-P8SELC 
  
 P8SELD   VFD    42/0,12/7777B,3/BUF2,3/REG2
          EJECT 
 P8STAT   TITLE  P8STAT  - PROCESS THE 67X STATUS STATEMENT.
**        P8STAT  -   PROCESS THE 67X STATUS STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8STAT  - PROCESS THE 67X STATUS STATEMENT. FORMATS ARE;
* 
*                 STATUS
*                 STATUS GENERAL
*                 STATUS DETAIL 
*                 STATUS UNIT 
*                 STATUS, ABT Z 
*                 STATUS GENERAL, ABT Z 
*                 STATUS DETAIL, ABT Z
*                 STATUS UNIT, ABT Z
*                STATUS SENSE 
*                STATUS SENSE ,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 - 2, 3, 7. 
* 
 P8STAT   SX0    LDN
          SB2    B0 
          SB3    P8SAL       LENGTH OF TABLE
          ZR     X3,P8S3     IF END OF STATEMENT
          SA1    DABT 
          BX1    X1-X3
          ZR     X1,P8S3     IF NO KEYWORD SPECIFIED
 P8S1     SX0    X0+B1       BUMP CODE FLAG 
          SA1    P8SA+B2
          BX1    X1-X3
          ZR     X1,P8S2     IF KEYWORD FOUND 
          SB2    B2+B1
          NE     B2,B3,P8S1  IF ALL KEYWORDS NOT TESTED 
          EQ     COM30       ERROR EXIT IF KEYWORD NOT FOUND
  
 P8S2     SA3    A3+B1       NEXT ITEM FROM CRKBUF
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
 P8S3     LX0    12 
          SX1    STD+PA 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          SB7    STATP8      ENTRY POINT FOR STATUS COMMAND 
          EQ     P1C         ENTER COMMON P1 SEQUENCE 
  
 P8SA     VFD    60/7LGENERAL 
          VFD    60/6LDETAIL
          VFD    60/4LUNIT
          VFD    60/5LSENSE 
 P8SAL    EQU    *-P8SA      LENGTH OF THE KEYWORD TABLE
          EJECT 
 P8UNL    TITLE  P8UNL   - PROCESS THE 67X UNLOAD STATEMENT.
**        P8UNL   -   PROCESS THE 67X UNLOAD STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8UNL   - PROCESS THE 67X 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 - 0, 1.
*                B - 7. 
* 
  
 P8UNL    SX0    LDN+10B
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE CODE GENERATED
          SB7    FUNCP8      ENTRY POINT FOR UNLOAD 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8WAIT   TITLE  P8WAIT  - PROCESS THE 67X WAITNB STATEMENT.
**        P8WAIT  -   PROCESS THE 67X WAITNB STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8WAIT  - PROCESS THE 67X 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 - 0, 1.
*                B - 7. 
* 
  
 P8WAIT   SX0    LDN+7
          SX1    STD+PA 
          LX0    12 
          BX0    X0+X1
          RJ     CSTOREB     SAVE CODE GENERATED
          SB7    FUNCP8      ENTRY POINT FOR WAITNB 
          EQ     P1C         ENTER COMMON 66X SEQUENCE
          EJECT 
 P8WRITE  TITLE  P8WRITE - PROCESS THE 67X WRITE STATEMENT. 
**        P8WRITE -   PROCESS THE 67X WRITE STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         P8WRITE - PROCESS THE 67X 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 - NONE.
*                X - NONE.
*                B - 7. 
* 
 P8WRITE  SB7    WRITEP8     ENTRY POINT FOR WRITE
          EQ     P7WR        ENTER COMMON 65X SUBROUTINE
 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
 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
 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
