*COMDECK MALETP0
          EJECT 
          QUAL   MALETP0
          IFNE   CMSE,0,1 
          USE    MODD 
 MODD     VFD    30/1,6/KEY9,6/KEY2,18/0  CW FOR P0 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 
 P0OB     DATA   505B        MAX VALUE FOR OB FOR P0 OVERLAY (LOW I/O)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0OBFWA
          DATA   6075B             RELATIVE FWA OF OB 
          USE    *
          IFNE   CMSE,0,1 
          USE    P0IB 
 P0IB     DATA   505B        MAX VALUE FOR IB FOR P0 OVERLAY (LOW I/O)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0IBFWA
          DATA   5370B             RELATIVE FWA OF IB 
          USE    *
          IFNE   CMSE,0,1 
          USE    P0SB 
 P0SB     DATA   74B         MAX VALUE FOR SB FOR P0 OVERLAY (LOW I/O)
          USE    *
          IFNE   CMSE,0,1 
          USE    P0SBFWA
          DATA   6602B             RELATIVE FWA OF SB 
          USE    *
          EJECT 
  
*         P0 (LOW LEVEL) PRODUCT OVERLAY ENTRY POINTS.
  
  
 RELP0    EQU    POVL 
 RESP0    EQU    RELP0+4
 ACNP0    EQU    RESP0+4
 CONNP0   EQU    ACNP0+4
 FINP0    EQU    CONNP0+4 
 FOUTP0   EQU    FINP0+4
 FUNCP0   EQU    FOUTP0+4 
 FUN8P0   EQU    FUNCP0+4 
 INP0     EQU    FUN8P0+4 
 INBP0    EQU    INP0+4 
 OUTP0    EQU    INBP0+4
 OUTBP0   EQU    OUTP0+4
 STATP0   EQU    OUTBP0+4 
 STAT8P0  EQU    STATP0+4 
 TIMEP0   EQU    STAT8P0+4
          IFNE   CMSE,0,1 
          USE    PKEY 
          VFD    24/0,18/LKEY9,18/TKEY9 
 KEY9     EQU    *-PKEY+PKEYOFF 
          USE    *
  
  
  
*         LEGAL LOW-LEVEL I/O STATEMENTS TABLE. 
  
  
 TKEY9    VFD    42/3LACN,18/P0ACN
          VFD    42/4LCONN,18/P0CONN
          VFD    42/3LDCN,18/P0DCN
          VFD    42/3LFIN,18/P0FIN
          VFD    42/4LFOUT,18/P0FOUT
          VFD    42/4LFUNC,18/P0FUNC
          VFD    42/4LFUN8,18/P0FUN8
          VFD    42/2LIN,18/P0IN
          VFD    42/3LINB,18/P0INB
          VFD    42/3LOUT,18/P0OUT
          VFD    42/4LOUTB,18/P0OUTB
          VFD    42/3LREL,18/P0REL
          VFD    42/3LRES,18/P0RES
          VFD    42/6LSTATUS,18/P0STAT
          VFD    42/7LSTATUS8,18/P0STAT8
          VFD    42/7LTIMEOUT,18/P0TIME 
 LKEY9    EQU    *-TKEY9
          EJECT 
 P0ACN    TITLE  P0ACN  - PROCESS LOW-LEVEL ACN STATEMENT.
**        P0ACN  - PROCESS LOW-LEVEL ACN STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*          P0ACN - PROCESS THE LOW-LEVEL ACN STATEMENT. 
*          FORMATS FOR THIS STATEMENT ARE;
* 
*           ACN 
*           ACN, ABT Z       WHERE Z IS A STATEMENT NUMBER TO JUMP TO 
*                            IN CASE OF AN I/O ERROR
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
* 
*                LDN 0  STD PA
* 
*                LDN 0  RJM ACN           - IF Z IS NOT DEFINED 
*                LDC LINE/ADDR  RJM ACN   - IF Z IS DEFINED 
* 
*         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 -  CSTOREB
* 
*         DATA AREAS USED    CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - 1. 
*                X - 0,1. 
*                B - 7. 
* 
 P0ACN    SB7    ACNP0
          SA1    P0A1 
          BX0    X1 
          RJ     CSTOREB     SAVE CODE GENERATED
          EQ     CLO4        ENTER COMMON SEQUENCE
  
 P0A1     VFD    36/0,12/LDN,12/STD+PA
          EJECT 
 P0CONN   TITLE  P0CONN - PROCESS LOW-LEVEL CONN STATEMENT. 
**        P0CONN - PROCESS LOW-LEVEL CONN STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*          P0CONN - PROCESS THE LOW-LEVEL CONN STATEMENT. 
*          FORMATS FOR THIS STATEMENT ARE;
* 
*           CONN
*           CONN, ABT Z      WHERE Z IS A STATEMENT NUMBER TO JUMP TO 
*                            IN CASE OF AN I/O ERROR
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
* 
*                LDN 0  RJM CONN          - IF Z IS NOT DEFINED 
*                LDC LINE/ADDR  RJM CONN  - IF Z IS DEFINED 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED    CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0CONN   SB7    CONNP0 
          EQ     CLO4 
          EJECT 
 P0DCN    TITLE  P0DCN  - PROCESS LOW-LEVEL DCN STATEMENT.
