PSCAN16K     V01L02                    1130 PLAN (1130-CX-25X) 08/30/71        *
// XEQ X16K                                                             PSC00020
// ASM                                                                  PSC00040
*XREF                                                                   PSC00060
*LIST                                                                   PSC00080
*MACLIB PSMAC                                                           PSC00100
*COMMON 3328                                                            PSC00120
                          ABS                                           PSC00140
                          ORG     510                                   PSC00160
                          DATE    (16KPSCAN)                            PSC00180
                          MONLB   OFF                                   PSC00200
                          CIHLB   OFF                                   PSC00220
                          PFILB   OFF                                   PSC00240
                          PLSLB   OFF                                   PSC00260
                          MISLB   OFF                                   PSC00280
                          ERRLB   OFF                                   PSC00300
                          XEQLB   OFF                                   PSC00320
                          PSCLB   OFF                                   PSC00340
                          PROLB   OFF                                   PSC00360
                          TABLB   OFF                                   PSC00380
                    PSA   EQU     1           8K PSCAN INDICATOR        PSC00400
                    PSB   EQU     2           'PSCNB' INDICATOR         PSC00420
                    PSC   EQU     3           16K PSCAN INDICATOR       PSC00440
                    VER   EQU     PSC                                   PSC00460
                          HDNG    PSCAN - COMMAND INTERPRETER 16 K      PSC00480
                          CALL    ERROR       DUMMY CALL                PSC00500
                    PSEND EQU     *-1          TO ESTABLISH MAX SUBSCR  PSC00520
                          INPRD                                         PSC00540
                    *************************************************** PSC00560
                    * PSCAN - SET UP AND INITIALIZATION               * PSC00580
                    *************************************************** PSC00600
                    PSCAN STX  L3 XR3         SAVE XR3                  PSC00620
                          LDX  L3 BASE        SET XR3 TO DATA AREA      PSC00640
                          LDX  L2 BASEL       SET XR2 TO LOADER AREA    PSC00660
                          LDX  I1 CLEAR                                 PSC00680
                          SLA     16           ALL                      PSC00700
                          STO  L1 SWCHS-1       INTERNAL                PSC00720
                          MDX   1 -1             SWITCHES               PSC00740
                          B       *-4                                   PSC00760
                          LD   L  $LSW0+SW13  SET INTERNAL              PSC00780
                          AND   3 MSK10-BASE   LIST SWITCH FROM         PSC00800
                          STO   3 SWLIS-BASE    PLAN SWITCH 13          PSC00820
                          LDX  L1 INITX       SET SPECIAL               PSC00840
                          STX  L1 SPEXT        EXIT FROM CHTEST         PSC00860
                          LD    3 INPUX-BASE  SET INPUT POINTER         PSC00880
                          STO   3 POINT-BASE   TO INPUT-1               PSC00900
                          LD    3 K1-BASE     TURN ON SYMBOL            PSC00920
                          STO   3 SWSYC-BASE   TABLE WRITE COMPLETE     PSC00940
                          SRT     16          CLEAR ACC                 PSC00960
                          STD   3 INISY-BASE  SET INITIAL SYM TO MAN 1  PSC00980
                          LDD   3 XDBLK-BASE  SET SYMBOL                PSC01000
                          STD   3 SYBKT-BASE   BUCKET BLANKS            PSC01020
                          LD    2 $CORE-$B    ADJUST                    PSC01040
                          S     3 K1-BASE      MANAGED                  PSC01060
                          STO   3 TEMP-BASE     ARRAY                   PSC01080
                          AND   3 MANAD-BASE     AND                    PSC01100
                          STO   3 MANAD-BASE      COMMON                PSC01120
                          LD    3 TEMP-BASE        POINTERS             PSC01140
                          SRA     1                 FOR                 PSC01160
                          AND   3 COMAX-BASE         MACHINE            PSC01180
                          STO   3 COMAX-BASE          SIZE              PSC01200
                          LD   L  PSEND       SET MAXIMUM SUBSCRIPT     PSC01220
                          STO   3 MXSUB-BASE   ADDRESS                  PSC01240
                          LD    2 PLSW1-BASEL TURN OFF UTILITY          PSC01260
                          OR    3 SWUTL-BASE  LEVEL COMMAND SW          PSC01280
                          EOR   3 SWUTL-BASE  LEVEL COMMAND SW          PSC01300
                          STO   2 PLSW1-BASEL IN LOADER SWITCH          PSC01320
                          LD    2 PLSW1-BASEL CHECK REPEAT              PSC01340
                          AND   3 SWREP-BASE   PHRASE SWITCH            PSC01360
                          BZ      PSCA7         AND BR IF OFF           PSC01380
                          LD   L  INPUT       IS THIS A NEW             PSC01400
                          BNZ     PSCB0       LOAD OF PSCAN, BR NO      PSC01420
                          LDD   3 INPAX-BASE  READ                      PSC01440
                          BSI   3 READ-BASE    PFINPUTA                 PSC01460
                          B       PSCB0         AND BRANCH              PSC01480
                    PSCA7 SLA     16          SET NULL AT               PSC01500
                          STO  L  INPUT       BEGINNING OF INPUT        PSC01520
                          LD    2 PLSW1-BASEL CHECK INPUT ON            PSC01540
                          AND   3 SWIND-BASE   DISK SWITCH              PSC01560
                          BZ      PSCB0         AND BR IF OFF           PSC01580
                          EOR   2 PLSW1-BASEL TURN OFF INPUT ON         PSC01600
                          STO   2 PLSW1-BASEL  DISK SWITCH              PSC01620
                          LDD   3 INPBX-BASE  READ                      PSC01640
                          BSI   3 READ-BASE    PFINPUTB                 PSC01660
                    PSCB0 EQU     *                                     PSC01680
                          LDD   3 PWVTX-BASE  READ THE                  PSC01700
                          BSI   3 READ-BASE    PWVTAB                   PSC01720
                          BSI   3 ADVSP-BASE  GET FIRST INPUT CHARACTER PSC01740
                          BSI   3 NUMER-BASE  CHECK FOR NUMERIC         PSC01760
                          B       *+1          AND SKIP IF YES          PSC01780
                          B       PSCB7         OR BR IF NOT            PSC01800
                          STO   3 SWSTS-BASE  TURN ON STATEMENT SAVE    PSC01820
                          BSI   3 INTGX-BASE  SLIDE OVER STATEMENT NO.  PSC01840
                    PSCB7 MDM     POINT,-1    BACK UP INPUT POINTER     PSC01860
                          BSI     BSCAN       COLLECT PHRASE NAME       PSC01880
                          BSI  L  PHGOT       DO LEVEL MANAGEMENT       PSC01900
                          LD    3 SYTRD-BASE  GET SYMBOL TABLE READ LEV PSC01920
                          BZ      PSCC0       IF NONE, BRANCH           PSC01940
                          XCH                 MOVE TO EXTENSION         PSC01960
                          LD    3 SYMTX-BASE  GET BUFFER ADDRESS        PSC01980
                          BSI   3 READ-BASE   AND READ SYMBOL TABLE     PSC02000
                          B       PSCC2       BRANCH                    PSC02020
                    PSCC0 EQU     *                                     PSC02040
                          LD    3 SYMTX-BASE  CLEAR BUFFER              PSC02060
                          BSI   3 PURGE-BASE  IF QUEUED                 PSC02080
                          SLT     32          INITIALIZE                PSC02100
                          STD  L  SYMTB+2     SYMBOL                    PSC02120
                          LD    3 K4-BASE     TABLE                     PSC02140
                          STD  L  SYMTB       IN CORE                   PSC02160
                    PSCC2 EQU     *                                     PSC02180
                          BSI  L  SYMGT       ADD NEW SYMBOLS TO TABLE  PSC02200
                          BSI  L  SYMPT       SAVE SYMBOL TABLES        PSC02220
                          BSI  L  DAGET       DO DEFAULT VALUES         PSC02240
                          B    L  BALG        BRANCH                    PSC02260
                          EJCT                                          PSC02280
                          BSCAN                                         PSC02300
                          SYDAG                                         PSC02320
                    *************************************************** PSC02340
                    *           COMMUNICATIONS AND DATA AREA            PSC02360
                    *************************************************** PSC02380
                          BSS  E  256       SPACE FOR USER EXIT LOADS   PSC02390
                    RCALA BSS  E  256       RECURSIVE  CALL AREA        PSC02400
                    PHENT PLBUF   320,514                               PSC02420
                    PWV   PLBUF   256,256                               PSC02440
                    SYMTB PLBUF   256,258                               PSC02460
                    INPUT PLBUF   228,262                               PSC02480
                    VERBS BSS     8         TABLE OF VERB PHRASES       PSC02500
                    BASE  EQU     *+128                                 PSC02520
                    PHENX DC      PHENT       ADDRESS OF PHRASE BUFFER  PSC02540
                    PWVTB DC      PWV         ADDRESS OF PWV TABLE      PSC02560
                    SYBOT DC      SYMTB       ADDRESS OF SYMBOL BUFFER  PSC02580
                    SYTOP DC      SYMTB+254   SYMBOL TABLE TOP          PSC02600
                    INPUX DC      INPUT+INPUT-1                         PSC02620
                    VBPNT DC      *-*         VERB TABLE POINTER        PSC02640
                          EJCT                                          PSC02660
                    ***********************                             PSC02680
                    * DISK I/O PARAMETERS *                             PSC02700
                    ***********************                             PSC02720
                          BSS  E  0                                     PSC02740
                    INPAX DC      INPUT                                 PSC02760
                          DC      PINPA       PFINPUTA DISPLACEMENT     PSC02780
                    INPBX DC      INPUT                                 PSC02800
                          DC      PINPB       PFINPUTB DISPLACEMENT     PSC02820
                    PWVTX DC      PWV                                   PSC02840
                          DC      PFPWV       PWV TABLE DISPLACEMENT    PSC02860
                    SYMTX DC      SYMTB                                 PSC02880
                          SPAC    3                                     PSC02900
                    TEMP  BSS  E  10                                    PSC02920
                    DCOW  EQU     TEMP+1      (USED BY NUMCL)           PSC02940
                    DWD   EQU     TEMP+6      (USED BY NUMCL)           PSC02960
                    ECOW  EQU     TEMP        (USED BY NUMCL)           PSC02980
                    FCOW  EQU     TEMP+4      (USED BY NUMCL)           PSC03000
                    GSCOW EQU     TEMP      (USED BY GSYM)              PSC03020
                    GSTMP EQU     TEMP+1    (USED BY GSYM)              PSC03040
                    PGCNT EQU     TEMP+2    (USED BY GETPG)             PSC03060
                    PGLEN EQU     TEMP+1    (USED BY GETPG)             PSC03080
                    QUSAV EQU     TEMP      (USED BY LITRL)             PSC03100
                    SLCOW EQU     TEMP+8      (USED BY NUMCL)           PSC03120
                    SLSAV EQU     TEMP+9      (USED BY NUMCL)           PSC03140
                    STPSV EQU     TEMP+2    (USED BY GSYM)              PSC03160
                    SUBSC EQU     TEMP      (USED BY SYMGT)             PSC03180
                    TBFND EQU     TEMP      (USED BY SRCHT)             PSC03200
                    TCTMP EQU     TEMP+2    (USED BY TCKNT)             PSC03220
                    TPNT  EQU     TEMP      (USED BY INSAV)             PSC03240
                    VERBX DC      VERBS                                 PSC03260
                          EJCT                                          PSC03280
                    *********************                               PSC03300
                    * INTERNAL SWITCHES *                               PSC03320
                    *********************                               PSC03340
                    SWCHS BSS  E  38                                    PSC03360
                    SWSTS EQU     SWCHS     STATEMENT SAVE              PSC03380
                    SWERR EQU     SWCHS+1     ERROR FOUND SWITCH        PSC03400
                    SWABR EQU     SWCHS+2     ABORT SWITCH              PSC03420
                    SWNOC EQU     SWCHS+3     NO COMPARE SWITCH         PSC03440
                    SWLIS EQU     SWCHS+4     INPUT LIST SWITCH         PSC03460
                    SWSKP EQU     SWCHS+5     SKIP SWITCH               PSC03480
                    SWVRB EQU     SWCHS+6     VERB SWITCH               PSC03500
                    SWSYC EQU     SWCHS+7      SYMBOL TABLE WRITE COMP  PSC03520
                    SWINS EQU     SWCHS+8   INPUT SAVED SWITCH          PSC03540
                    SWEXD EQU     SWCHS+9   EXECUTION DEFINED SUBS SW   PSC03560
                    SWINO EQU     SWCHS+10  INITL SYMBOL  NOT COLLECTED PSC03580
                    SWLVA EQU     SWCHS+11  LOGICAL VALUE IN EXPRESS    PSC03600
                    SWSYN EQU     SWCHS+13  SYM TBL NOT IN CORE SWITCH  PSC03620
                    SWPVU EQU     SWCHS+14  P-VALUE SWITCH              PSC03640
                    WLITR EQU     SWCHS+15    WSYM LITERAL SWITCH       PSC03660
                    RTRUE EQU     SWCHS+16    RSYM TRUE SWITCH          PSC03680
                    RFALZ EQU     SWCHS+17    RSYM FALSE SWITCH         PSC03700
                    WTRUE EQU     SWCHS+18    WSYM TRUE SWITCH          PSC03720
                    WFALZ EQU     SWCHS+19    WSYM FALSE SWITCH         PSC03740
                    SWCON EQU     SWCHS+20    CONDITIONAL EXPRESSION SW PSC03760
                    CNTRU EQU     SWCHS+21    COND EXPRESSION TRUE SW   PSC03780
                    SWGTS EQU     SWCHS+22    GO TO SEARCH SWITCH       PSC03800
                    SWTCM EQU     SWCHS+23  SLIDE TO COMMA SWITCH       PSC03820
                    SWPHD EQU     SWCHS+24  PHRASE DEFINE EXPR SWITCH   PSC03840
                    SWSPI EQU     SWCHS+25  S' VALID SWITCH             PSC03860
                    SWDO  EQU     SWCHS+26  INPUT IMPLIED DO SWITCH     PSC03880
                    SPMFN EQU     SWCHS+27    S' FOUND SWITCH           PSC03900
                    SWSYM EQU     SWCHS+28  SYMBOL YES SWITCH           PSC03920
                    SWNEG EQU     SWCHS+29  NUMERIC NEGATIVE SWITCH     PSC03940
                    SWNUM EQU     SWCHS+30  NUMERIC FOUND SWITCH        PSC03960
                    SWSLG EQU     SWCHS+31  SINGLE LOGICAL SWITCH       PSC03980
                    SWLGR EQU     SWCHS+32  LOGICAL RELATIONAL SWITCH   PSC04000
                    SWROL EQU     SWCHS+33  RELAT OPERAND LOGICAL SW    PSC04020
                    SWFDQ EQU     SWCHS+34  FIRST DOUBLE QUOTE SWITCH   PSC04040
                    SWUSR EQU     SWCHS+36  USER EXIT VALID SWITCH      PSC04060
                          EJCT                                          PSC04080
                    *********************                               PSC04100
                    * STORAGE LOCATIONS *                               PSC04120
                    *********************                               PSC04140
                    INBKT BSS  E  2         INPUT TRANSFER BUCKET       PSC04160
                    INISY BSS  E  2         (INITL SYMBOL TABLE ENTRY)  PSC04180
                    RACC  BSS  E  2         RECURSIVE CALL ACCUMULATOR  PSC04200
                    SYBKT BSS  E  2         SYMBOL TABLE ENTRY BUCKET   PSC04220
                    SYENT BSS  E  2         (SYMBOL ENTRY FOUND BY GSYM PSC04240
                    ALWRD DC      *-*       CURRENT CHARACTER BUCKET    PSC04260
                    CLEVL DC      *-*       LEVEL OF CURRENT COMMAND    PSC04280
                    COMON DC      *-*       COMMON ADDRESS              PSC04300
                    DISP  DC      *-*       IMPLIED DO DISPLACEMENT     PSC04320
                    ERCOD DC      *-*           ERROR CODE              PSC04340
                    FONUM DC      *-*       SAVE FORMULA NO. FOR SEARCH PSC04360
                    GOCOW DC      *-*       GO TO COUNT                 PSC04380
                    INCRM DC      *-*       IMPLIED DO INCREMENT        PSC04400
                    LUSUB DC      *-*       SUBSCRIPT RETND BY LUSYM    PSC04420
                    MXSUB DC      *-*         MAX SUBSCRIPT ADDRESS     PSC04440
                    OPATR DC      *-*       RECURSIVE CALL OPERATOR     PSC04460
                    PHPNT DC      *-*       PHRASE CHAIN PNTR FOR GETPH PSC04480
                    POINT DC      *-*       INPUT SCAN POINTER          PSC04500
                    PTSAV DC      *-*       SAVE INPUT POINTER          PSC04520
                    RELSB DC      *-*         RELATIVE SUBSCRIPT        PSC04540
                    SPEXT DC      *-*       'CHTST' SPECIAL EXIT SWITCH PSC04560
                    SYCOM DC      *-*       COMPRESSED SYMBOL FOR GSYM  PSC04580
                    SYTRD DC      *-*         SYMBOL TABLE READ LEVEL   PSC04600
                    SYTWT DC      *-*         SYMBOL TABLE WRITE LEVEL  PSC04620
                    VRBAD DC      *-*       VERB TABLE POINTER          PSC04640
                    ACCUM DEC     0                                     PSC04660
                    PVAL  DEC     0           P-VALUE                   PSC04680
                    RESLT DEC     0         RESULT OF EXPRESSION        PSC04700
                    CLEAR DC      *-SWCHS-1                             PSC04720
                    ERLIT DC      K0            LITERAL (SET BY TCKNT)  PSC04740
                    XR3   DC      *-*       XR3 SAVE BUCKET             PSC04760
                          EJCT                                          PSC04780
                    *****************                                   PSC04800
                    * HEX CONSTANTS *                                   PSC04820
                    *****************                                   PSC04840
                          BSS  E  0                                     PSC04860
                    FALSE DC      /7FFF                                 PSC04880
                          DC      /FFFF                                 PSC04900
                    TRUE  DC      /8000                                 PSC04920
                          DC      /0000                                 PSC04940
                    XDBLK DC      /4040     DOUBLE BLANK                PSC04960
                          DC      /4040                                 PSC04980
                    XBLNK DC      /0040     BLANK                       PSC05000
                    XBLPR DC      /006C     BCD LEFT PAREN              PSC05020
                    XBRPR DC      /004C     BCD RIGHT PAREN             PSC05040
                    XCOLN DC      /007A     COLON                       PSC05060
                    XCOMA DC      /006B     COMMA                       PSC05080
                    XDBQU DC      /007F     DOUBLE QUOTE                PSC05100
                    XELPR DC      /004D     EBC LEFT PAREN              PSC05120
                    XERPR DC      /005D     EBC RIGHTPAREN              PSC05140
                    XLASH DC      /0061     SLASH                       PSC05160
                    XPLUS DC      /004E     EBC PLUS SIGN               PSC05180
                    XQUOT DC      /007D     EBCDIC QUOTE                PSC05200
                    XSEMI DC      /005E     SEMICOLON                   PSC05220
                    X001E DC      /001E                                 PSC05240
                    X0021 DC      /0021                                 PSC05260
                    X0026 DC      /0026                                 PSC05280
                    X0030 DC      /0030                                 PSC05300
                    X0035 DC      /0035                                 PSC05320
                    X0060 DC      /0060                                 PSC05340
                    X000F DC      /000F                                 PSC05360
                    X00F0 DC      /00F0                                 PSC05380
                    X00FF DC      /00FF                                 PSC05400
                    X3FFF DC      /3FFF                                 PSC05420
                    X4000 DC      /4000                                 PSC05440
                    X7FFF EQU     FALSE                                 PSC05460
                    XFFFF EQU     FALSE+1                               PSC05480
                    X8000 EQU     TRUE                                  PSC05500
                    EBCD0 EQU     X00F0     EBCDIC 0                    PSC05520
                          EJCT                                          PSC05540
                    *********************                               PSC05560
                    * NUMERIC CONSTANTS *                               PSC05580
                    *********************                               PSC05600
                    C1    DEC     1.0                                   PSC05620
                    CHALF DEC     0.5                                   PSC05640
                    CTEN  DEC     10.0                                  PSC05660
                    K0    EQU     TRUE+1                                PSC05680
                    K1    DC      1                                     PSC05700
                    K2    DC      2                                     PSC05720
                    K3    DC      3                                     PSC05740
                    K4    DC      4                                     PSC05760
                    K5    DC      5                                     PSC05780
                    K6    DC      6                                     PSC05800
                    K7    DC      7                                     PSC05820
                    K8    DC      8                                     PSC05840
                    K9    DC      9                                     PSC05860
                    K10   DC      10                                    PSC05880
                    K11   DC      11                                    PSC05900
                    K15   EQU     X000F                                 PSC05920
                    K75   DC      75                                    PSC05940
                    K76   DC      76                                    PSC05960
                    K80   DC      80                                    PSC05980
                    K100  DC      100                                   PSC06000
                    K160  DC      160                                   PSC06020
                    K200  DC      200                                   PSC06040
                    K306  DC      306                                   PSC06060
                    K320  DC      320                                   PSC06080
                    K450  DC      450                                   PSC06100
                    K512  DC      512                                   PSC06120
                    K1000 DC      1000                                  PSC06140
                    KMXSB DC      8177        MAX SYM TBL SUBSCRIPT     PSC06160
                    NOD   DC      *-*                                   PSC06180
                    NOUT  DC      100         COMMAND LIST DEVICE       PSC06200
                          EJCT                                          PSC06220
                    *********************                               PSC06240
                    * LOADER LOCATIONS *                                PSC06260
                    *********************                               PSC06280
                    BASEL EQU     $B          LOADER DATA BASE          PSC06300
                    SW8   EQU     -16         RELTV ADDR OF PLAN SW 8   PSC06320
                    SW9   EQU     -18         RELTV ADDR OF PLAN SW 9   PSC06340
                    SW10  EQU     -20         RELTV ADDR OF PLAN SW 10  PSC06360
                    SW12  EQU     -24         RELTV ADDR OF PLAN SW 12  PSC06380
                    SW13  EQU     -26         RELTV ADDR OF PLAN SW 13  PSC06400
                    COMAX DC      $LSW0/2+/4000 ADDR OF COMMON/2        PSC06420
                    MANAD DC      $MAN1       MAN(1) ADDRESS            PSC06440
                    MAN1  EQU     $MAN1       MAN(1) ADDRESS            PSC06460
                    PLSW1 EQU     $PSW1       PSCAN COMMUNICATION SW    PSC06480
                          SPAC    5                                     PSC06500
                    ***********************                             PSC06520
                    * SYSTEM BIT SWITCHES *                             PSC06540
                    ***********************                             PSC06560
                    SWREP EQU     K1          PHRASE REPEAT SWITCH      PSC06580
                    SWLV1 DC      /0002       LEVEL 1 ENCOUNTERED SW    PSC06600
                    SWBPH DC      /0010       BLANK LEVEL PHR SW        PSC06620
                    SWIND DC      /0020       RESID CARD IMAGE ON DISK  PSC06640
                    SWERL DC      /0040       ERROR ON LAST PHR SWITCH  PSC06660
                    SWLVF DC      /0080       LEVEL 1 SHIFT SWITCH      PSC06680
                    SWLV0 DC      /0400       LEVEL 0 ENCOUNTERED SW    PSC06700
                    SWUTL DC      /2000       UTILITY LEVEL SWITCH      PSC06720
                    MSK10 EQU     SWBPH       HEX 0010 MASK             PSC06740
                          EJCT                                          PSC06760
                    *************************************************** PSC06780
                    *                 SUBROUTINE BRANCHES             * PSC06800
                    *************************************************** PSC06820
                    ADVSP DC      *-*                                   PSC06840
                          B    L  ADVSX                                 PSC06860
                    SPADV DC      *-*                                   PSC06880
                          LD      SPADV                                 PSC06900
                          STO     ADVSP                                 PSC06920
                          B    L  SPADX                                 PSC06940
                    ALPHA DC      *-*                                   PSC06960
                          B    L  ALPAH                                 PSC06980
                    CHTST DC      *-*                                   PSC07000
                          B    L  CHTSX                                 PSC07020
                    DOERR DC      *-*                                   PSC07040
                          B    L  DOERX                                 PSC07060
                    DWAIT DC      *-*                                   PSC07080
                          B    L  WAITD                                 PSC07100
                    EXPER DC      *-*                                   PSC07120
                          B    L  EXPEX                                 PSC07140
                    GETPG DC      *-*                                   PSC07160
                          B    L  PGGET                                 PSC07180
                    GETPH DC      *-*                                   PSC07200
                          B    L  GETPX                                 PSC07220
                    GTCHR DC      *-*                                   PSC07240
                          B    L  GTCHX                                 PSC07260
                    INTGR DC      *-*                                   PSC07280
                          B    L  INTRG                                 PSC07300
                    INTGX DC      *-*                                   PSC07320
                          LD      INTGX                                 PSC07340
                          STO     INTGR                                 PSC07360
                          B    L  INTRG+1                               PSC07380
                    LUSYM DC      *-*                                   PSC07400
                          B    L  LUSYX                                 PSC07420
                    MSMOV DC      *-*                                   PSC07440
                          B    L  MSMOX                                 PSC07460
                    NUMCL DC      *-*                                   PSC07480
                          B    L  NUMCX                                 PSC07500
                    NUMER DC      *-*                                   PSC07520
                          B    L  NUMRE                                 PSC07540
                    PURGE DC      *-*                                   PSC07560
                          B    L  PURGX                                 PSC07580
                    RCALL DC      *-*                                   PSC07600
                          B    L  RCALX                                 PSC07620
                    READ  DC      *-*                                   PSC07640
                          BSI  L  READX                                 PSC07660
                          B    I  READ                                  PSC07680
                    SRCHT DC      *-*                                   PSC07700
                          B    L  SRCHX                                 PSC07720
                    WRITE DC      *-*                                   PSC07740
                          BSI  L  WRITX                                 PSC07760
                          B    I  WRITE                                 PSC07780
                    WSYM  DC      *-*                                   PSC07800
                          B    L  WSYMX                                 PSC07820
                    INPRD DC      *-*                                   PSC07840
                          B    L  INPRX                                 PSC07860
                    LITRL DC      *-*                                   PSC07880
                          B    L  LITRX                                 PSC07900
                          EJCT                                          PSC07920
                    REL   EQU     0           RELOCATION FACTOR         PSC07940
                          UXIT                                          PSC07960
                    *************************************************** PSC07980
                    * BALG - ROUTINE TO COMPLETE THE SCAN OF INPUT    * PSC08000
                    *      AND PHRASE ENTRY.                          * PSC08020
                    *************************************************** PSC08040
                    BALG  EQU     *                                     PSC08060
                          BSI   3 SPADV-BASE  SUPPRESS BLANKS           PSC08080
                          EOR   3 XCOLN-BASE  CHECK FOR COLON           PSC08100
                          BSI  L  DTAIN,Z     COLLECT INPUT DATA IF NOT PSC08120
                          BSI  L  INSAV       SAVE INPUT IMAGE          PSC08140
                    BALA4 BSI   3 DWAIT-BASE  WAIT ON DISK I/O          PSC08160
                          BSI  L  EVALU       DO PHRASE DEF EXPRESSIONS PSC08180
                          BSI  L  SYMPT       WRITE SYMBOL TABLE        PSC08200
                          LD    3 K4-BASE                               PSC08220
                          BSI   3 GETPG-BASE  GET PROGRAMS              PSC08240
                          BSI  L  TCKNT       DO CHECKENTRIES           PSC08260
                          LD    3 SWVRB-BASE  ANY VERBS TO DO           PSC08280
                          BZ      CHOVR        AND BR IF NOT            PSC08300
                          MDM     VBPNT,-1    DECREMENT VERB POINTER    PSC08320
                          LD    3 VBPNT-BASE  IS THIS THE END           PSC08340
                          S     3 VERBX-BASE   OF VERB TABLE            PSC08360
                          BN      CHOVR         AND BR YES              PSC08380
                          LD   I  VBPNT       GET VERB POINTER          PSC08400
                          BSI   3 GETPH-BASE   AND GO GET IT IN         PSC08420
                          B       BALA4        AND BR TO PROCESS        PSC08440
                          EJCT                                          PSC08460
                    *************************************************** PSC08480
                    * CHOVR - ROUTINE TO PERFORM FINAL HOUSEKEEPING   * PSC08500
                    *       AND CLEAN-UP OF PSCAN AND PREPARE FOR     * PSC08520
                    *       EXECUTION OF USER PROGRAMS                * PSC08540
                    *************************************************** PSC08560
                    * ABORT - CLEAN-UP PROCESSING BEFORE PSCAN IS       PSC08580
                    *       ABORTED                                     PSC08600
                    ABORT EQU     *                                     PSC08620
                          SLA     16          SET PREVIOUS PHRASE       PSC08640
                          STO  L  $PRPH       POINTER TO ZERO           PSC08660
                    CHOVR LDX  L2 BASEL       SET XR2 TO LOADER DATA    PSC08680
                          MDM     SWERR,0     CHECK ERROR SWITCH        PSC08700
                          B       CHVAB        AND BR IF ON             PSC08720
                          LD    3 SWSKP-BASE  CHECK SKIP SWITCH         PSC08740
                          BZ      CHVA2        AND BR IF OFF            PSC08760
                          LDX   1 ERR01       THIS PHRASE SKIPPED       PSC08780
                          BSI   3 DOERR-BASE   DUE TO PREVIOUS ERRORS   PSC08800
                          B       CHVAB         AND BRANCH              PSC08820
                    XFC   DC      /FC                                   PSC08840
                    CHVA2 LD    2 PLSW1-BASEL CHECK FOR                 PSC08860
                          AND   3 SWBPH-BASE   PREVIOUS PHR BLANK       PSC08880
                          BNZ     CHVA4         LEVEL AND BR YES        PSC08900
                          LD    2 PLSW1-BASEL IF THIS IS A UTILITY      PSC08920
                          AND   3 SWUTL-BASE  LEVEL COMMAND             PSC08940
                          BNZ     CHVA6       THEN BRANCH               PSC08960
                          LD    2 PLSW1-BASEL SAVE                      PSC08980
                          RTE     8            CURRENT                  PSC09000
                          AND     XFC           LEVEL                   PSC09020
                          OR    3 CLEVL-BASE     IN                     PSC09040
                          SLT     8               THE                   PSC09060
                          STO   2 PLSW1-BASEL      LOADER               PSC09080
                    CHVA4 EQU     *                                     PSC09100
                          LD    2 PLSW1-BASEL TURN OFF                  PSC09120
                          OR    3 SWERL-BASE                            PSC09140
                          EOR   3 SWERL-BASE  PREVIOUS                  PSC09160
                          STO   2 PLSW1-BASEL   ERROR SWITCH            PSC09180
                    CHVA6 EQU     *                                     PSC09200
                          LD    3 SWSTS-BASE  CHECK FOR STATEMENT SAVE  PSC09220
                          BZ      CHVB3       IF NOT, BRANCH            PSC09240
                          CALL    LIST        PUT PSTSV                 PSC09260
                          DC      K2          ON POP-UP                 PSC09280
                          DC      PSTSV+2     LIST                      PSC09300
                    CHVB3 EQU     *                                     PSC09320
                          BSI   3 DWAIT-BASE  QUIESCE ALL DISK I/O      PSC09340
                          LD    2 PLSW1-BASEL WAS A PHRASE              PSC09360
                          AND   3 SWREP-BASE  PUSHED FROM CHECKENTRY,   PSC09380
                          BZ      CHVB5       BRANCH NO                 PSC09400
                          LDD   3 INPAX-BASE  WRITE PUSHED PHRASE       PSC09420
                          BSI   3 WRITE-BASE  TO PFINPUTA               PSC09440
                          LD    3 SWUSR-BASE  WERE ANY USER EXITS       PSC09460
                          BZ      PSCAN+2     DONE, BR NO. OTHERWISE    PSC09480
                          LDX   1 $PSLD       SET XR1 TV INDICATOR      PSC09500
                          B    L  $LXEQ       AND GO RELOAD PSCAN       PSC09520
                    *                                                   PSC09540
                    CHVB5 EQU     *                                     PSC09560
                          LD   I  $TABA       ARE THERE ANY             PSC09580
                          SKP     +-           PROGRAMS OR              PSC09600
                          LD    2 $ERCO-BASEL   ERRORS TO DO            PSC09620
                          SKP     +-            OR USER                 PSC09640
                          LD    3 SWUSR-BASE    EXITS DONE              PSC09660
                          BZ      PSCAN+2       AND BR NO               PSC09680
                          LDRXQ                                         PSC09700
                    CHVAB EQU     *                                     PSC09720
                          LD    2 $TABB-$B    CLEAR POP-UP              PSC09740
                          STO   2 $TABA-$B    PROGRAM LIST              PSC09760
                          LD    2 PLSW1-BASEL TURN OFF                  PSC09780
                          OR    3 SWREP-BASE  REPEAT SWITCH             PSC09800
                          EOR   3 SWREP-BASE  IN CASE A PHRASE          PSC09820
                          STO   2 PLSW1-BASEL WAS PUSHED                PSC09840
                          B       CHVB3          AND BRANCH             PSC09860
                          BSS  E  0                                     PSC09880
                    PSTSV EBC     .V   PSTS.  PSTSV PROGRAM NAME        PSC09900
                          EJCT                                          PSC09920
                          SYMPT                                         PSC09940
                          INSAV                                         PSC09960
                          GETPG                                         PSC09980
                          SRCHT                                         PSC10000
                          GETPH                                         PSC10020
                          CHAR                                          PSC10040
                          INTGR                                         PSC10060
                    *************************************************** PSC10080
                    * DISK-READ,WRITE AND WAIT SUBROUTINES. FOR READ  * PSC10100
                    *      OR WRITE ACCUMULATOR AND EXTENSION MUST    * PSC10120
                    *      CONTAIN THE CORE ADDRESS OF I/O AREA AND   * PSC10140
                    *      RELATIVE PFILE SECTOR ADDRESS RESPECTIVELY * PSC10160
                    *************************************************** PSC10180
                    READX EQU     *                                     PSC10200
                          DC      *-*         (ENTRY POINT)             PSC10220
                          LDS     1           TURN ON READ SWITCH       PSC10240
                          B       RWCOM       AND BRANCH                PSC10260
                    WRITX EQU     *                                     PSC10280
                          DC      *-*         (ENTRY POINT)             PSC10300
                          LDS     0           SET WRITE SWITCH          PSC10320
                    RWCOM EQU     *                                     PSC10340
                          STX   1 RDWX1+1     SAVE XR1                  PSC10360
                          STO     *+1         SET BUFFER                PSC10380
                          LDX  L1 *-*         ADDRESS IN XR1            PSC10400
                    RDWA4 EQU     *-1                                   PSC10420
                          XCH                 GET PFILE DISP IN ACC     PSC10440
                          BO      RDWC0       BRANCH IF READ REQUEST    PSC10460
                          A    L  $FILE       COMPUTE SECTOR ADDRESS    PSC10480
                          STO     RDWA4       AND SAVE                  PSC10500
                          EOR   1 -1          IS IT SAME AS LAST REQ.   PSC10520
                          BZ      RDWA8       IF YES, BRANCH            PSC10540
                          BSI  I  $XPRG       PURGE BUFFER IF QUEUED    PSC10560
                          LD      RDWA4       GET SECTOR ADDRESS        PSC10580
                          STO   1 -1          AND PUT IN BUFFER         PSC10600
                    RDWA8 EQU     *                                     PSC10620
                          BSI  I  $XPUT       QUEUE BUFFER OUT          PSC10640
                          LD      WRITX       GET RETURN ADDRESS        PSC10660
                          STO     RWEX        AND SET                   PSC10680
                    RDWX1 LDX  L1 *-*         RESTORE XR1               PSC10700
                          B    L  *-*         AND RETURN TO CALLER      PSC10720
                    RWEX  EQU     *-1                                   PSC10740
                    *                                                   PSC10760
                    *                                                   PSC10780
                    RDWC0 EQU     *                                     PSC10800
                          A    L  $FILE       COMPUTE SECTOR ADDRESS    PSC10820
                          BSI  I  $XGET       READ IT                   PSC10840
                          LD      READX       GET RETURN ADDRESS        PSC10860
                          B       RDWX1-1     AND BRANCH                PSC10880
                    *                                                   PSC10900
                    *                                                   PSC10920
                    WAITD EQU     *                                     PSC10940
                          MDM     DBUSY,0     QUIESCE ALL DISK I/O      PSC10960
                          B       *-3         LOOP UNTIL COMPLETE       PSC10980
                          LD      DWSPC       CHECK SPECIAL EXIT        PSC11000
                          BZ   I  DWAIT       AND EXIT IF NOT ON        PSC11020
                          STO     *+3         SET EXIT ADDRESS          PSC11040
                          SLA     16          TURN OFF                  PSC11060
                          STO     DWSPC       SPECIAL EXIT              PSC11080
                          B    L  *-*         AND BRANCH                PSC11100
                    DWSPC DC      *-*         SPECIAL DISK WAIT EXIT    PSC11120
                    *                                                   PSC11140
                    * BUFFER PURGE ROUTINE                              PSC11160
                    PURGX EQU     *                                     PSC11180
                          STX   1 PURX1       SAVE XR1                  PSC11200
                          STO     *+1         SET BUFFER                PSC11220
                          LDX  L1 *-*         ADDRESS IN XR1            PSC11240
                          BSI  I  $XPRG       PURGE BUFFER              PSC11260
                          LDX  L1 *-*         RESTORE XR1               PSC11280
                    PURX1 EQU     *-1                                   PSC11300
                          B    I  PURGE       RETURN TO CALLER          PSC11320
                          EJCT                                          PSC11340
                    *************************************************** PSC11360
                    * DOERR - ERROR PROCESSING ROUTINE                * PSC11380
                    *************************************************** PSC11400
                    DOERX EQU     *                                     PSC11420
                          MDM     SWGTS,0     ARE WE IN GO TO           PSC11440
                          B       ERRA4+1      SEARCH AND BR YES        PSC11460
                          LD    3 K1-BASE     TURN ON                   PSC11480
                          STO   3 SWERR-BASE   ERROR SWITCH             PSC11500
                          STX   1 ERRNM       SET ERROR NUMBER          PSC11520
                          LD      ERRNM       TURN ON                   PSC11540
                          A     3 K200-BASE                             PSC11560
                          EOR   3 X8000-BASE   SYSTEM ERROR             PSC11580
                          STO     ERRNM         INDICATOR               PSC11600
                          LD    3 ERLIT-BASE  SET ADDRESS OF            PSC11620
                          STO     ERRA4        ERROR LITERAL COUNT      PSC11640
                          BSI  L  INSAV       SAVE INPUT IMAGE          PSC11660
                          LD    3 ERCOD-BASE  CHECK ERROR CODE          PSC11680
                          BNZ     ERRA3-1      AND BR IF SUPPLIED       PSC11700
                          LD    3 POINT-BASE  SET                       PSC11720
                          S     3 INPUX-BASE    TO INPUT                PSC11740
                          STO     ERRNM+1        CURSOR                 PSC11760
                    ERRA3 CALL    ERRAT       PROCESS ERROR             PSC11780
                          DC      ERRNM                                 PSC11800
                          DC      ERRNM+1                               PSC11820
                    ERRA4 DC      *-*                                   PSC11840
                          B    I  DOERR       RETURN TO CALLER          PSC11860
                    ERRNM DC      *-*           ERROR NUMBER            PSC11880
                          DC      *-*         ERROR CODE OR CURSOR      PSC11900
                          EJCT                                          PSC11920
                          EDUMP                                         PSC11940
                          TCKNT                                         PSC11960
                          SYM                                           PSC11980
                          DTAIN                                         PSC12000
                          NUMCL                                         PSC12020
                          LITRL                                         PSC12040
                          EXPEV                                         PSC12060
                          EVALU                                         PSC12080
                          RECUR                                         PSC12100
                    *************************************************** PSC12120
                    *                   ERROR  CODES                  * PSC12140
                    *************************************************** PSC12160
                    ERR01 EQU     1    PHRASE SKIPPED DUE TO PREV ERROR PSC12180
                    ERR10 EQU     10   LEVEL 0 PHRASE NOT ENCOUNTERED   PSC12200
                    ERR20 EQU     20   LEVEL 1 PHRASE NOT ENCOUNTERED   PSC12220
                    ERR21 EQU     21   UNDEFINED PHRASE                 PSC12240
                    ERR22 EQU     22   STATEMENT OVER 450 CHARACTERS    PSC12260
                    ERR23 EQU     23   CHECK ENTRY ERROR                PSC12280
                    ERR27 EQU     27   UNDEFINED SYMBOL                 PSC12300
                    ERR30 EQU     30   OVER 8 VERBS IN STATMENT         PSC12320
                    ERR31 EQU     31   DITTO WRD FRM COMMON NOT ALPHA   PSC12340
                    ERR32 EQU     32   EXEC-DEF SYMBOL SUBS NOT POS     PSC12360
                    ERR33 EQU     33   EXEC-DEF SYMBOL SUBS TOO BIG     PSC12380
                    ERR34 EQU     34   INSUFFICIENT RM IN DATA SAV FILE PSC12400
                    ERR35 EQU     35   MANAGED ARRAY TOO LARGE FOR SYST PSC12420
                    ERR36 EQU     36   INIT VALUE SUBS TOO BIG FOR SYS  PSC12440
                    ERR37 EQU     37   SUBSCRIPT TOO BIG FOR SYSTEM     PSC12460
                    ERR40 EQU     40   1ST CHAR NOT COMMA,COLOR ON SEM  PSC12480
                    ERR41 EQU     41   ILLEGAL CHARACTER                PSC12500
                    ERR42 EQU     42   SEMIC IN LITERAL OR EMPTY LITERY PSC12520
                    ERR43 EQU     43   NO. TOO LARGE TO REPRESENT       PSC12540
                    ERR44 EQU     44   IMPLIED-DO NOT FOLWD BY SNGL VAL PSC12560
                    ERR45 EQU     45   OVER 1000 EXPR GO-TO'S EXECUTED  PSC12580
                    ERR46 EQU     46   CHECK-ENTRY SUBSCRIPT TOO BIG    PSC12600
                    ERR47 EQU     47   RSYM SUBSCRIPT OUTSIDE COMMON    PSC12620
                    ERR55 EQU     55   PHRASE PUSHED,STMNT SAVE INVLD   PSC12640
                    ERR63 EQU     63   INVALID FORMAT IN EXPRESSION     PSC12660
                    ERR66 EQU     66   BCD LEFT PAREN IN LOGICAL EXPR   PSC12680
                    ERR69 EQU     69   EXPRESSION TOO COMPLICATED       PSC12700
                    ERR72 EQU     72   INVALID FORMAT IN ALPHA RELAT EX PSC12720
                    ERR75 EQU     75   INV FORMAT IN SUBS EXPRESSION    PSC12740
                    ERR78 EQU     78   UNBALANCED PAREN IN EXPRESSION   PSC12760
                    ERR81 EQU     81   INV FORMAT IN CONDITIONAL EXPR   PSC12780
                    ERR84 EQU     84   INV FORMAT IN RELATIONAL EXPR    PSC12800
                    ERR87 EQU     87   INVALID END OF EXPRESSION        PSC12820
                    ERR90 EQU     90   LOGICAL EOF FOUND IN INPUT       PSC12840
                    ERR91 EQU     91   INVALID END OF PLAN JOB          PSC12860
                    ER101 EQU     101  PROGRAM NOT IN PLAN LIBRARY      PSC12880
                    ER103 EQU     103  PROGRAM TOO LARGE FOR MEMORY     PSC12900
                          BSS     20          PATCH AREA                PSC12920
                          END     PSCAN                                 PSC12940
// DUP                                                                  PSC12960
*DUMP       WS  CD  PSCAN                                               PSC12980
*DELETE             PSCAN                                               PSC13000
*STORECI    WS  UA  PSCAN                                               PSC13020