**        P0DCN  - PROCESS LOW-LEVEL DCN STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*          P0DCN - PROCESS THE LOW-LEVEL DCN STATEMENT. 
*          FORMATS FOR THIS STATEMENT ARE;
* 
*           DCN 
*           DCN, ABT Z       WHERE Z IS A STATEMENT NUMBER TO JUMP TO 
*                            IN CASE OF AN I/O ERROR
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
* 
*                LDN 1  STD PA
* 
*                LDN 0  RJM ACN           - IF Z IS NOT DEFINED 
*                LDC LINE/ADDR  RJM ACN   - IF Z IS DEFINED 
* 
*         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 -  CSTOREB
* 
*         DATA AREAS USED    CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - 1. 
*                X - 0,1. 
*                B - 7. 
* 
 P0DCN    SB7    ACNP0
          SA1    P0D1 
          BX0    X1 
          RJ     CSTOREB     SAVE CODE GENERATED
          EQ     CLO4        ENTER COMMON SEQUENCE
  
 P0D1     VFD    36/0,12/LDN+1,12/STD+PA
          EJECT 
 P0FIN    TITLE  P0FIN - PROCESS LOW-LEVEL FIN STATEMENT. 
**        P0FIN - PROCESS LOW-LEVEL FIN STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0FIN - PROCESS THE LOW-LEVEL FIN STATEMENT.
*           FORMATS FOR THIS STATEMENT ARE; 
* 
*           FIN Y            Z IS THE STATEMENT NUMBER TO JUMP TO IN
*           FIN Y ,ABT Z     CASE OF AN I/O CHANNEL ERROR.  Y IS THE
*                            FUNCTION CODE TO ISSUE, AND CAN BE ANY 
*                            PPU REGISTER, CONTENTS OF A DATA BUFFER, 
*                            OR AN OCTAL OR EQUATED VALUE.
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
*         ------------------------------------------------------------- 
*         I           I           I           I           I           I 
*         I REGISTER  I  BUFFER   I  VALUE    I BUF(REG)  I BUF(VAL)  I 
*         I           I           I           I           I           I 
*         I-----------+-----------+-----------+-----------+-----------I 
*         I LDD Y     I LDM BUF   I LDN/C Y   I LDM BUF,Y I LDM BUF+Y I 
*     Y   I STD PA    I STD PA    I STD PA    I STD PA    I STD PA    I 
*         I-----------------------------------------------------------I 
*         I                         LDN 0                             I 
*   NO Z  I                         RJM FIN                           I 
*         I-----------------------------------------------------------I 
*         I                         LDC LINE/ADDR                     I 
*     Z   I                         RJM FIN                           I 
*         I                                                           I 
*         ------------------------------------------------------------- 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
  
 P0FIN    SB7    FINP0
          EQ     CLO1 
          EJECT 
 P0FOUT   TITLE  P0FOUT -PROCESS THE LOW-LEVEL FOUT STATEMENT.
**        P0FOUT -PROCESS THE LOW-LEVEL FOUT STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0FOUT - PROCESS THE LOW-LEVEL FOUT STATEMENT.
*           FORMATS FOR THIS STATEMENT ARE; 
* 
*           FOUT Y           Z IS THE STATEMENT NUMBER TO JUMP TO IN
*           FOUT Y, ABT Z    CASE OF AN I/O CHANNEL ERROR.  Y IS THE
*                            FUNCTION CODE TO ISSUE, AND CAN BE ANY 
*                            PPU REGISTER, CONTENTS OF A DATA BUFFER, 
*                            OR AN OCTAL OR EQUATED VALUE.
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
*         ------------------------------------------------------------- 
*         I           I           I           I           I           I 
*         I REGISTER  I  BUFFER   I  VALUE    I BUF(REG)  I BUF(VAL)  I 
*         I           I           I           I           I           I 
*         I-----------+-----------+-----------+-----------+-----------I 
*         I LDD Y     I LDM BUF   I LDN/C Y   I LDM BUF,Y I LDM BUF+Y I 
*     Y   I STD PA    I STD PA    I STD PA    I STD PA    I STD PA    I 
*         I-----------------------------------------------------------I 
*         I                         LDN 0                             I 
*   NO Z  I                         RJM FOUT                          I 
*         I-----------------------------------------------------------I 
*         I                         LDC LINE/ADDR                     I 
*     Z   I                         RJM FOUT                          I 
*         I                                                           I 
*         ------------------------------------------------------------- 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0FOUT   SB7    FOUTP0 
          EQ     CLO1 
          EJECT 
 P0FUNC   TITLE  P0FUNC - PROCESS THE LOW-LEVEL FUNC STATEMENT. 
**        P0FUNC - PROCESS THE LOW-LEVEL FUNC STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0FUNC - PROCESS THE LOW-LEVEL FUNC STATEMENT.
*           FORMATS FOR THIS STATEMENT ARE; 
* 
*           FUNC Y           Z IS THE STATEMENT NUMBER TO JUMP TO IN
*           FUNC Y, ABT Z    CASE OF AN I/O CHANNEL ERROR.  Y IS THE
*                            FUNCTION CODE TO ISSUE, AND CAN BE ANY 
*                            PPU REGISTER, CONTENTS OF A DATA BUFFER, 
*                            OR AN OCTAL OR EQUATED VALUE.
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
*         ------------------------------------------------------------- 
*         I           I           I           I           I           I 
*         I REGISTER  I  BUFFER   I  VALUE    I BUF(REG)  I BUF(VAL)  I 
*         I           I           I           I           I           I 
*         I-----------+-----------+-----------+-----------+-----------I 
*         I LDD Y     I LDM BUF   I LDN/C Y   I LDM BUF,Y I LDM BUF+Y I 
*     Y   I STD PA    I STD PA    I STD PA    I STD PA    I STD PA    I 
*         I-----------------------------------------------------------I 
*         I                         LDN 0                             I 
*   NO Z  I                         RJM FUNC                          I 
*         I-----------------------------------------------------------I 
*         I                         LDC LINE/ADDR                     I 
*     Z   I                         RJM FUNC                          I 
*         I                                                           I 
*         ------------------------------------------------------------- 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0FUNC   SB7    FUNCP0 
          EQ     CLO1 
          EJECT 
 P0FUN8   TITLE  P0FUN8 - PROCESS THE LOW-LEVEL FUN8 STATEMENT. 
**        P0FUN8 - PROCESS THE LOW-LEVEL FUN8 STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0FUN8 - PROCESS THE LOW-LEVEL FUN8 STATEMENT.
*           FORMATS FOR THIS STATEMENT ARE; 
* 
*           FUN8 Y           Z IS THE STATEMENT NUMBER TO JUMP TO IN
*           FUN8 Y, ABT Z    CASE OF AN I/O CHANNEL ERROR.  Y IS THE
*                            FUNCTION CODE TO ISSUE, AND CAN BE ANY 
*                            PPU REGISTER, CONTENTS OF A DATA BUFFER, 
*                            OR AN OCTAL OR EQUATED VALUE.
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
*         ------------------------------------------------------------- 
*         I           I           I           I           I           I 
*         I REGISTER  I  BUFFER   I  VALUE    I BUF(REG)  I BUF(VAL)  I 
*         I           I           I           I           I           I 
*         I-----------+-----------+-----------+-----------+-----------I 
*         I LDD Y     I LDM BUF   I LDN/C Y   I LDM BUF,Y I LDM BUF+Y I 
*     Y   I STD PA    I STD PA    I STD PA    I STD PA    I STD PA    I 
*         I-----------------------------------------------------------I 
*         I                         LDN 0                             I 
*   NO Z  I                         RJM FUN8                          I 
*         I-----------------------------------------------------------I 
*         I                         LDC LINE/ADDR                     I 
*     Z   I                         RJM FUN8                          I 
*         I                                                           I 
*         ------------------------------------------------------------- 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
  
 P0FUN8   SB7    FUN8P0 
          EQ     CLO1 
          EJECT 
 P0IN     TITLE  P0IN - PROCESS THE LOW-LEVEL STATEMENT.
**        P0IN - PROCESS THE LOW-LEVEL STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*          P0IN - COMPILE THE IN STATEMENT.  FORMATS ARE AS FOLLOWS;
* 
*           IN
*           IN, ABT Z 
*           IN CHAIN
*           IN CHAIN, ABT Z 
*           IN X WORDS TO Y 
*           IN X WORDS TO Y, ABT Z
*           IN CHAIN X WORDS TO Y 
*           IN CHAIN X WORDS TO Y, ABT Z
* 
*              X            Y 
*             ---          ---
*            1- 500B       IB 
*            ANY REG
*            ANY BUFFER 
* 
*         PPU CODE GENERATED IS;  NO CHAIN    LDN 0   STD PA
*                                 CHAIN       LDN 1   STD PA
*                                 NO X/Y      LDN 0   STD PA+1
* 
*                                 X/Y         LOAD  X STD PA+1
*                                             LOADC Y STD PA+2
* 
*                                 NO ABT      LDN 0   RJM IN
*                                 ABT         LDC LINE/ADDR  RJM IN 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
  
 P0IN     SB7    INP0 
          EQ     CLO2 
          EJECT 
 P0INB    TITLE  P0INB - PROCESS THE LOW-LEVEL INB STATEMENT. 
**        P0INB - PROCESS THE LOW-LEVEL INB STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0INB - COMPILE THE INB STATEMENTS. FORMATS ARE;
* 
*           INB 
*           INB, ABT Z
*           INB CHAIN 
*           INB CHAIN, ABT Z
*           INB X WORDS TO Y
*           INB X WORDS TO Y, ABT Z 
*           INB CHAIN X WORDS TO Y
*           INB CHAIN X WORDS TO Y, ABT Z 
* 
*              X            Y 
*             ---          ---
*            1- 500B       IB 
*            ANY REG
*            ANY BUFFER 
* 
*         PPU CODE GENERATED IS;  NO CHAIN    LDN 0   STD PA
*                                 CHAIN       LDN 1   STD PA
*                                 NO X/Y      LDN 0   STD PA+1
* 
*                                 X/Y         LOAD  X STD PA+1
*                                             LOADC Y STD PA+2
* 
*                                 NO ABT      LDN 0   RJM INB 
*                                 ABT         LDC LINE/ADDR  RJM INB
* 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
  
 P0INB    SB7    INBP0
          EQ     CLO2 
          EJECT 
 P0OUT    TITLE  P0OUT - PROCESS THE LOW-LEVEL OUT STATEMENT. 
**        P0OUT - PROCESS THE LOW-LEVEL OUT STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0OUT - COMPILE THE OUT STATEMENT.  FORMATS ARE;
* 
*           OUT 
*           OUT, ABT Z
*           OUT CHAIN 
*           OUT CHAIN, ABT Z
*           OUT X WORDS FROM Y
*           OUT X WORDS FROM Y, ABT Z 
*           OUT CHAIN X WORDS FROM Y
*           OUT CHAIN X WORDS FROM Y, ABT Z 
* 
*              X            Y 
*             ---          ---
*            1- 500B       OB 
*            ANY REG
*            ANY BUFFER 
* 
*         PPU CODE GENERATED IS;  NO CHAIN    LDN 0   STD PA
*                                 CHAIN       LDN 1   STD PA
*                                 NO X/Y      LDN 0   STD PA+1
* 
*                                 X/Y         LOAD  X STD PA+1
*                                             LOADC Y STD PA+2
* 
*                                 NO ABT      LDN 0   RJM OUT 
*                                 ABT         LDC LINE/ADDR  RJM OUT
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0OUT    SB7    OUTP0
          EQ     CLO2 
          EJECT 
 P0OUTB   TITLE  P0OUTB - PROCESS THE LOW-LEVEL OUTB STATEMENT. 
**        P0OUTB - PROCESS THE LOW LEVEL OUTB STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0OUTB - COMPILE THE OUTB STATEMENTS, FORMATS ARE;
* 
*             OUTB
*             OUTB, ABT Z 
*             OUTB CHAIN
*             OUTB CHAIN, ABT Z 
*             OUTB X WORDS FROM Y 
*             OUTB X WORDS FROM Y, ABT Z
*             OUTB CHAIN X WORDS FROM Y 
*             OUTB CHAIN X WORDS FROM Y, ABT Z
* 
*              X            Y 
*             ---          ---
*            1- 500B       OB 
*            ANY REG
*            ANY BUFFER 
* 
*         PPU CODE GENERATED IS;  NO CHAIN    LDN 0   STD PA
*                                 CHAIN       LDN 1   STD PA
*                                 NO X/Y      LDN 0   STD PA+1
* 
*                                 X/Y         LOAD  X STD PA+1
*                                             LOADC Y STD PA+2
* 
*                                 NO ABT      LDN 0   RJM OUTB
*                                 ABT         LDC LINE/ADDR  RJM OUTB 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0OUTB   SB7    OUTBP0 
          EQ     CLO2 
          EJECT 
 P0REL    TITLE  P0REL - PROCESS THE LOW-LEVEL REL STATEMENT. 
**        P0REL - PROCESS THE REL STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*          P0REL - PROCESS THE LOW-LEVEL REL STATEMENT. 
*          FORMATS FOR THIS STATEMENT ARE;
* 
*           REL 
*           REL, ABT Z       WHERE Z IS A STATEMENT NUMBER TO JUMP TO 
*                            IN CASE OF AN I/O ERROR
* 
*         PPU CODE GENERATED IS AS FOLLOWS+ 
* 
*                LDN 0  RJM REL           - IF Z IS NOT DEFINED 
*                LDC LINE/ADDR  RJM RES   - IF Z IS DEFINED 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0REL    SB7    RELP0
          EQ     CLO4 
          EJECT 
 P0RES    TITLE  P0RES - PROCESS THE LOW-LEVEL RES STATEMENT. 
**        P0RES - PROCESS THE LOW-LEVEL RES STATEMENT.
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0RES -   PROCESS THE LOW-LEVEL RES STATEMENT 
*           FORMATS FOR THIS STATEMENT ARE; 
* 
*            RES
*            RES, ABT Z      WHERE Z IS A STATEMENT NUMBER TO JUMP TO 
*                            IN CASE OF AN I/O ERROR
* 
*         PPU CODE GENERATED IS AS FOLLOWS; 
* 
*                 LDN 0   RJM RES         - IF Z IS NOT DEFINED 
*                 LDC LINE/ADDR  RJM RES  - IF Z IS DEFINED 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0RES    SB7    RESP0
          EQ     CLO4 
          EJECT 
 P0STAT8  TITLE  P0STAT8 - PROCESS THE LOW-LEVEL STATUS8 STATMENT.
**        P0STAT8 - PROCESS THE LOW-LEVEL STATUS8 STATMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*           P0STAT8 - COMPILE THE STATUS8 STATEMENT.  FORMATS ARE;
* 
*            STATUS8 TO Y 
*            STATUS8 TO Y, ABT Z
* 
*                 Y 
*                ---
*                 SB
*               SB(REG) 
*              SB(VALUE)
*                 IB
*               IB(REG) 
*              IB(VALUE)
* 
*         PPU CODE GENERATED IS;
* 
*             ------------------------------------- 
*             I           I           I           I 
*             I  BUFFER   I BUF(REG)  I BUF(VAL)  I 
*             I-----------+-----------+-----------I 
*             I           I LDD REG   I           I 
*          Y  I  LDC Y    I ADC Y     I LDC Y+VAL I 
*             I  STD PA   I STD PA    I STD PA    I 
*             I-----------------------------------I 
*          NO I            LDN 0                  I 
*          Z  I            RJM STATUS8            I 
*             I-----------------------------------I 
*             I            LDC LINE/ADDR          I 
*          Z  I            RJM STATUS8            I 
*             ------------------------------------- 
* 
* 
*         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 -  NONE.
* 
*         DATA AREAS USED -  CRKBUF - WORD STRING OF SOURCE STATEMENT.
*                            MODULE - BINARY CODE GENERATED.
* 
*         USES   A - NONE.
*                X - NONE.
*                B - 7. 
* 
 P0STAT8  SB7    STAT8P0
          EQ     CLO
          EJECT 
 P0STAT   TITLE  P0STAT - PROCESS THE STATUS STATEMENT. 
**        P0STAT -  PROCESS THE STATUS STATEMENT. 
* 
*         J. E. SIPPER. 76/12/08. 
* 
*         POSTAT - PROCESS THE STATUS STATEMENT. FORMATS AS FOLLOWS;
* 
*          STATUS X WORDS TO Y
*          STATUS X WORDS TO Y, ABT Z 
* 
*                X            Y            Z
*               ---          ---          --- 
*             1 - 74          IB         0 - 77 
*           ANY REGISTER      SB
*                           IB(REG) 
*                           SB(REG) 
*                          IB(VALUE)
*                          SB(VALUE)
* 
* 
*         PPU CODE GENERATED IS;
*         ------------------------------------------------------------- 
*         I           I           I           I           I           I 
*         I REGISTER  I  BUFFER   I  VALUE    I BUF(REG)  I BUF(VAL)  I 
*         I           I           I           I           I           I 
*         I-----------+-----------+-----------+-----------+-----------I 
*         I  LDD X    I           I  LDN X    I           I           I 
*       X I  STD PA   I  ILLEGAL  I  STD PA   I  ILLEGAL  I  ILLEGAL  I 
*         I-----------+-----------+-----------+-----------+-----------I 
*         I           I           I           I  LDD REG  I           I 
*         I  ILLEGAL  I LDC Y     I  ILLEGAL  I  ADC Y    I LDC Y+VAL I 
*       Y I           I STD PA+1  I           I  STD PA+1 I STD PA+1  I 
*         I-----------------------------------------------------------I 
*         I                         LDN 0                             I 
*      NO I                         RJM STATUS                        I 
*       Z I-----------------------------------------------------------I 
*         I                         LDC LINE/ADDR                     I 
*       Z I                         RJM STATUS                        I 
*         ------------------------------------------------------------- 
* 
* 
*         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. 
*                            CLOADC - GEN. LOAD CONST. INSTRUCTIONS 
*                            CLOAD  - GEN. LOAD INSTRUCTIONS. 
*                            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 - 7. 
* 
 P0STAT   SB7    STATP0 
  
*         PROCESS FRONT END OF STATUS STATEMENT.
  
          ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    CLOA 
          RJ     FIND        GET X
          NG     B2,COM31    IF NOT FOUND 
          SA1    DWORDS 
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT WORDS 
          RJ     CLOAD       GENERATE LOAD X CODE 
          SX2    STD+PA 
          LX0    12 
          BX0    X0+X2       CODE = LOAD X  STD PA
          RJ     CSTOREB     SAVE GENERATED CODE
          SA1    PCRK 
          SX6    X1+B1
          SA6    A1          BUMP POINTER TO CRKBUF 
          SA3    X6 
          SA1    DTO
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT TO
          SX6    X6+B1
          SA6    A6          BUMP POINTER TO CRKBUF 
          SA1    CLOB 
          RJ     FIND        GET Y
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOADC      GENERATE LOAD CONSTANT CODE
          SX2    STD+PA+1 
          LX0    12 
          BX0    X0+X2       CODE = LDC Y   STD PA+1
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     CLO4        ENTER COMMON SEQUENCE
  
*         PROCESS FRONT END OF THE STAT8 STATEMENT. 
  
 CLO      ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    DTO
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT TO
          SA1    PCRK 
          SX6    X1+B1
          SA6    A1          BUMP POINTER TO CRKBUF 
          SA1    CLOB 
          RJ     FIND        GET Y
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOADC      GENERATE LOAD Y CODE 
          EQ     CLO3        ENTER COMMON SEQUENCE
  
*         PROCESS FRONT END OF FUNC AND FUN8 STATEMENTS.
  
 CLO1     ZR     X3,COM30    ERROR EXIT IF END OF STATEMENT 
          SA1    CLOC 
          RJ     FIND        GET Y
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD Y CODE 
          EQ     CLO3        ENTER COMMON SEQUENCE
  
*         PROCESS FRONT END OF IN,INB,OUT, AND OUTB STATEMENTS. 
  
 CLO2     SA1    DCHAIN 
          SX0    LDN         DEFAULT CODE = LDN 0 
          SB2    B0          SET FLAG FOR NO CHANING
          BX1    X1-X3
          NZ     X1,CLO2A    IF NOT CHAIN 
          SX0    X0+B1       CODE = LDN 1 
          SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          SB2    B1          SET CHAINING FLAG
 CLO2A    LX0    12 
          SX1    STD+PA 
          BX0    X0+X1       CODE = LDN FLAG   STD PA 
          ZR     X3,CLO2B    IF END OF STATEMENT
          SA1    DABT 
          BX1    X1-X3
          NZ     X1,CLO2D    IF ABT IS NOT THE NEXT ITEM
 CLO2B    LX0    12 
          ZR     B2,CLO2C    IF NOT CHAINING, (A) IS ALREADY ZERO 
          SX1    LDN
          BX0    X0+X1       CODE = LDN FLAG  STD PA  LDN 0 
          LX0    12 
 CLO2C    SX1    STD+PA+1    INDICATE X AND Y NOT DEFINED (USE WC/BA) 
          BX0    X0+X1
          EQ     CLO2G       GO STORE CODE AND ENTER COMMON SEQUENCE
  
 CLO2D    SA1    CLOE 
          RJ     FIND        GET X
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOAD       GENERATE LOAD X CODE 
          LX0    12 
          SX1    STD+PA+1 
          BX0    X0+X1
          RJ     CSTOREB     SAVE GENERATED CODE
          SA1    DWORDS 
          BX1    X1-X3
          NZ     X1,COM30    ERROR EXIT IF NEXT ITEM IS NOT WORDS 
          SA3    A3+B1
          SB2    OUTP0
          SB2    B7-B2
          ZR     B2,CLO2E    IF OUT COMMAND 
          SB2    OUTBP0 
          SB2    B7-B2
          ZR     B2,CLO2E    IF OUTB COMMAND
          SA1    DTO
          BX1    X1-X3
          NZ     X1,COM30    ERROR EXIT IF NEXT ITEM IS NOT TO
          SA1    CLOF 
          EQ     CLO2F       GET Y (INPUT)
  
 CLO2E    SA1    DFROM
          BX1    X1-X3
          NZ     X1,COM30    ERROR EXIT IF NEXT ITEM IS NOT FROM
          SA1    CLOH        GET Y (OUTPUT) 
 CLO2F    SA3    A3+B1
          SX6    A3 
          SA6    PCRK        BUMP POINTER TO CRKBUF 
          RJ     FIND        GET Y FOR INPUT OR OUTPUT
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          RJ     CLOADC      GENERATE LOAD CONSTANT CODE
          SX1    STD+PA+2 
          LX0    12 
          BX0    X0+X1
 CLO2G    RJ     CSTOREB     SAVE GENERATED CODE
          EQ     CLO4        ENTER COMMON SEQUENCE
  
*         COMMON SEQUENCE.
  
 CLO3     LX0    12 
          SX2    STD+PA 
          BX0    X0+X2
          RJ     CSTOREB
 CLO4     SX0    LDN         DEFAULT IF ABT IS NOT PRESENT
          ZR     X3,CLO5     IF END OF STATEMENT
          SX0    LDC
          SA1    DABT 
          BX3    X3-X1
          NZ     X3,COM30    ERROR EXIT IF NEXT ITEM IS NOT ABT 
          SA1    PCRK 
          SX6    X1+B1
          SA6    A1          BUMP POINTER TO CRKBUF 
          SA1    CLOD 
          RJ     FIND        GET Z
          NG     B2,COM31    ERROR EXIT IF NOT FOUND
          NZ     X3,COM30    ERROR EXIT IF NOT END OF STATEMENT 
          RJ     CPSN        PROCESS STATEMENT NUMBER 
          LX0    12 
 CLO5     SX1    RJM
          SX2    B7 
          LX0    24 
          LX1    12 
          BX0    X0+X2
          BX0    X0+X1
          RJ     CABSPPU           ABSOLUTIZE PPU ADDRESSES 
          RJ     CSTOREB     SAVE GENERATED CODE
          EQ     COM10       EXIT TO COMPILER 
  
 CLOA     VFD    42/0,12/74B,3/0,3/REG2       CW FOR STATUS X 
 CLOB     VFD    54/0,3/BUF5,3/0              CW FOR STATUS Y 
 CLOC     VFD    42/0,12/7777B,3/BUF2,3/REG2  CW FOR FUNC/8 Y 
 CLOD     VFD    42/0,12/77B,6/0              CW FOR Z
 CLOE     VFD    42/0,12/505B,3/BUF2,3/REG2   CW FOR IN/OUT X 
 CLOF     VFD    54/0,3/BUF4,3/0              CW FOR IN/INB Y    (IB) 
 CLOH     VFD    54/0,3/BUF6,3/0              CW FOR OUT/OUTB Y  (OB) 
          EJECT 
 P0TIME   TITLE  P0TIME - PROCESS LOW LEVEL TIMEOUT STATEMENT 
**        P0TIME - PROCESS LOW LEVEL TIMEOUT STATEMENT
* 
*         G. L. GOLDEN 79/07/10.                                         MAL052G
*                                                                        MAL052G
*         P0TIME - PROCESS THE LOW LEVEL TIMEOUT STATEMENT               MAL052G
*         FORMATS FOR THIS STATEMENT ARE -                               MAL052G
*                                                                        MAL052G
*         TIMEOUT                                                        MAL052G
*         TIMEOUT TYPEA=V USEC                                           MAL052G
*         TIMEOUT TYPEA=U/V USEC                                         MAL052G
*         TIMEOUT TYPEB=Y USEC                                           MAL052G
*         TIMEOUT TYPEB=X/Y USEC                                         MAL052G
*         TIMEOUT TYPEA=V USEC, TYPEB=Y USEC                             MAL052G
*         TIMEOUT TYPEA=V USEC, TYPEB=X/Y USEC                           MAL052G
*         TIMEOUT TYPEA=U/V USEC, TYPEB=Y USEC                           MAL052G
*         TIMEOUT TYPEA=U/V USEC, TYPEB=X/Y USEC                         MAL052G
*                                                                        MAL052G
*         ENTRY                                                          MAL052G
*                                                                        MAL052G
*                CRKBUF = CRACKED SOURCE STATEMENT                       MAL052G
*                                                                        MAL052G
*         EXIT                                                           MAL052G
*                                                                        MAL052G
*                MODULE = BINARY PPU CODE GENERATED                      MAL052G
*                FCERR SET IF ERROR FOUND                                MAL052G
*                                                                        MAL052G
*         ROUTINES CALLED -  CLOAD                                       MAL052G
*                            CSTOREB                                     MAL052G
*                            FIND                                        MAL052G
*                            FINDOCT                                     MAL052G
*                                                                        MAL052G
*         DATA AREAS USED -  CRKBUF - CRACKED SOURCE STATEMENT           MAL052G
*                            MODULE - BINARY CODE GENERATED              MAL052G
*                                                                        MAL052G
*                            MODULE - BINARY CODE GENERATED              MAL052G
*                                                                        MAL052G
*         USES   A - 1, 3, 5, 6                                          MAL052G
*                X - 0, 1, 2, 3, 5, 6                                    MAL052G
*                B - 2                                                   MAL052G
*                                                                        MAL052G
                                                                         MAL052G
 P0TIME   SA1    P0TB                                                    MAL052G
          BX0    X1          (X1) =  LDC  128                            MAL052G
          LX0    12                                                      MAL052G
          SX1    STD+PA+1                                                MAL052G
          BX0    X1+X0       LDC 128   STD  PA+1                         MAL052G
          SX1    LDN                                                     MAL052G
          LX0    12                                                      MAL052G
          BX0    X0+X1                                                   MAL052G
          LX0    12                                                      MAL052G
          SX1    STD+PA                                                  MAL052G
          BX0    X0+X1       (X0) = LDC 128, STD PA+1, LDN 0, STD PA     MAL052G
          NZ     X3,P0T1     IF NOT END OF STATEMENT                     MAL052G
          RJ     CSTOREB                                                 MAL052G
          EQ     P0T8                                                    MAL052G
                                                                         MAL052G
 P0T1     SA1    DTYPEA                                                  MAL052G
          BX1    X1-X3                                                   MAL052G
          ZR     X1,P0T2     IF TYPEA                                    MAL052G
          RJ     CSTOREB     SAVE GENERATED CODE                         MAL052G
          EQ     P0T9        GO CHECK FOR TYPEB                          MAL052G
                                                                         MAL052G
 P0T2     SA3    A3+B1                                                   MAL052G
          SX1    X3-1R=                                                  MAL052G
          NZ     X1,COM30    ERROR IF NOT =                              MAL052G
          SA3    A3+B1       NEXT ITEM FROM CRKBUF                       MAL052G
          SX6    A3                                                      MAL052G
          SA6    PCRK        UPDATE CRKBUF POINTER                       MAL052G
          MX0    0           CLEAR GENERATED CODE                        MAL052G
          RJ     FINDOCT     CHECK FOR OCTAL VALUE                       MAL052G
          NG     X5,P0T3     IF NOT AN OCTAL VALUE                       MAL052G
          MX1    -24                                                     MAL052G
          BX1    X1*X5                                                   MAL052G
          NZ     X1,COM30    IF VALUE TOO BIG                            MAL052G
          BX6    X5                                                      MAL052G
          SA6    P0TC        SAVE DATA FOR LOWER 12 BITS EXTRACTION      MAL052G
          SB2    3                                                       MAL052G
          MX2    12                                                      MAL052G
          LX5    59-23                                                   MAL052G
          BX2    X2*X5                                                   MAL052G
          LX2    12          POSITION UPPER 12 BITS TO LOWER 12          MAL052G
          SA3    PCRK                                                    MAL052G
          SX6    X3+B1                                                   MAL052G
          SA6    A3          BUMP POINTER TO CRKBUF                      MAL052G
          RJ     CLOAD       GENERATE LOAD INSTRUCTIONS                  MAL052G
          SX0    STD+PA                                                  MAL052G
          RJ     CSTOREB     SAVE GENERATED CODE                         MAL052G
          SB2    3                                                       MAL052G
          MX2    12                                                      MAL052G
          SA5    P0TC        GET SAVED WORD                              MAL052G
          LX5    59-11       POSITION FOR LOWER 12 BITS                  MAL052G
          BX2    X2*X5                                                   MAL052G
          LX2    12          POSITION UPPER 12 BITS TO LOWER 12          MAL052G
          RJ     CLOAD       GENERATE LOAD INSTRUCTIONS                  MAL052G
          SX1    STD+PA+1                                                MAL052G
          EQ     P0T7                                                    MAL052G
                                                                         MAL052G
 P0T3     SA1    P0TA                                                    MAL052G
          RJ     FIND        FIND U                                      MAL052G
          NG     B2,COM31    IF NOT FOUND                                MAL052G
          RJ     CLOAD       GENERATE LOAD INSTRUCTIONS                  MAL052G
          SA3    PCRK                                                    MAL052G
          SA3    X3          NEXT ITEM FROM CRKBUF                       MAL052G
          ZR     X3,COM30    IF END OF STATEMENT                         MAL052G
          SX1    X3-1R/                                                  MAL052G
          ZR     X1,P0T4     IF ITEM IS /                                MAL052G
          SX0    STD+PA+1                                                MAL052G
          LX0    12                                                      MAL052G
          SX1    LDN                                                     MAL052G
          BX0    X0+X1                                                   MAL052G
          SX1    STD+PA                                                  MAL052G
          EQ     P0T7                                                    MAL052G
                                                                         MAL052G
 P0T4     SX0    STD+PA      FORM STD PA                                 MAL052G
          RJ     CSTOREB                                                 MAL052G
          SA3    A3+B1       NEXT ITEM FROM CRKBUF                       MAL052G
          SX6    A3                                                      MAL052G
          SA6    PCRK        UPDATE CRKBUF POINTER                       MAL052G
          SA1    P0TA                                                    MAL052G
          RJ     FIND        FIND V                                      MAL052G
          NG     B2,COM31    IF NOT FOUND                                MAL052G
          RJ     CLOAD                                                   MAL052G
          SX1    STD+PA+1                                                MAL052G
                                                                         MAL052G
 P0T7     LX0    12                                                      MAL052G
          BX0    X0+X1                                                   MAL052G
          RJ     CSTOREB                                                 MAL052G
          SA3    PCRK                                                    MAL052G
          SX6    X3+B1                                                   MAL052G
          SA6    A3          BUMP POINTER TO CRKBUF                      MAL052G
          SA3    X3          NEXT ITEM                                   MAL052G
          SA1    DUSEC                                                   MAL052G
          BX1    X1-X3                                                   MAL052G
          NZ     X1,COM30    IF NOT USEC                                 MAL052G
          SA3    A3+B1                                                   MAL052G
          NZ     X3,P0T9     IF NOT END OF STATEMENT                     MAL052G
 P0T8     SX0    LDC                                                     MAL052G
          LX0    12                                                      MAL052G
          SX1    177B                                                    MAL052G
          BX0    X0+X1                                                   MAL052G
          SX1    STD+PA+2                                                MAL052G
          LX0    12                                                      MAL052G
          BX0    X0+X1                                                   MAL052G
          LX0    12                                                      MAL052G
          SX1    LDC                                                     MAL052G
          BX0    X0+X1                                                   MAL052G
          SX1    7777B                                                   MAL052G
          LX0    12                                                      MAL052G
          BX0    X0+X1                                                   MAL052G
          RJ     CSTOREB                                                 MAL052G
          EQ     P0T15                                                   MAL052G
                                                                         MAL052G
 P0T9     SA3    PCRK                                                    MAL052G
          SA1    DTYPEB                                                  MAL052G
          SA3    X3          NEXT ITEM                                   MAL052G
          BX1    X1-X3                                                   MAL052G
          NZ     X1,COM30    IF NOT TYPEB                                MAL052G
          SA3    A3+B1       NEXT ITEM                                   MAL052G
          SX1    X3-1R=                                                  MAL052G
          NZ     X1,COM30    IF NOT =                                    MAL052G
          SA3    A3+B1       NEXT ITEM                                   MAL052G
          SX6    A3                                                      MAL052G
          SA6    PCRK        UPDATE CRKBUF POINTER                       MAL052G
          RJ     FINDOCT     CHECK FOR OCTAL VALUE                       MAL052G
          NG     X5,P0T10    IF NOT AN OCTAL VALUE                       MAL052G
          MX1    -24                                                     MAL052G
          BX1    X1*X5                                                   MAL052G
          NZ     X1,COM30    IF VALUE TOO BIG                            MAL052G
          SB2    3                                                       MAL052G
          MX2    12                                                      MAL052G
          BX6    X5                                                      MAL052G
          SA6    P0TC        SAVE LOWER 12 BITS FOR LATER USE            MAL052G
          LX5    59-23                                                   MAL052G
          BX2    X2*X5                                                   MAL052G
          LX2    12          POSITION UPPER 12 BITS TO LOWER 12          MAL052G
          SA3    PCRK                                                    MAL052G
          SX6    X3+B1                                                   MAL052G
          SA6    A3          BUMP POINTER TO CRKBUF                      MAL052G
          RJ     CLOAD       GENERATE LOAD INSTRUCTIONS                  MAL052G
          SX0    STD+PA+2                                                MAL052G
          RJ     CSTOREB     SAVE GENERATED CODE                         MAL052G
          SA5    P0TC                                                    MAL052G
          LX5    59-11                                                   MAL052G
          MX2    12                                                      MAL052G
          BX2    X2*X5                                                   MAL052G
          LX2    12                                                      MAL052G
          SB2    3                                                       MAL052G
          RJ     CLOAD       GENERATE LOAD INSTRUCTIONS                  MAL052G
          EQ     P0T14       GO CHECK FOR USEC                           MAL052G
                                                                         MAL052G
 P0T10    SA1    P0TA                                                    MAL052G
          RJ     FIND        FIND X                                      MAL052G
          NG     B2,COM31    IF NOT FOUND                                MAL052G
          SA3    PCRK                                                    MAL052G
          SA3    X3                                                      MAL052G
          ZR     X3,COM30    IF END OF STATEMENT                         MAL052G
          SX1    X3-1R/                                                  MAL052G
          ZR     X1,P0T11    IF DISPLAY CODE /                           MAL052G
          SX0    LDN                                                     MAL052G
          LX0    12                                                      MAL052G
          SX1    STD+PA+2                                                MAL052G
          BX0    X0+X1                                                   MAL052G
          RJ     CSTOREB                                                 MAL052G
          SA3    A3-B1                                                   MAL052G
          RJ     CLOAD                                                   MAL052G
          EQ     P0T14                                                   MAL052G
                                                                         MAL052G
 P0T11    RJ     CLOAD                                                   MAL052G
          SX0    STD+PA+2                                                MAL052G
          RJ     CSTOREB                                                 MAL052G
          SA3    A3+B1       NEXT ITEM                                   MAL052G
          SX6    A3                                                      MAL052G
          SA6    PCRK        UPDATE POINTER TO CRKBUF                    MAL052G
          SA1    P0TA                                                    MAL052G
          RJ     FIND        FIND X                                      MAL052G
          NG     B2,COM31    IF NOT FOUND                                MAL052G
          RJ     CLOAD       GENERATE LOAD CODE                          MAL052G
                                                                         MAL052G
 P0T14    SA3    PCRK                                                    MAL052G
          SA3    X3          NEXT ITEM                                   MAL052G
          SA1    DUSEC                                                   MAL052G
          BX1    X1-X3                                                   MAL052G
          NZ     X1,COM30    IF NOT USEC                                 MAL052G
          SA3    A3+B1                                                   MAL052G
          NZ     X3,COM30    IF NOT END OF STATEMENT                     MAL052G
                                                                         MAL052G
 P0T15    SB7    TIMEP0                                                  MAL052G
          EQ     CLO5        GO FINIST IN COMMON CODE                    MAL052G
                                                                         MAL052G
                                                                         MAL052G
 P0TA     VFD    42/0,12/0,3/BUF1,3/REG2      CW FOR U,V,X,Y             MAL052G
 P0TB     VFD    36/0,12/LDC,12/128                                      MAL052G
 P0TC     DATA   0                                                       MAL052G
