MAINLUP 
         IDENT     MAINLUP                                              MAINLUP      1
         TITLE MICRO-PROCESSOR                                          MAINLUP      2
*CALL,SNODEF                                                            MAINLUP      3
*  LOWCORE                                                              MAINLUP      4
          EXT       ISVB1,ISVX5                                         MAINLUP      5
*  ERROR                                                                MAINLUP      6
         EXT   NOEND                                                    MAINLUP      7
         EXT   ERR2,ERR3,ERR4,ERR6,ERR7,ERR9                            MAINLUP      8
         EXT   ERR13,ERR14,ERR19                                        MAINLUP      9
         EXT   ERR21,ERR27,ERR28                                        MAINLUP     10
         EXT   ERR32,ERR37,ERR38                                        MAINLUP     11
         EXT   ADDS1,SUBTRS,DIVS,MULTS,EXP                              MAINLUP     12
*  MAINLUP                                                              MAINLUP     13
         ENTRY NEXTMIC,SNDMIC,FAIL                                      MAINLUP     14
         ENTRY CHEK,SCATS,MCOPTBL,JPB1,SKIPONE                          MAINLUP     15
         ENTRY PMFOUND,PMABT                                            MAINLUP     16
         ENTRY CTSFSS0                                                  MAINLUP     17
         ENTRY ITYWD,SSTYWD                                             MAINLUP     18
         ENTRY LUNDF,LRET,LFRET,LNRET,LEND                              MAINLUP     19
         ENTRY SACHEK,PMSF,TENTO10                                      MAINLUP     20
         ENTRY CALL,CALLA                                               MAINLUP     21
         ENTRY NULL0,STAK2,SELSTR                                       MAINLUP     22
         ENTRY END.                                                     MAINLUP     23
*  STORMAN                                                              MAINLUP     24
         EXT   PUSHSTK,RESERVE,MORFREE,GETSTAK,GRBCOLL,RESHB            MAINLUP     25
         EXT   HBC,SELFCHK                                              MAINLUP     26
*  UTILITY                                                              MAINLUP     27
         EXT   ITOS,SSTOS,STOSFX6,PTOPX4,ICX1X6,ZROX7,SSTOSF,ITOSF      MAINLUP     28
         EXT   ITOSFTP,SOPERND,X1VALUE,FREESVD,SASSIGN,INDRCT,INDRX     MAINLUP     29
         EXT   SEARCH,FREESTR                                           MAINLUP     30
         EXT   DECFIL,SCHHBC                                            MAINLUP     31
*  PATMAT                                                               MAINLUP     32
         EXT   PRDPM,DOLPM,ENDEXPM,ALTPM,EXPPM,ARBPM,LENPM,POSPM        MAINLUP     33
         EXT   RPOSPM,TABPM,REMPM,BALPM,FAILPM,FENCEPM,ABORTPM          MAINLUP     34
         EXT   ARBNOPM,STARPM,LITPM,ANYPM,NTANYPM,SPANPM,BREAKPM        MAINLUP     35
         EXT   ENTER,SETSIPI,NALTPMP                                    MAINLUP     36
*  IO                                                                   MAINLUP     37
         EXT   INPUT,OUTPUT,CLOSALL                                     MAINLUP     38
         EXT   RTERROR                                                  MAINLUP     39
          EXT       LSCMOUT                                             MAINLUP     40
*  DECLARE SOME PARAMETERS                                              MAINLUP     41
MARK     EQU   377777B             . LARGEST POSITIVE ADDRESS           MAINLUP     42
         EJECT                                                          MAINLUP     43
         TITLE TABLE OF MICRO-OPERATIONS                                MAINLUP     44
         MACRO MICOP,A,B,C,D,E                                          MAINLUP     45
A        EQU   *-MCOPTBL                                                MAINLUP     46
         IFC   EQ,/E//                                                  MAINLUP     47
+        VFD   12/0400B,18/B,7/C,5/D,18/B  . = EQ B0,B0,B ...           MAINLUP     48
         ELSE                                                           MAINLUP     49
+        VFD   30/-1,7/C,5/D,18/B                                       MAINLUP     50
         ENDIF                                                          MAINLUP     51
         ENDM                                                           MAINLUP     52
MCOPTBL  BSS   0                                                        MAINLUP     53
XNOOP    MICOP NOOP,0,2                                                 MAINLUP     54
XCATCHK  MICOP CATCHEK,0,0                                              MAINLUP     55
XALTCHK  MICOP ALTCHEK,0,0                                              MAINLUP     56
XPMCHK   MICOP PMCHEK,0,0                                               MAINLUP     57
XASCHK   MICOP ASCHEK,0,0                                               MAINLUP     58
XMCHEK   MICOP MCHEK,0,0                                                MAINLUP     59
XDCHEK   MICOP DCHEK,0,0                                                MAINLUP     60
XCONCAT  MICOP CONCAT,0,0                                               MAINLUP     61
XALT     MICOP ALTER,0,0                                                MAINLUP     62
XADD     MICOP ADD,0,0                                                  MAINLUP     63
XSUBTR   MICOP SUBTR,0,0                                                MAINLUP     64
XUNADD   MICOP UNADD,0,0                                                MAINLUP     65
XUNSUB   MICOP UNSUB,0,0                                                MAINLUP     66
XMULT    MICOP MULT,0,0                                                 MAINLUP     67
XDIV     MICOP DIV,0,0                                                  MAINLUP     68
XEXP     MICOP EXP,0,0                                                  MAINLUP     69
XPM      MICOP PM,0,0                                                   MAINLUP     70
XPRD     MICOP PRD,0,6                                                  MAINLUP     71
XDOL     MICOP DOL,0,6                                                  MAINLUP     72
XSTAR    MICOP STAR,0,6                                                 MAINLUP     73
XASGN    MICOP ASGN,0,4                                                 MAINLUP     74
XASGNPM  MICOP ASGNPM,0,4                                               MAINLUP     75
XSUBCM   MICOP SUBCOM,0,0                                               MAINLUP     76
XPARAM   MICOP PARAM,0,0                                                MAINLUP     77
XSKIP    MICOP SKIP,0,0                                                 MAINLUP     78
XINDRCN  MICOP INDRCN,0,0                                               MAINLUP     79
XINDRCV  MICOP INDRCV,XINDRCN,2                                         MAINLUP     80
XNOEND   MICOP END,0,0                                                  MAINLUP     81
XZERO    MICOP ZERO,0,2                                                 MAINLUP     82
XNULL    MICOP NULL,0,2                                                 MAINLUP     83
XARRAY   MICOP ARRAY,0,1                                                MAINLUP     84
XARRAYN  MICOP ARRAYN,0,2                                               MAINLUP     85
XARRAYV  MICOP ARRAYV,XARRAYN,3                                         MAINLUP     86
XCALL    MICOP CALL,0,12B,SPEC                                          MAINLUP     87
XNAME    MICOP NAME,0,1                                                 MAINLUP     88
XOPRND   MICOP OPRND,XNAME,23B                                          MAINLUP     89
XGOX     EQU   *-MCOPTBL-1                                              MAINLUP     90
XGOS     MICOP GOS,0,2,SPEC                                             MAINLUP     91
XGOF     MICOP GOF,0,2,SPEC                                             MAINLUP     92
XGOTO    MICOP GOTO,0,2,SPEC                                            MAINLUP     93
XGOTOT   MICOP GOTOT,0,2                                                MAINLUP     94
XGOTOC   MICOP GOTOC,0,2                                                MAINLUP     95
XGOREL   MICOP GOREL,0,2                                                MAINLUP     96
XNOFAIL  MICOP NOFAIL,0,2                                               MAINLUP     97
         TITLE MICRO PROCESSOR: MAIN LOOP                               MAINLUP     98
*                                                                       MAINLUP     99
NEXTMIC  SA5   A5-1                . NEXT MICRO-OPERATION               MAINLUP    100
         SB1   X5                  . OPERATION PART                     MAINLUP    101
         AX5   18                  . ADDRESS PART                       MAINLUP    102
         NG    X5,NEWRULE          . BRANCH IF END OF RULE              MAINLUP    103
         JP    B1+0                . BRANCH TO THE CODE FOR THE MICOP   MAINLUP    104
*                                                                       MAINLUP    105
NOOP     EQU   NEXTMIC                                                  MAINLUP    106
*                                                                       MAINLUP    107
NEWRULE  SA1   STCOUNT             . BUMP STCOUNT                       MAINLUP    108
         SA2   INTRPT              . AND CHECK AGAINST INTRPT           MAINLUP    109
         MX0   59                                                       MAINLUP    110
         IX7   X1-X0                                                    MAINLUP    111
         IX2   X1-X2                                                    MAINLUP    112
         SA7   A1                                                       MAINLUP    113
         PL    X2,SERVICE          . BRANCH IF INTERRUPT                MAINLUP    114
         JP    B1                                                       MAINLUP    115
*                                                                       MAINLUP    116
 GOTO    SB1   GOTO1               . GOTO TERMINATES THE RULE           MAINLUP    117
         PL    X5,NEWRULE                                               MAINLUP    118
GOTO1    SA4   X5+0                . FETCH CPD                          MAINLUP    119
         SB2   A5                  . SAVE A5 IN CASE OF UNDEF ERROR     MAINLUP    120
         SA5   X4                  . FETCH MICOP ADDRESSED              MAINLUP    121
         SB1   X5                  . SEE ALSO NEXTMIC                   MAINLUP    122
         AX5   18                                                       MAINLUP    123
         NG    X5,NEWRULE                                               MAINLUP    124
         JP    B1                                                       MAINLUP    125
*                                                                       MAINLUP    126
*  THE GOS AND GOTO MICOP CODES MUST BE DIFFERENT                       MAINLUP    127
GOS      EQ    GOTO                . SLIGHTLY DIFFERENT THAN GOTO       MAINLUP    128
*                                                                       MAINLUP    129
SNDMIC   SA5   A5                  . HIGH ORDER MICRO-INSTRUCTION       MAINLUP    130
         MX0   55                                                       MAINLUP    131
         LX5   6                                                        MAINLUP    132
         BX1   -X0*X5              . MASK OFF OPERATION CODE            MAINLUP    133
         AX5   42                  . ADDRESS PART OF X5                 MAINLUP    134
         SB1   X1                  . MCOPTBL CONTAINS EQ JUMPS TO THE   MAINLUP    135
         JP    B1+MCOPTBL          . CODE FOR THE PARTICULAR MICOP      MAINLUP    136
*                                                                       MAINLUP    137
*  THE NEXT FEW WORDS ARE ADDRESSED BY STANDARD                         MAINLUP    138
*  LABELS.  THE FORMAT IS THAT OF A MICOP.                              MAINLUP    139
LUNDF    VFD   24/0,18/0,18/UNDFLB . UNDEFINED LABEL                    MAINLUP    140
LRET     VFD   24/0,18/-1,18/RETURN                                     MAINLUP    141
LFRET    VFD   24/0,18/-2,18/RETURN                                     MAINLUP    142
LNRET    VFD   24/0,18/-3,18/RETURN                                     MAINLUP    143
LEND     VFD   24/0,18/0,18/END                                         MAINLUP    144
*                                                                       MAINLUP    145
UNDFLB   SA5   B2                  . RESET A5 TO OFFENDING MICOP        MAINLUP    146
ERR10    ERROR 10                  . UNDEFINED LABEL                    MAINLUP    147
*                                                                       MAINLUP    148
FAIL     SA1   INFAIL              . FAILURE IN CURRENT RULE            MAINLUP    149
         NG    X1,ERR9             .  ERROR IF IN GO TO PART            MAINLUP    150
         CALL  SSKIP               . SKIP OPERANDS ON THE STACK         MAINLUP    151
         SB2   GOF                                                      MAINLUP    152
         SB4   GOTO                                                     MAINLUP    153
         SA5   A5                  . REFETCH CURRENT MICOP WORD         MAINLUP    154
         SB3   X5                  . MICOP RIGHT ACTION                 MAINLUP    155
         JP    FAIL2A                                                   MAINLUP    156
FAIL2    SA5   A5-1                . SKIP MICOPS UNTIL END OF THE RULE  MAINLUP    157
         SB3   X5+0                .  OR A GOF JUMP IS FOUND.           MAINLUP    158
FAIL2A   EQ    B2,B3,FAIL3         . GOF JUMP                           MAINLUP    159
         EQ    B3,B4,FAIL3         . UNCONDITIONAL JUMP                 MAINLUP    160
         PL    X5,FAIL2                                                 MAINLUP    161
         EQ    NEXTMIC                                                  MAINLUP    162
 FAIL3   AX5   18                                                       MAINLUP    163
         SX5   X5                                                       MAINLUP    164
         PL    X5,GOTO1            . SPECIAL STOP-SCAN GOF IF NEGATIVE  MAINLUP    165
 GOF     EQ    NEXTMIC             . GOF IS IGNORED OTHERWISE           MAINLUP    166
*                                                                       MAINLUP    167
GOREL    SB5   A5                  . MICRO OPERATION RELATIVE GOTO      MAINLUP    168
         SA5   X5+B5                                                    MAINLUP    169
         EQ    NEXTMIC                                                  MAINLUP    170
*                                                                       MAINLUP    171
*  CALL IS THE LAST OF BRANCH TYPE MICOPS                               MAINLUP    172
 CALL    RJ    SPARAM              . MICRO OPERATION- CALL              MAINLUP    173
CALLA    SA4   X5                  . FETCH FUD                          MAINLUP    174
         PL    X4,CALL0            . BRANCH IF NOT STANDARD PROCEDURE   MAINLUP    175
*  CALL STANDARD PROCEDURE                                              MAINLUP    176
         LX5   19                                                       MAINLUP    177
         SB1   X4                                                       MAINLUP    178
         NG    X5,CALLST1          . BRANCH IF N BIT IN MICOP IS SET    MAINLUP    179
         AX5   18+19               . NUMBER OF PARAMS TO X5             MAINLUP    180
 JPB1    JP    B1                                                       MAINLUP    181
CALLST1  LX4   2                   . CHECK IF NRETURN IS ALLOWED        MAINLUP    182
         AX5   18+19                                                    MAINLUP    183
         NG    X4,JPB1                                                  MAINLUP    184
 ERR25   ERROR 25                  . ERROR- NRETURN EXPECTED            MAINLUP    185
*                                                                       MAINLUP    186
*  INTERRUPT SERVICE, CALL HBC OR SELFCHECK AS REQUIRED                 MAINLUP    187
SERVICE  SA2   STLIM                                                    MAINLUP    188
         SA3   STATWD                                                   MAINLUP    189
         IX2   X1-X2                                                    MAINLUP    190
         PL    X2,ERR19            . ERROR, STATEMENT LIMIT EXCEEDED    MAINLUP    191
          MX7       0                                                   MAINLUP    192
          SA2       A5             . FIND OUT IF X5 POINTED TO BY A5    MAINLUP    193
          AX2       18                                                  MAINLUP    194
          IX2       X2-X5                                               MAINLUP    195
          ZR        X2,SRVC        . A5 POINTS TO X5                    MAINLUP    196
          MX7       1              . SIGNAL X5 IS HEAP BLOCK POINTER    MAINLUP    197
SRVC      SX0       B1                                                  MAINLUP    198
          BX7       X7+X0          . SAVE B1 AND FLAG FOR X5            MAINLUP    199
          SA7       ISVB1                                               MAINLUP    200
          BX7       X5             . NOW SAVE X5                        MAINLUP    201
          SA7       ISVX5                                               MAINLUP    202
XX       IFNE  TRCFLG,0                                                 MAINLUP    203
         SX6   STATTRC                                                  MAINLUP    204
         BX4   X6*X3                                                    MAINLUP    205
         ZR    X4,SRVC0            . TRACE NOT SCHEDULED                MAINLUP    206
         BX6   -X6*X3                                                   MAINLUP    207
         SA6   A3                                                       MAINLUP    208
         TRACE                     . TURN ON TRACE                      MAINLUP    209
         TRACE LIST                .   AND SET MODE TO -LIST-           MAINLUP    210
SRVC0    LX3   60-1                                                     MAINLUP    211
XX       ELSE                                                           MAINLUP    212
         LX3   60-1                                                     MAINLUP    213
XX       ENDIF                                                          MAINLUP    214
         PL    X3,SRVC1                                                 MAINLUP    215
         RJ    HBC                 . CALL HBC IF SCHEDULED              MAINLUP    216
SRVC1    SA3   STATWD                                                   MAINLUP    217
         SX7   STATHBC                                                  MAINLUP    218
         BX7   -X7*X3              . TURN HBC BIT OFF                   MAINLUP    219
         SA7   A3+0                                                     MAINLUP    220
         LX3   60-2                                                     MAINLUP    221
         PL    X3,SRVC2                                                 MAINLUP    222
         RJ    SELFCHK             . CALL SELFCHECK IF STATSC BIT IS SETMAINLUP    223
         SA1   STCOUNT             . NEXT INTERRUPT                     MAINLUP    224
         SA2   FREQWD              . FREQ STATEMENTS FROM NOW           MAINLUP    225
         IX3   X1+X2                                                    MAINLUP    226
         JP    SRVC3                                                    MAINLUP    227
SRVC2    SA3   STLIM               . OR AT STLIM                        MAINLUP    228
SRVC3    BX7   X3                                                       MAINLUP    229
         SA7   INTRPT                                                   MAINLUP    230
          SA1       ISVB1                                               MAINLUP    231
          SB1       X1             . RESTORE B1                         MAINLUP    232
          NG        X1,SRVC4       . RESTORE X5 FROM ISVX5              MAINLUP    233
          SA5       A5             . RESTORE X5 FROM A5                 MAINLUP    234
          AX5       18             . FORMAT X5 PROPERLY                 MAINLUP    235
          JP        B1                                                  MAINLUP    236
SRVC4     SA1       ISVX5                                               MAINLUP    237
          BX5       X1             . RESTORE X5                         MAINLUP    238
         JP    B1                                                       MAINLUP    239
*                                                                       MAINLUP    240
*  MICRO OPERATION-SKIP                                                 MAINLUP    241
*  SKIP OPERANDS IN STACK.  RELEASE SF TYPE STRINGS,                    MAINLUP    242
*  DECREMENT REFERENCE COUNTS FOR ATY, DTY AND NTY.                     MAINLUP    243
 SKIP    SB1   NEXTMIC             . RETURN ADDRESS FOR SSKIP           MAINLUP    244
 SSKIP   SA1   B6                                                       MAINLUP    245
         NG    X1,JPB1             . FINISHED IF RETURN INFO            MAINLUP    246
         SB2   X1                  . BYPASS TO B2                       MAINLUP    247
         ZR    X1,JPB1             . FINISHED IF BOTTOM OF STACK        MAINLUP    248
         AX1   55                  . TYPE TO X1                         MAINLUP    249
         SB6   B6-B2                                                    MAINLUP    250
         SX0   X1-ATY                                                   MAINLUP    251
         ZR    X1,SSKIP2           . BRANCH IF SF TYPE                  MAINLUP    252
         NG    X0,SSKIP            . BRANCH IF NOT ATY, DTY ETC.        MAINLUP    253
         SX0   X1-CTY                                                   MAINLUP    254
         PL    X0,SSKIP                                                 MAINLUP    255
         SB3   B6+B2                                                    MAINLUP    256
         SB3   B3-1                . B3 POINTS TO ATY ETC. SVD          MAINLUP    257
         RJ    FREESTR             . DECR. REF. COUNT                   MAINLUP    258
         JP    SSKIP                                                    MAINLUP    259
 SSKIP2  SA1   A1-1                                                     MAINLUP    260
         SX7   B7                  . THIS IS HOW TO RELEASE             MAINLUP    261
         SB7   X1                  . A LIST WITH SVD IN X1              MAINLUP    262
         AX1   18                                                       MAINLUP    263
         SA7   X1                                                       MAINLUP    264
         EQ    SSKIP                                                    MAINLUP    265
*                                                                       MAINLUP    266
NOFAIL       MX7    1              . MICRO OPERATION                    MAINLUP    267
         SA7   INFAIL              . SET VARIABLE TO SIGNAL ERROR       MAINLUP    268
             EQ     SNDMIC         .  ON FAILURE (IN GO TO PART)        MAINLUP    269
*                                                                       MAINLUP    270
GOTOC        SA1    B6             . MICRO OPERATION                    MAINLUP    271
             AX1    55             .  TRANSFER CONTROL TO TRANSLATED    MAINLUP    272
             SB1    X1-CTY         .  CODE                              MAINLUP    273
             NE     B1,B0,ERR34    . TOP OPERAND HAS TO BE OF CODE TYPE MAINLUP    274
         SX6   B6-1                . ADDRESS OF CPD TO X6               MAINLUP    275
*  NOW SIMULATE A GOTO WITH OPERAND = THE CONTENTS OF X6.               MAINLUP    276
GOTOC1   MX0   60-18               . INSERT NEW OPERAND                 MAINLUP    277
         BX5   X0*X5               .   INTO X5,                         MAINLUP    278
         BX5   X5+X6               .     PRESERVING THE RULE BIT        MAINLUP    279
         BX7   X7-X7               . =0                                 MAINLUP    280
         SA7   INFAIL              . REALLOW FAILURES                   MAINLUP    281
         SB6   B6-2                . REMOVE TOP OPERAND                 MAINLUP    282
         JP    GOTO                                                     MAINLUP    283
*                                                                       MAINLUP    284
GOTOT        SA2    GTTWD          . MICRO OPERATION                    MAINLUP    285
             SB3    GTTSW          .  GO TO THE LABEL DESCRIBED AT THE  MAINLUP    286
             EQ     CHEK           .  TOP OF THE STACK                  MAINLUP    287
*                                                                       MAINLUP    288
GTTWD        SWITCH  GTTSW,2,1,3,3,0,0,0,0,0,0,0,0,0,0,0                MAINLUP    289
ERR34        ERROR  34             . 0, P,I,R,A,D,N,C                   MAINLUP    290
+            RJ     SCATS          . 1, S                               MAINLUP    291
+            SA4    B6-1           . 2, SF                              MAINLUP    292
             EQ     GOTOT1                                              MAINLUP    293
+            SA4    B6-1           . 3, SS,SI                           MAINLUP    294
             SA4    X4+0                                                MAINLUP    295
*  NOTE:   B4 CONTAINS 0 IFF TYPE IS SF                                 MAINLUP    296
GOTOT1       SX0    LBLTYP         . SEARCH FOR LABEL TYPE              MAINLUP    297
             BX1    X4             . FIRST TO B5                        MAINLUP    298
             SB5    X4                                                  MAINLUP    299
             AX1    36                                                  MAINLUP    300
             LX0    55                                                  MAINLUP    301
             SB3    X1             . LENGTH TO B3                       MAINLUP    302
             RJ     SEARCH         . PERFORM SEARCH                     MAINLUP    303
             ZR     X1,ERR10       . ERROR IF NOT FOUND                 MAINLUP    304
         SX6   X1                  . ADDRESS OF CPD TO X6 (SEE GOTOC1)  MAINLUP    305
             SX7    B7                                                  MAINLUP    306
             NE     B4,B0,GOTOC1                                        MAINLUP    307
             SB7    X4             . RELEASE OPERAND IF SF              MAINLUP    308
             AX4    18                                                  MAINLUP    309
             SA7    X4                                                  MAINLUP    310
             EQ     GOTOC1         . COMPLETE GO TO                     MAINLUP    311
*                                                                       MAINLUP    312
*  MICRO-OPERATION END                                                  MAINLUP    313
*  NORMAL END OF EXECUTION.                                             MAINLUP    314
END      RJ    CLOSALL             . TERMINATE ALL OUTPUT-TYPE FILES    MAINLUP    315
          RJ        LSCMOUT                                             MAINLUP    316
END.     SX7   3LEND               . MONITOR REQUEST TO QOUT            MAINLUP    317
          LX7      42                                                   MAINLUP    318
ENDLOOP  SA7   1                                                        MAINLUP    319
         JP    ENDLOOP             . IDLE                               MAINLUP    320
         TITLE MICRO PROCESSOR: ACTIONS                                 MAINLUP    321
CATCHEK  SB3   CATCSW              . MICRO OPERATION                    MAINLUP    322
         SA2   CATCWD              .  CHECK LEFT OPERAND FOR CONCAT     MAINLUP    323
*                                                                       MAINLUP    324
*  CHEK                                                                 MAINLUP    325
*  DISPATCH ON TYPE OF TOP OPERAND                                      MAINLUP    326
*  PARAM:   B3  POINTS TO THE DISPATCH VECTOR                           MAINLUP    327
*           X2  CONTAINS THE TYPE CLASSES AS GENERATED BY               MAINLUP    328
*               THE -SWITCH- MACRO                                      MAINLUP    329
*  RESULT:  B4  IS 0 IFF TYPE WAS SF                                    MAINLUP    330
*  X0,X1,X2,B4                                                          MAINLUP    331
*                                                                       MAINLUP    332
CHEK     SA1   B6+0                . FETCH TOP OPERAND                  MAINLUP    333
         AX1   55                  . TYPE PART TO X1                    MAINLUP    334
         LX1   2                                                        MAINLUP    335
         SB4   X1+0                . GO TO STORE(X2(X1)+B3)             MAINLUP    336
         AX2   B4,X2               .                                    MAINLUP    337
         MX0   56                  . X2 IS TREATED HERE AS A LINEAR     MAINLUP    338
         BX2   -X0*X2              . ARRAY OF 4 BIT INTEGERS            MAINLUP    339
         SB3   X2+B3                                                    MAINLUP    340
         JP    B3                                                       MAINLUP    341
*                                                                       MAINLUP    342
CATCWD   SWITCH CATCSW,2,1,3,3,2,2,2,0,2,2,2,2,2,0,0                    MAINLUP    343
*                                                                       MAINLUP    344
+        SB1   NEXTMIC             . 0,  I                              MAINLUP    345
         EQ    ITOSFTP                                                  MAINLUP    346
+        RJ    SCATS               . 1, S                               MAINLUP    347
+        EQ    NEXTMIC             . 2, SF,P,R,A,D,N,C                  MAINLUP    348
CATCSS   SA1   B6-1                . 3, SS,SI                           MAINLUP    349
         SX7   2                                                        MAINLUP    350
         SA2   X1                                                       MAINLUP    351
         SA7   B6                  . STORE SF TYPE HEADING              MAINLUP    352
         RJ    SSTOSF              . COPY THE STRING                    MAINLUP    353
         SA6   B6-1                . STORE THE SVD OF THE COPY          MAINLUP    354
         EQ    NEXTMIC                                                  MAINLUP    355
*                                                                       MAINLUP    356
SCATS    NO                                                             MAINLUP    357
+        SA1   B6                                                       MAINLUP    358
         SB4   X1-1                . STRING LENGTH TO B4                MAINLUP    359
         SB2   B6-B4               . FIRST                              MAINLUP    360
         SB3   B6-1                . LAST                               MAINLUP    361
          NZ       B4,SCATS1       . IF NULL STRING THEN ONE            MAINLUP    362
         SA0   1                   . MORE WORD HAS TO BE RESERVED       MAINLUP    363
         RJ    RESERVE             . IN THE STACK                       MAINLUP    364
SCATS1   SB6   B2+1                . NEW SF TYPE STACK ENTRY CONSISTS   MAINLUP    365
         RJ    STOSFX6             .  OF TWO WORDS                      MAINLUP    366
         SX7   2                                                        MAINLUP    367
         SA6   B6-1                . THE SVD                            MAINLUP    368
         SA7   B6                  . AND THE HEADING                    MAINLUP    369
         SB4   B0                  . ZERO IN B4 SIGNALS SF TYPE USUALLY MAINLUP    370
         EQ    SCATS                                                    MAINLUP    371
*                                                                       MAINLUP    372
ALTCHEK  SB3   ALTCSW              . MICRO OPERATION CHECK LEFT         MAINLUP    373
         SA2   ALTCWD              . OPERAND FOR ALTERNATION            MAINLUP    374
         SB2   B6                  . B2 IS USED BELOW                   MAINLUP    375
         EQ    CHEK                                                     MAINLUP    376
*                                                                       MAINLUP    377
ALTCWD   SWITCH ALTCSW,2,8,1,1,5,3,4,7,0,0,0,0,0,0,0                    MAINLUP    378
+        ERROR 12                  . 0, R,A,D,N,C                       MAINLUP    379
+        SA4   B6-1                                                     MAINLUP    380
         EQ    ALTCSS              . 1, SS                              MAINLUP    381
+        SX4   B6-1                                                     MAINLUP    382
         EQ    ALTCSF              . 2, SF                              MAINLUP    383
+        SA1   B6                                                       MAINLUP    384
         SB4   X1                                                       MAINLUP    385
         EQ    ALTCPA              . 3, PA                              MAINLUP    386
+        MX0   60                                                       MAINLUP    387
         EQ    ALTCS1              . 4, PE                              MAINLUP    388
+        SB1   1                                                        MAINLUP    389
         SX0   B0-B1                                                    MAINLUP    390
         SA2   B6                                                       MAINLUP    391
+        SB4   X2                                                       MAINLUP    392
         EQ    ALTCS2              . 5, PS                              MAINLUP    393
+        RJ    ITOS                . 7, I                               MAINLUP    394
+        SX0   0                   . 8, S                               MAINLUP    395
         SB2   B6                                                       MAINLUP    396
*  X0=-1  IFF PE, X0=-0  IFF PA  ELSE X0=0                              MAINLUP    397
ALTCS1   SB1   2                                                        MAINLUP    398
         SA2   B6                                                       MAINLUP    399
         SB4   X2                                                       MAINLUP    400
 ALTCS2  SA0   3                   . RESERVE LOCATIONS FOR ALT AND      MAINLUP    401
         RJ    RESERVE             . PERHAPS LIT OR EXP, AND            MAINLUP    402
         SB6   B2+B1               . PERHAPS ENDEXP                     MAINLUP    403
         SB3   B4+B1                                                    MAINLUP    404
         SB3   B6-B3                                                    MAINLUP    405
ALTCS3   SB2   B2-1                . PUSH TOP OPERAND DOWN B1 WORDS     MAINLUP    406
         EQ    B2,B3,ALTCS4                                             MAINLUP    407
         SA1   B2                                                       MAINLUP    408
         BX7   X1                                                       MAINLUP    409
         SA7   A1+B1                                                    MAINLUP    410
         EQ    ALTCS3                                                   MAINLUP    411
ALTCS4   PL    X0,ALTCSS2          . BRANCH IF S OR I                   MAINLUP    412
         SX6   ALTPM                                                    MAINLUP    413
         LX6   48                                                       MAINLUP    414
         ZR    X0,ALTCPE1          . BRANCH IF PE                       MAINLUP    415
         SA6   B6-B4               . PS                                 MAINLUP    416
         EQ    ALTCSS3                                                  MAINLUP    417
ALTCPE1  SX7   EXPPM                                                    MAINLUP    418
         SB1   1                                                        MAINLUP    419
         LX7   48                                                       MAINLUP    420
         SX1   B4+B1                                                    MAINLUP    421
         BX7   X1+X7               . PUT EXP AND ENDEXP BRACKETS        MAINLUP    422
         SA7   B6-B4               . AROUND THE PATTERN EXPRESSION      MAINLUP    423
         SA6   A7-B1               . ALTPM IN X6                        MAINLUP    424
         SX7   ENDEXPM                                                  MAINLUP    425
         LX7   48                                                       MAINLUP    426
         SA7   B6                                                       MAINLUP    427
         SB6   B6+B1               . LOCATION ALREADY RESERVED          MAINLUP    428
         SB1   3                                                        MAINLUP    429
         JP    ALTCSS3                                                  MAINLUP    430
*                                                                       MAINLUP    431
*  SS OR SF TYPE, X4 IS THE ADDRESS OF THE SVD                          MAINLUP    432
*  CONVERT STRING INTO PATTERN                                          MAINLUP    433
*                                                                       MAINLUP    434
*                                                                       MAINLUP    435
ALTCSS   BSS   0                                                        MAINLUP    436
ALTCSF   SA1   X4                  . FETCH DESCRIPTOR                   MAINLUP    437
         AX1   36                                                       MAINLUP    438
         SB1   2                                                        MAINLUP    439
         SB5   X1                  . LENGTH TO B5                       MAINLUP    440
         SA0   X1+1                                                     MAINLUP    441
         RJ    RESERVE                                                  MAINLUP    442
         SA1   X4                  . HAVE TO FETCH SVD AGAIN SINCE      MAINLUP    443
         BX4   X1                  . IT MIGHT HAVE CHANGED              MAINLUP    444
         RJ    SSTOS               . CONVERT THE LIST INTO S FORMAT     MAINLUP    445
         SB3   B4                                                       MAINLUP    446
         SB4   A0                                                       MAINLUP    447
         NE    B3,B0,ALTCSS2       . RELEASE IF SF                      MAINLUP    448
         SX7   B7                                                       MAINLUP    449
         SB7   X4                                                       MAINLUP    450
         AX4   18                                                       MAINLUP    451
         SA7   X4                                                       MAINLUP    452
ALTCSS2  SX6   ALTPM                                                    MAINLUP    453
         SX7   LITPM                                                    MAINLUP    454
         LX7   48                  . COMMON PROGRAM TO PLACE THE        MAINLUP    455
         SX1   B4                  .  ALT AND LIT PM OPERATIONS         MAINLUP    456
         LX6   48                                                       MAINLUP    457
         BX7   X7+X1                                                    MAINLUP    458
         SA7   B6-B4                                                    MAINLUP    459
         SA6   A7-1                                                     MAINLUP    460
 ALTCSS3 SX7   PETY                . PUT HEADER WORD INTO THE STACK     MAINLUP    461
         LX7   55                  . PE TYPE IS TO FOOL HBC OTHERWISE   MAINLUP    462
         SX4   B4+B1               . IT IS IGNORED                      MAINLUP    463
         BX7   X4+X7                                                    MAINLUP    464
         SA7   B6                                                       MAINLUP    465
         JP    NEXTMIC                                                  MAINLUP    466
*  PA.  B4=LEFT OPERAND STACK ENTRY BYPASS                              MAINLUP    467
ALTCPA   AX1   18                  . UNPACK PA PARAMETER                MAINLUP    468
         SB3   B6                                                       MAINLUP    469
         SB1   X1                  .  INTO B1                           MAINLUP    470
         SB2   B6-B1                                                    MAINLUP    471
         SA0   1                                                        MAINLUP    472
         RJ    RESERVE                                                  MAINLUP    473
ALTCPA1  SA1   B3-1                                                     MAINLUP    474
         BX7   X1                                                       MAINLUP    475
         SA7   B3                                                       MAINLUP    476
         SB3   B3-1                                                     MAINLUP    477
         NE    B3,B2,ALTCPA1                                            MAINLUP    478
         SX7   ALTPM               . PUT ALT OPERATION IN THE FRONT     MAINLUP    479
         LX7   48                  .  OF THE LAST ELEMENT (B1 POINTS    MAINLUP    480
         SA7   B2                  .  TO THE BEGINNING OF IT RELATIVE   MAINLUP    481
         SB3   EXPPM-1777B         . TO THE END OF THE PATTERN          MAINLUP    482
         SB5   ARBNOPM-1777B                                            MAINLUP    483
         SB1   B6-B4                                                    MAINLUP    484
         MX0   12                                                       MAINLUP    485
         SA2   B1                                                       MAINLUP    486
         BX2   X0*X2                                                    MAINLUP    487
ALTCPA2  SB1   B1+1                . LINK ALL ALT OPERATIONS ON THE     MAINLUP    488
ALTCPA3  EQ    B1,B6,ALTCPA6       .  ZERO LEVEL TOGETHER               MAINLUP    489
         SA1   B1                                                       MAINLUP    490
         UX7   B2,X1                                                    MAINLUP    491
         ID    X1,ALTCPA2          . PRDPM OR DOLPM                     MAINLUP    492
         GE    B0,B2,ALTCPA5                                            MAINLUP    493
ALTCPA4  SB1   X1+B1               . ANY, SPAN OR THE LIKE              MAINLUP    494
         EQ    ALTCPA3                                                  MAINLUP    495
ALTCPA5  EQ    B2,B3,ALTCPA4                                            MAINLUP    496
         EQ    B2,B5,ALTCPA4       . EXP OR ARBNO                       MAINLUP    497
         SB2   B2+NALTPMP          . =-ALTPM+1777B                      MAINLUP    498
         NE    B2,B0,ALTCPA2       . ANYTHING ELSE                      MAINLUP    499
         SB2   A2                                                       MAINLUP    500
         SX3   B1-B2               . A2 HOLDS THE LINK                  MAINLUP    501
         BX7   X2+X3                                                    MAINLUP    502
         SA7   A2                                                       MAINLUP    503
         SA2   A1                                                       MAINLUP    504
         BX2   X0*X2                                                    MAINLUP    505
         EQ    ALTCPA2                                                  MAINLUP    506
ALTCPA6  SB1   1                   . END OF SCAN                        MAINLUP    507
         BX7   X2                  . MARK END OF LIST WITH ZERO LINK    MAINLUP    508
         SA7   A2                                                       MAINLUP    509
         EQ    ALTCSS3                                                  MAINLUP    510
*                                                                       MAINLUP    511
PMCHEK   SB3   PMCSW               . MICRO INSTRUCTION                  MAINLUP    512
         SA2   PMCWD               . CHECK LEFT OPERAND FOR PATTERN     MAINLUP    513
         EQ    CHEK                . MATCH                              MAINLUP    514
*                                                                       MAINLUP    515
*        SWITCH FOR PMCHECK,IN GENERAL EVERYTHING IS PUT INTO S FORMAT  MAINLUP    516
PMCWD    SWITCH PMCSW,3,2,4,4,0,0,0,1,0,0,0,0,0,0,0                     MAINLUP    517
+        ERROR 15                  . 0, P,R,A,D,N,C                     MAINLUP    518
+        RJ    ITOS                . 1, I                               MAINLUP    519
+        SA1   B6                  . 2, S                               MAINLUP    520
         BX6   X1                                                       MAINLUP    521
         EQ   PMC1                                                      MAINLUP    522
+        SX4   B6-1                                                     MAINLUP    523
         EQ    PMCSF               . 3, SF                              MAINLUP    524
+        SA4   B6-1                . 4, SS,SI                           MAINLUP    525
PMCSF    SA1   X4                                                       MAINLUP    526
         AX1   36                                                       MAINLUP    527
         SB5   X1                                                       MAINLUP    528
         SA0   X1-1                . B6 MAY BE DECREASED IN FACT        MAINLUP    529
         RJ    RESERVE                                                  MAINLUP    530
         SA1   X4                                                       MAINLUP    531
         BX4   X1                                                       MAINLUP    532
         RJ    SSTOS               . CONVERT TO S FORMAT                MAINLUP    533
         SX2   A0+2                                                     MAINLUP    534
         NE    B4,B0,PMCSF1        . RELEASE IF SF                      MAINLUP    535
         SX7   B7                  . RELEASE IS DONE BY CHAINING THE    MAINLUP    536
         SB7   X4                  .  END OF LIST TO THE FREE CHAIN     MAINLUP    537
         AX4   18                  .  AND SETTING B7 TO THE BEGINNING   MAINLUP    538
         SA7   X4                  .  OF THE LIST.                      MAINLUP    539
PMCSF1   SX6   STY                 . STRING HEADER WORD INTO X6         MAINLUP    540
         LX6   55                                                       MAINLUP    541
         BX6   X2+X6                                                    MAINLUP    542
PMC1     SX5   X5                  . PACK ADDRESS OF OPERAND            MAINLUP    543
         SA1   UA                  .  OR UA IF IT IS ZERO INTO          MAINLUP    544
          LX5   18                 .  THE HEADING                       MAINLUP    545
         LX1   18                                                       MAINLUP    546
         NZ    X5,PMC2                                                  MAINLUP    547
         BX5   X1                                                       MAINLUP    548
PMC2     BX6   X6+X5                                                    MAINLUP    549
         SA6   B6                                                       MAINLUP    550
         EQ    NEXTMIC                                                  MAINLUP    551
*                                                                       MAINLUP    552
*                                                                       MAINLUP    553
*        THE FOLLOWING PROCEDURE CHECKS THE OPERANDS FOR ARITHMETIC     MAINLUP    554
*        OPERATIONS (EXCEPT **). NUMBERS WITH ABS VALUE LESS THAN       MAINLUP    555
*        X0 WILL BE REPRESENTED AS BINARY INTEGERS WHILE LARGE          MAINLUP    556
*        NUMBERS WILL BE HANDLED IN STRING FORM.  A0 CONTAINS LOG(X0)   MAINLUP    557
*        -                                                              MAINLUP    558
*                                                                       MAINLUP    559
SACHEK1  SX0   2                   . RETURN INTEGER TYPE                MAINLUP    560
         BX7   X7+X0                                                    MAINLUP    561
SACHEK   NO                        . ENTRY                              MAINLUP    562
+        SA3   B6                                                       MAINLUP    563
         SA2   ARITWD              . SWITCH ON TYPE OF TOP OPERAND      MAINLUP    564
         AX3   55                                                       MAINLUP    565
         LX3   2                                                        MAINLUP    566
         SB4   X3                                                       MAINLUP    567
         AX2   B4,X2                                                    MAINLUP    568
         MX3   56                                                       MAINLUP    569
         BX2   -X3*X2                                                   MAINLUP    570
         SB3   X2                                                       MAINLUP    571
         JP    B3+ARITSW                                                MAINLUP    572
*                                                                       MAINLUP    573
ARITWD   SWITCH ARITSW,3,5,2,4,0,0,0,6,1,0,0,0,0,0                      MAINLUP    574
ERR47    ERROR 47                  . 0, P,A,D,N,C                       MAINLUP    575
+        SX7   B0                  . 1, R                               MAINLUP    576
         EQ    SACHEK                                                   MAINLUP    577
+        SA4   B6-1                . 2, SS                              MAINLUP    578
         EQ    ACHEKSF                                                  MAINLUP    579
+        SX4   B6-1                . 3, SF                              MAINLUP    580
         EQ    ACHEKSF                                                  MAINLUP    581
+        SA4   B6-1                . 4, SI                              MAINLUP    582
         EQ    ACHEKSI                                                  MAINLUP    583
+        SA1   B6                  . 5, S                               MAINLUP    584
         SB5   X1                                                       MAINLUP    585
         EQ    ACHEKS                                                   MAINLUP    586
+        SA1   B6-1                . 6, I                               MAINLUP    587
         PL    X1,ACHEKI1                                               MAINLUP    588
         BX1   -X1                 . ABS VALUE                          MAINLUP    589
ACHEKI1  IX0   X1-X0                                                    MAINLUP    590
         SX7   ITY                                                      MAINLUP    591
         LX7   55                                                       MAINLUP    592
         NG    X0,SACHEK1          . LESS THAN X0, RETURN INTEGER TYPE  MAINLUP    593
         RJ    ITOS                . ELSE CONVERT TO STRING.            MAINLUP    594
         EQ    SACHEK                                                   MAINLUP    595
ACHEKSI  SA2   X4                  . SI FORMAT                          MAINLUP    596
         SA1   X2-1                . TEST INTEGER PART FIRST            MAINLUP    597
         IX0   X1-X0                                                    MAINLUP    598
         PL    X0,ACSI1            . IF TOO BIG, GO GET THE STRING PART MAINLUP    599
         BX6   X1                                                       MAINLUP    600
         SA6   A4                                                       MAINLUP    601
ACHKSI1  SX7   ITY                 . ELSE PUT THE INTEGER TO THE        MAINLUP    602
         SX0   2                   .  TOP OF THE STACK                  MAINLUP    603
         LX7   55                                                       MAINLUP    604
         BX7   X0+X7                                                    MAINLUP    605
         SA7   B6+0                                                     MAINLUP    606
         EQ    SACHEK              . RETURN                             MAINLUP    607
ACSI1    BX4   X2                                                       MAINLUP    608
         AX4   36                  . LENGTH OF THE STRING TO X4         MAINLUP    609
         SB5   X4+0                                                     MAINLUP    610
         SA0   X4-1                . RESERVE SPACE                      MAINLUP    611
         RJ    RESERVE             .  (AO MAY BE NEGATIVE)              MAINLUP    612
         BX1   X2                                                       MAINLUP    613
         RJ    SSTOS               . CONVERT SI TO S                    MAINLUP    614
         SX1   X4+1                                                     MAINLUP    615
         EQ    ACHEKS5             . GO TO FORM AN S TYPE HEADING       MAINLUP    616
*                                                                       MAINLUP    617
ACHEKS   SB1   0                   . PROCESS A NUMBER GIVEN IN S FORM   MAINLUP    618
         SB2   0                   . SET STATE AND COUNT TO ZERO        MAINLUP    619
         SB3   B6-B5               . NORMALIZED STRING WILL BE STORED   MAINLUP    620
         SX2   B0                  .  FROM B0.  X2 IS BINARY VALUE      MAINLUP    621
         SB4   ACHEKSR             . RETURN ADDRESS                     MAINLUP    622
ACHEKSR  SB5   B5-1                                                     MAINLUP    623
         EQ    B5,B0,ACHEKS1                                            MAINLUP    624
         SA1   B6-B5               . EXAMINE ALL CHARACTERS             MAINLUP    625
         EQ    DIGIT                                                    MAINLUP    626
*                                                                       MAINLUP    627
ACHEKSF  SA1   X4                  . RESERVE SPACE IN STACK FOR         MAINLUP    628
         AX1   36                  .  LONGEST POSSIBLE RESULT           MAINLUP    629
         SB5   A0                  . SAVE A0                            MAINLUP    630
         SA0   X1                                                       MAINLUP    631
         RJ    RESERVE                                                  MAINLUP    632
         SA4   X4                                                       MAINLUP    633
         BX0   X4                                                       MAINLUP    634
         SB3   A0+0                                                     MAINLUP    635
         BX6   X4                                                       MAINLUP    636
         SA0   B5                                                       MAINLUP    637
         SB5   B4                  . B5 IS 0 IFF SF                     MAINLUP    638
         SB3   B6-B3                                                    MAINLUP    639
         SB3   B3-2                                                     MAINLUP    640
         SB1   B0                  . INITIALIZE DIGIT COUNT             MAINLUP    641
         SB4   ACHKSFR             . RETURN ADDRESS                     MAINLUP    642
         SB2   B0                  . STATE                              MAINLUP    643
         SX2   B0                  . BINARY VALUE                       MAINLUP    644
ACHKSF2  ZR    X0,ACHKSF3                                               MAINLUP    645
         SA4   X0+0                . NEXT WORD FROM THE LIST            MAINLUP    646
         SX0   X4                                                       MAINLUP    647
         BX4   X4-X0                                                    MAINLUP    648
ACHKSFR  MX3   54                  . UNPACK CHARACTERS AND CALL DIGIT   MAINLUP    649
         LX4   6                                                        MAINLUP    650
         BX1   -X3*X4                                                   MAINLUP    651
         NZ    X1,DIGIT                                                 MAINLUP    652
         EQ    ACHKSF2                                                  MAINLUP    653
ACHKSF3  NE    B5,B0,ACHEKS1       . RELEASE LIST IF SF                 MAINLUP    654
         SX7   B7                                                       MAINLUP    655
         SB7   X6                                                       MAINLUP    656
         AX6   18                                                       MAINLUP    657
         SA7   X6                                                       MAINLUP    658
         EQ    ACHEKS1                                                  MAINLUP    659
*                                                                       MAINLUP    660
DIGIT    SX7   X1+0                . OPEN SUBROUTINE TO CONVERT         MAINLUP    661
         SX1   X1-1R+              .  STRINGS TO INTEGERS               MAINLUP    662
         PL    X1,DIGIT2           . BRANCH IF NOT DIGIT                MAINLUP    663
         SX1   X1+10                                                    MAINLUP    664
         NG    X1,DERR2            . ERROR IF LETTER                    MAINLUP    665
         NZ    X1,DIGIT4           . IGNORE LEADING BLANKS              MAINLUP    666
         GE    B0,B2,DIGIT3                                             MAINLUP    667
DIGIT4   BX3   X2                                                       MAINLUP    668
         SB2   B4                                                       MAINLUP    669
         LX2   2                   . MULTIPLY ACCUMULATED VALUE BY 10   MAINLUP    670
         IX2   X2+X3               .  AND ADD NEW DIGIT                 MAINLUP    671
         LX2   1                                                        MAINLUP    672
         IX2   X2+X1                                                    MAINLUP    673
DIGIT1   SB1   B1+1                . BUMP DIGIT COUNT                   MAINLUP    674
         SA7   B1+B3               . STORE NEXT DIGIT                   MAINLUP    675
DIGIT6   JP    B4                  . RETURN                             MAINLUP    676
DIGIT2   NE    B2,B0,DERR2         . ERROR IF AFTER SIGN                MAINLUP    677
         SX3   X1-1                                                     MAINLUP    678
DIGIT3   SB2   -1                  . SET STATE TO AFTER SIGN            MAINLUP    679
         ZR    X1,DIGIT6           . IGNORE +                           MAINLUP    680
         ZR    X3,DIGIT1           . BRANCH IF -                        MAINLUP    681
DERR2    SB6   B3                  . RESET B6 TO LAST GOOD ENTRY        MAINLUP    682
         JP    ERR2                                                     MAINLUP    683
*                                                                       MAINLUP    684
ACHEKS1  SB6   B3+B1               . AFTER CONVERSION                   MAINLUP    685
         EQ    B1,B0,ACHEKS3       . BRANCH IF NULL STRING              MAINLUP    686
         SA1   B3+1                . PICK UP FIRST CHARACTER            MAINLUP    687
         SX1   X1-1R-                                                   MAINLUP    688
         NZ    X1,ACHEKS2          . BYPASS IF NOT -                    MAINLUP    689
         BX0   X0-X0                                                    MAINLUP    690
         SB1   B1-1                                                     MAINLUP    691
         IX2   X0-X2               . CHANGE THE SIGN OF THE BINARY VALUEMAINLUP    692
ACHEKS2  SX0   A0-B1                                                    MAINLUP    693
         NG    X0,ACHEKS4          . TOO LONG, PRODUCE S TYPE RESULT    MAINLUP    694
ACHEKS3  SB6   B3+2                                                     MAINLUP    695
         BX6   X2                                                       MAINLUP    696
         SA6   B6-1                . I TYPE RESULT OT8ERWISE            MAINLUP    697
         EQ    ACHKSI1                                                  MAINLUP    698
ACHEKS4  SX1   B1+1                                                     MAINLUP    699
ACHEKS5  SX7   STY                 . S TYPE HEADING TO X7 USING X1      MAINLUP    700
         SB6   B6+1                                                     MAINLUP    701
         LX7   55                                                       MAINLUP    702
         BX7   X7+X1                                                    MAINLUP    703
         SA7   B6                                                       MAINLUP    704
         EQ    SACHEK                                                   MAINLUP    705
*                                                                       MAINLUP    706
ALTER    SB3   ALTSW               . MICRO OPERATION                    MAINLUP    707
         SA2   ALTWD               .  ALTERNATION                       MAINLUP    708
         EQ    CHEK                                                     MAINLUP    709
*                                                                       MAINLUP    710
ALTWD    SWITCH ALTSW,7,5,8,8,0,1,2,4,3,3,3,3,3,3,3                     MAINLUP    711
+        SB3   0                   . 0, PS                              MAINLUP    712
+        SA4   B6                                                       MAINLUP    713
         SB2   X4                                                       MAINLUP    714
         EQ    ALTPA1              . 1, PA                              MAINLUP    715
+        SA1   B6                                                       MAINLUP    716
         SB2   X1                                                       MAINLUP    717
         EQ    ALTPE1              . 2, PE                              MAINLUP    718
+        ERROR 12                  . 3, R,A,D,N,C                       MAINLUP    719
+        RJ    ITOS                . 4, I                               MAINLUP    720
+        SA1   B6                  . 5, S                               MAINLUP    721
         SB2   X1                                                       MAINLUP    722
         SA2   B6-B2                                                    MAINLUP    723
         SB1   X2                                                       MAINLUP    724
         EQ    ALTS2                                                    MAINLUP    725
+        SX4   B6-1                                                     MAINLUP    726
         EQ    ALTSS1              . 6, SF                              MAINLUP    727
+        SA4   B6-1                                                     MAINLUP    728
         SB3   0                   . 7, SS,SI                           MAINLUP    729
ALTSS1   SA1   B6-2                                                     MAINLUP    730
         SA2   X4                                                       MAINLUP    731
         SB1   X1                  . CONVERT THE LIST STRUCTURE INTO    MAINLUP    732
         SB2   A1                  .  A LIT OPERATION                   MAINLUP    733
         AX2   36                                                       MAINLUP    734
         SB5   X2                                                       MAINLUP    735
         SA0   X2-1                                                     MAINLUP    736
         RJ    RESERVE                                                  MAINLUP    737
         SA1   X4                                                       MAINLUP    738
         BX4   X1                                                       MAINLUP    739
         RJ    SSTOS                                                    MAINLUP    740
         SB2   B6-B2                                                    MAINLUP    741
         EQ    B3,B0,ALTS2         . RELEASE LIST IF SF                 MAINLUP    742
         SX7   B7                                                       MAINLUP    743
         SB7   X4                                                       MAINLUP    744
         AX4   18                                                       MAINLUP    745
         SA7   X4                                                       MAINLUP    746
ALTS2    SX7   LITPM                                                    MAINLUP    747
         LX7   48                                                       MAINLUP    748
         SX0   B2                  . PREPARE ALT PARAMETER              MAINLUP    749
         SX1   B2+0                                                     MAINLUP    750
         BX7   X1+X7                                                    MAINLUP    751
         SA7   B6-B2                                                    MAINLUP    752
*  PS JOINS AT THIS POINT...                                            MAINLUP    753
ALTS3    SX6   PATY                . INSERT PA TYPE HEADING             MAINLUP    754
         LX6   55                                                       MAINLUP    755
         LX0   18                                                       MAINLUP    756
         SX1   B2+B1                                                    MAINLUP    757
         BX6   X0+X6                                                    MAINLUP    758
         BX6   X1+X6                                                    MAINLUP    759
         SB1   B2+B1               . UPDATE THE CHAIN OF ALT            MAINLUP    760
         SB1   B6-B1               .  OPERATIONS. ALL ALT-S WILL POINT  MAINLUP    761
         SA6   B6+0                .  TO THE END OF THE PATTERN+1       MAINLUP    762
         SB1   B1+1                                                     MAINLUP    763
         MX0   12                                                       MAINLUP    764
ALTS5    SA1   B1                                                       MAINLUP    765
         SB2   X1                                                       MAINLUP    766
         SX2   B6-B1                                                    MAINLUP    767
         BX7   X0*X1                                                    MAINLUP    768
         BX7   X2+X7                                                    MAINLUP    769
         SA7   A1+0                                                     MAINLUP    770
         SB1   A1+B2                                                    MAINLUP    771
         NE    B2,B0,ALTS5                                              MAINLUP    772
         EQ    NEXTMIC                                                  MAINLUP    773
*  PA OR PS (B3=0 IFF PS), B2=STACK BYPASS OF RIGHT OPERAND             MAINLUP    774
 ALTPA1  SA3   B6-B2                                                    MAINLUP    775
         SB4   B6-B2                                                    MAINLUP    776
         SB2   B2-1                                                     MAINLUP    777
         SX0   B2                                                       MAINLUP    778
         SB1   X3                                                       MAINLUP    779
         SB6   B6-1                                                     MAINLUP    780
 ALTPA2  SB4   B4+1                . POP THE PATTERN ONE WORD UP        MAINLUP    781
         SA1   B4                                                       MAINLUP    782
         BX7   X1                                                       MAINLUP    783
         SA7   A1-1                                                     MAINLUP    784
         NE    B4,B6,ALTPA2                                             MAINLUP    785
         EQ    B0,B3,ALTS3         . BRANCH IF SIMPLE PATTERN           MAINLUP    786
         AX4   18                  . THE RESULT PARAMETER IS THE        MAINLUP    787
         SX0   X4                  . PARAMETER OF THE SECOND            MAINLUP    788
         JP    ALTS3               . OPERAND IN THIS CASE.              MAINLUP    789
*  PE.  B2=RIGHT OPERAND STACK ENTRY BYPASS                             MAINLUP    790
ALTPE1   SA3   B6-B2                                                    MAINLUP    791
         SB3   B6-B2                                                    MAINLUP    792
         SB1   X3                  . PUT EXP AND ENDEX BRACKETS         MAINLUP    793
         SA0   1                   .  AROUND THE PATTERN EXPRESSION     MAINLUP    794
         RJ    RESERVE                                                  MAINLUP    795
         SX7   EXPPM                                                    MAINLUP    796
         SB2   B2+1                                                     MAINLUP    797
         LX7   48                                                       MAINLUP    798
         SX0   B2                                                       MAINLUP    799
         SX6   ENDEXPM                                                  MAINLUP    800
         BX7   X0+X7                                                    MAINLUP    801
         LX6   48                                                       MAINLUP    802
         SA7   B3                                                       MAINLUP    803
         SA6   B6-1                                                     MAINLUP    804
         EQ    ALTS3                                                    MAINLUP    805
*                                                                       MAINLUP    806
ASCHEK   SA1   TENTO9              . MICRO OPERATION                    MAINLUP    807
         SA0   9                   .  CHECK OPERAND FOR ADDITION AND    MAINLUP    808
ACHEK1   BX0   X1                  .  SUBTRACTION                       MAINLUP    809
         RJ    SACHEK                                                   MAINLUP    810
         EQ    NEXTMIC                                                  MAINLUP    811
*                                                                       MAINLUP    812
MCHEK    SA1   TENTO10             . MICRO OPERATION                    MAINLUP    813
          SA0      10              . =LOG10 OF X0                       MAINLUP    814
         EQ    ACHEK1                                                   MAINLUP    815
*                                                                       MAINLUP    816
DCHEK    SA1   TENTO10             . MICRO OPERATION                    MAINLUP    817
         SA0   10                  .  CHECK OPERAND FOR DIVISION        MAINLUP    818
         EQ    ACHEK1                                                   MAINLUP    819
*                                                                       MAINLUP    820
TENTO9   DATA  1000000000                                               MAINLUP    821
TENTO10  DATA  10000000000                                              MAINLUP    822
*                                                                       MAINLUP    823
*                                                                       MAINLUP    824
UNSUB    SB1   SUBTR               . MICRO OPERATION UNARY MINUS        MAINLUP    825
         EQ    UNX                                                      MAINLUP    826
UNADD    SB1   ADD                 . MICRO OPERATION UNARY PLUS         MAINLUP    827
UNX      SA1   B6+0                . TEST FOR REAL OPERAND              MAINLUP    828
         BX7   X1                                                       MAINLUP    829
         AX1   55                                                       MAINLUP    830
         SX1   X1-RTY                                                   MAINLUP    831
         NZ    X1,JPB1                                                  MAINLUP    832
         SA7   B6-2                    . CHANGE LEFTOPERAND TO REAL     MAINLUP    833
         JP    B1                  .  TYPE                              MAINLUP    834
*                                                                       MAINLUP    835
*                                                                       MAINLUP    836
*                                                                       MAINLUP    837
*                                                                       MAINLUP    838
ADD      SA1   TENTO9              . MICRO OPERATION +                  MAINLUP    839
         SA0   9                                                        MAINLUP    840
         BX0   X1                                                       MAINLUP    841
         RJ    SACHEK              . CHECK RIGHT OPERAND                MAINLUP    842
         SA1   B6-2                                                     MAINLUP    843
         LX7   3                                                        MAINLUP    844
         LX1   3                                                        MAINLUP    845
         PL    X7,ADDSR1           . BRANCH IF ANY OF THE OPERANDS      MAINLUP    846
         PL    X1,ADDSR1                                                MAINLUP    847
         SA1   B6-1                                                     MAINLUP    848
         SA2   B6-3                                                     MAINLUP    849
         IX7   X1+X2               . ADD THE INTEGERS                   MAINLUP    850
ADDEXIT   BX1      X1-X1                                                MAINLUP    851
          IX7      X1+X7           . ENSURE NO MINUS ZERO               MAINLUP    852
          SA7      A2+0                                                 MAINLUP    853
         SB6   B6-2                                                     MAINLUP    854
         EQ    NEXTMIC                                                  MAINLUP    855
*                                                                       MAINLUP    856
SUBTR    SA1   TENTO9              . MICRO OPERATION -                  MAINLUP    857
         SA0   9                                                        MAINLUP    858
         BX0   X1                                                       MAINLUP    859
         RJ    SACHEK              . CHECK RIGHT OPERAND                MAINLUP    860
         SB2   SUBTR1                                                   MAINLUP    861
         EQ    ARITH                                                    MAINLUP    862
+        EQ    SUBTRS              . BRANCH IF STRING SUBTRACTION       MAINLUP    863
+        FX7   X2-X1               . REAL OPERANDS                      MAINLUP    864
         EQ    ARITH4                                                   MAINLUP    865
SUBTR1   IX7   X2-X1                                                    MAINLUP    866
         EQ    ADDEXIT                                                  MAINLUP    867
*                                                                       MAINLUP    868
MULT     SA1   TENTO10             . MICRO OPERATION *                  MAINLUP    869
          SA0      10              . =LOG10 OF X0                       MAINLUP    870
         BX0   X1                                                       MAINLUP    871
         RJ    SACHEK              . OPERAND CHECK AS ABOVE             MAINLUP    872
         SB2   MULT1                                                    MAINLUP    873
         EQ    ARITH                                                    MAINLUP    874
+        EQ    MULTS               . BRANCH IF STRING MULTIPLICATION    MAINLUP    875
+        FX7   X2*X1               . REAL OPERANDS                      MAINLUP    876
         EQ    ARITH4                                                   MAINLUP    877
MULT1    PX1   X1                  . PERFORM INTEGER MULTIPLICATION     MAINLUP    878
         PX2   X2                                                       MAINLUP    879
         DX7   X1*X2                                                    MAINLUP    880
         UX7   X7                                                       MAINLUP    881
         FX3   X1*X2                                                    MAINLUP    882
          SA1      TENTO10                                              MAINLUP    883
          BX2      X7                                                   MAINLUP    884
          AX2      59              . FILL X2 WITH SIGN OF THE PRODUCT   MAINLUP    885
          BX2      X2-X7           . ABSOLUTE VALUE OF THE PRODUCT      MAINLUP    886
          IX1      X2-X1           . ABS(PRODUCT) - 10@10               MAINLUP    887
         NX3   X3                                                       MAINLUP    888
         NZ    X3,ERR32                                                 MAINLUP    889
          PL       X1,ERR32        . TOO BIG WITHOUT STRING ARITHMETIC  MAINLUP    890
         EQ    ADDEXIT                                                  MAINLUP    891
*                                                                       MAINLUP    892
DIV      SA1   TENTO10             . MICRO OPERATION /                  MAINLUP    893
          SA0      10              . =LOG10 OF X0                       MAINLUP    894
         BX0   X1                                                       MAINLUP    895
         RJ    SACHEK              . OPERAND CHECK AS ABOVE             MAINLUP    896
         SB2   DIV1                                                     MAINLUP    897
         EQ    ARITH                                                    MAINLUP    898
+        EQ    DIVS                . BRANCH IF STRING DIVISION          MAINLUP    899
+        FX7   X2/X1               . REAL OPERANDS                      MAINLUP    900
         EQ    ARITH4                                                   MAINLUP    901
DIV1     ZR    X1,ERR3             . ERROR - DIVISION BY ZERO           MAINLUP    902
         PX1   X1                  . INTEGER DIVISION                   MAINLUP    903
         PX2   X2                                                       MAINLUP    904
         NX1   X1                                                       MAINLUP    905
         FX7   X2/X1                                                    MAINLUP    906
         UX7   B3,X7                                                    MAINLUP    907
         LX7   B3,X7                                                    MAINLUP    908
         EQ    ADDEXIT                                                  MAINLUP    909
*                                                                       MAINLUP    910
*        USED ONLY BY SUBTR,MULT AND DIV                                MAINLUP    911
*                                                                       MAINLUP    912
ARITH    SA1   B6-2                . SAME AS IN ADD                     MAINLUP    913
         LX1   3                                                        MAINLUP    914
         LX7   3                                                        MAINLUP    915
         PL    X7,ARITH1                                                MAINLUP    916
         PL    X1,ARITH1           .  OF THE OPERANDS IS AN INTEGER     MAINLUP    917
         SA1   B6-1                                                     MAINLUP    918
         SA2   B6-3                                                     MAINLUP    919
         JP    B2                                                       MAINLUP    920
ARITH1   LX1   59                                                       MAINLUP    921
         NZ    X7,ARITH3                                                MAINLUP    922
         NG    X1,ERR38                                                 MAINLUP    923
         SA1   B6-1                                                     MAINLUP    924
         SA2   B6-3                                                     MAINLUP    925
         JP    B2-1                                                     MAINLUP    926
ARITH3   JP    B2-2                                                     MAINLUP    927
*                                                                       MAINLUP    928
*                                                                       MAINLUP    929
ADDSR1   LX1   59                                                       MAINLUP    930
         NZ    X7,ADDS1                                                 MAINLUP    931
         NG    X1,ERR38                                                 MAINLUP    932
         SA1   B6-1                                                     MAINLUP    933
         SA2   B6-3                                                     MAINLUP    934
         FX7   X1+X2               . PERFORM REAL ADDITION              MAINLUP    935
ARITH4    OR        X7,ERR37                                            MAINLUP    936
          ID       X7,ERR37                                             MAINLUP    937
          NX7      X7              . NORMALIZE IN CASE OP WAS + OR -    MAINLUP    938
          JP       ADDEXIT                                              MAINLUP    939
*                                                                       MAINLUP    940
*                                                                       MAINLUP    941
CONCAT       SA4    B6             . RIGHT OPERAND HEADING              MAINLUP    942
             SB5    X4                                                  MAINLUP    943
             AX4    55                                                  MAINLUP    944
             SA3    B6-B5          . LEFT OPERAND HEADING               MAINLUP    945
         AX3   55                  . NOTE,  A3 IS USED BELOW            MAINLUP    946
         SB3   X4                                                       MAINLUP    947
         NZ    X3,CONC1            . SPECIAL TREATMENT FOR SF CAT SS    MAINLUP    948
         SX0   X4-SSTY                                                  MAINLUP    949
         ZR    X0,CTSFSS                                                MAINLUP    950
 CONC1   LX3   2                   . UNPACK TYPES                       MAINLUP    951
             LX4    2                                                   MAINLUP    952
             SB2    X3                                                  MAINLUP    953
         MX0   56                                                       MAINLUP    954
             SA1    CATWD                                               MAINLUP    955
             AX1    B2,X1                                               MAINLUP    956
             BX1    -X0*X1         . SELECT SWITCH WORD DEPENDING ON    MAINLUP    957
             SA2    X1+CATSW1      .  LEFT OPERAND TYPE                 MAINLUP    958
             SB3    X4                                                  MAINLUP    959
             AX1    B3,X2                                               MAINLUP    960
             BX1    -X0*X1         . SWITCH ON RIGHT OPERAND TYPE       MAINLUP    961
             SB2    X1                                                  MAINLUP    962
             JP     B2+CATSW2                                           MAINLUP    963
*                                                                       MAINLUP    964
CATWD        SWITCH  CATSW1,1,0,0,0,2,2,2,0,0,0,0,0,0,0,0   LEFT OP     MAINLUP    965
             SWITCH  DUMMY1,7,8,7,7,0,0,0,0,0,0,0,0,0,0,0   R,A,D,N,C   MAINLUP    966
             SWITCH  DUMMY2,14,12,14,14,1,1,1,10,6,6,6,6,6,6,6 SF       MAINLUP    967
             SWITCH  CATSW2,5,4,5,5,2,2,2,3,0,0,0,0,0,0,0   PS,PA,PE    MAINLUP    968
*                                                                       MAINLUP    969
*            TYPE X HERE DENOTES R,A,D,N,C  P IS AS USUAL               MAINLUP    970
*                                                                       MAINLUP    971
+            ERROR  1              . 0,  XX,XP,PX,XI,XSI                MAINLUP    972
+            SA4    A3-1           . 1,  SFP                            MAINLUP    973
             EQ     CATSFP                                              MAINLUP    974
CATPP2       SB1    B6-B5          . 2,  PP                             MAINLUP    975
             SA2    B6-B5                                               MAINLUP    976
             EQ     CATPP                                               MAINLUP    977
+            RJ     ITOS           . 3,  PI                             MAINLUP    978
+            SA4    B6             . 4,  PS                             MAINLUP    979
             SB1    X4                                                  MAINLUP    980
             EQ     CATPS                                               MAINLUP    981
         SX4   B6-1                . 5, PSF, PSS, PSI                   MAINLUP    982
             EQ     CATPSF                                              MAINLUP    983
+            SA1    B6-3           . 6,  SFX                            MAINLUP    984
             EQ     CATSFR                                              MAINLUP    985
+            SA1    B6-1           . 7,  XSF,XSS                        MAINLUP    986
             EQ     CATSFR1                                             MAINLUP    987
+            SA1    B6+0           . 8,  XS                             MAINLUP    988
             SX1    X1-1                                                MAINLUP    989
             SB6    B6-1                                                MAINLUP    990
          EQ        CATSFR2                                             MAINLUP    991
+            SA1    B6-1           . 10, SFI                            MAINLUP    992
             RJ     ITOSF                                               MAINLUP    993
             SA6    B6-1                                                MAINLUP    994
             EQ     *+2                                                 MAINLUP    995
+            RJ     SCATS          . 12, SFS                            MAINLUP    996
+            SB3    0                                                   MAINLUP    997
CTSFSS   SA4   B6-3                . 14, SFSS,SFSI,SFSF                 MAINLUP    998
             AX4    18                                                  MAINLUP    999
             SA4    X4             . FETCH LAST WORD OF LEFTOPERAND     MAINLUP   1000
         SA2   B6-1                . SVD OF RIGHT OPERAND TO X2         MAINLUP   1001
         SB5   CTSFSSR             . RETURN ADDRESS                     MAINLUP   1002
*                                                                       MAINLUP   1003
*  THE FOLLOWING CODE SEQUENCE MAY BE CALLED AS                         MAINLUP   1004
*  A SUBROUTINE.                                                        MAINLUP   1005
*  X2,X4,A4,B5,B3 HAVE TO BE SET UP.                                    MAINLUP   1006
*  X0,X1,X2,X3,X4,X5,X6,X7,B1,B2,B4 ARE DESTROYED                       MAINLUP   1007
 CTSFSS0 MX0   6                                                        MAINLUP   1008
             BX7    X4                                                  MAINLUP   1009
             SB1    60                                                  MAINLUP   1010
CTSFSS1  BX6   X4*X0               . COUNT THE NUMBER OF CHARACTERS     MAINLUP   1011
         ZR    X6,CTSFSS2          . IN THE LAST WORD OF THE LEFT OP.   MAINLUP   1012
             LX4    6                                                   MAINLUP   1013
             SB1    B1-6                                                MAINLUP   1014
             EQ     CTSFSS1        . RIGHT SHIFT TO B1                  MAINLUP   1015
CTSFSS2  SB2   B1-18               . LEFT SHIFT TO B2                   MAINLUP   1016
         SX3   A4+0                . NOTE HOW X3 IS USED                MAINLUP   1017
         EQ    B3,B0,CATSF         . SKIP IF SF ON RIGHT                MAINLUP   1018
         SA2   X2+0                                                     MAINLUP   1019
*                                                                       MAINLUP   1020
CATSF        SB4    B1-6                                                MAINLUP   1021
             AX6    X0,B4          . MASK FOR RIGHT SHIFT               MAINLUP   1022
             BX5    X6                                                  MAINLUP   1023
             LX5    18             . MASK FOR LEFT SHIFT                MAINLUP   1024
             SX4    B7                                                  MAINLUP   1025
             MX0    42             . MASK FOR ADDRESS FIELD             MAINLUP   1026
CATSF4       SX2    X2             . TAKE NEXT WORD FROM RIGHT OPERAND  MAINLUP   1027
             ZR     X2,CATSF5                                           MAINLUP   1028
             SA2    X2                                                  MAINLUP   1029
CATSF5       BX1    X2*X6          . PREPARE FOR RIGHT SHIFT            MAINLUP   1030
             LX1    B1,X1          . RIGHT SHIFT                        MAINLUP   1031
             BX7    X7+X1          . ADD TO REST OF PREVIOUS WORD       MAINLUP   1032
             BX1    -X0*X1                                              MAINLUP   1033
             BX7    X0*X7                                               MAINLUP   1034
             ZR     X1,CATSF8      . READY IF LAST 18 BITS ARE ZERO     MAINLUP   1035
             SB7    X4                                                  MAINLUP   1036
         SA1   X4                  . GET NEXT FREE WORD                 MAINLUP   1037
         BX7   X7+X4               . ADD LINK TO LAST WORD              MAINLUP   1038
             ZR     X1,CATSF7                                           MAINLUP   1039
CATSF6       BX4    -X0*X1                                              MAINLUP   1040
             SA7    X3             . AND STORE                          MAINLUP   1041
             SX3    A1                                                  MAINLUP   1042
             BX1    -X5*X2         . PREPARE FOR LEFT SHIFT             MAINLUP   1043
             LX7    B2,X1          . LEFT SHIFT                         MAINLUP   1044
             EQ     CATSF4         . LOOP                               MAINLUP   1045
CATSF7       RJ     MORFREE                                             MAINLUP   1046
             EQ     CATSF6                                              MAINLUP   1047
CATSF8       SB7    X4                                                  MAINLUP   1048
             JP     B5             . RETURN FROM CATSF                  MAINLUP   1049
*                                                                       MAINLUP   1050
CTSFSSR      SA7    X3             . STORE LAST WORD                    MAINLUP   1051
             SA1    B6-1                                                MAINLUP   1052
             SA2    X1                                                  MAINLUP   1053
             NE     B3,B0,CTSFSS9  . RELEASE RIGHT OPERAND IF SF        MAINLUP   1054
             BX2    X1                                                  MAINLUP   1055
             SX7    B7                                                  MAINLUP   1056
             SB7    X1                                                  MAINLUP   1057
             AX1    18                                                  MAINLUP   1058
             SA7    X1                                                  MAINLUP   1059
CTSFSS9      SA4    B6-3           . LEFT OPERAND SVD                   MAINLUP   1060
             SB6    B6-2                                                MAINLUP   1061
             AX2    36             . LENGTH OF RIGHT OPERAND            MAINLUP   1062
             BX2    -X0*X2                                              MAINLUP   1063
             LX3    18                                                  MAINLUP   1064
             LX0    18                                                  MAINLUP   1065
             LX2    36                                                  MAINLUP   1066
             BX6     X0*X4         . MASK LAST OFF                      MAINLUP   1067
             IX6    X6+X2          . TOTAL LENGTH                       MAINLUP   1068
             BX6    X6+X3          . ADD LAST TO SVD                    MAINLUP   1069
             SA6    A4             . STORE RESULT SVD                   MAINLUP   1070
             SA1    MXLNGTH                                             MAINLUP   1071
             AX6    36             . CHECK LENGTH AGAINST LIMIT         MAINLUP   1072
             IX1    X1-X6                                               MAINLUP   1073
             PL     X1,NEXTMIC                                          MAINLUP   1074
ERR18     ERROR    18                                                   MAINLUP   1075
*                                                                       MAINLUP   1076
CATSFR       SA2    A1+B5          . RELEASE LEFT OPERAND               MAINLUP   1077
             SA4    B6             . RESULT EQUALS TO RIGHT             MAINLUP   1078
             BX6    X2             .  OPERAND                           MAINLUP   1079
             BX7    X4             . NOTE - B5 HAPPENS TO CONTAIN 2     MAINLUP   1080
             SA6    A1                                                  MAINLUP   1081
             SA7    A3                                                  MAINLUP   1082
             SX4    -1             . MAKE X4 NEGATIVE                   MAINLUP   1083
*  KLUDGE TO FIX SFX CONCATENATION                                      MAINLUP   1084
*  NEED TO RELEASE STRING STORAGE USED BY TEMPORARY STRING              MAINLUP   1085
          SA1       X1             . FETCH THE TEMPOARY STRING          MAINLUP   1086
*  RELEASE THE STRING STORAGE                                           MAINLUP   1087
          SX7       B7                                                  MAINLUP   1088
          SB7       A1                                                  MAINLUP   1089
          SA7       A1                                                  MAINLUP   1090
*  MUST JUMP AROUND THE FETCH AS X1 SHOULD NOW HAVE ZERO IN IT          MAINLUP   1091
          JP        CATSFR1A                                            MAINLUP   1092
CATSFR1      SA1    X1             . ERROR IF SF DOES NOT CONTAIN ZERO  MAINLUP   1093
CATSFR1A  SB6       B6-B5          . REMOVE RIGHT OPERAND               MAINLUP   1094
             NE     B3,B0,CATSFR2  . RELEASE RIGHT OPERAND IF SF        MAINLUP   1095
             SX7    B7                                                  MAINLUP   1096
             SX4    B0-B6          . MAKE X4 NEGATIVE                   MAINLUP   1097
             SB7    A1                                                  MAINLUP   1098
             SA7    A1                                                  MAINLUP   1099
CATSFR2      NG     X4,CATSFR3                                          MAINLUP   1100
             SA1    X1+0           . VALUE TO X1 IF SS OR SI            MAINLUP   1101
CATSFR3      ZR     X1,NEXTMIC     . ERROR IF X1 NOT ZERO               MAINLUP   1102
             EQ     ERR13                                               MAINLUP   1103
*                                                                       MAINLUP   1104
CATPP        SB1    B1+1                                                MAINLUP   1105
             SA1    B1+0                                                MAINLUP   1106
             EQ     B1,B6,CATPP1   . PUSH RIGHT OPERAND ONE WORD UP     MAINLUP   1107
             BX6    X1             .  IN THE STACK                      MAINLUP   1108
             SA6    B1-1                                                MAINLUP   1109
             EQ     CATPP                                               MAINLUP   1110
 CATPP1  SB1   X2-1                . RESULT IS OF PE TYPE               MAINLUP   1111
         SB6   B6-1                                                     MAINLUP   1112
         SX6   X1+B1               . CALCULATE BYPASS                   MAINLUP   1113
         JP    CATPS1                                                   MAINLUP   1114
*                                                                       MAINLUP   1115
CATPS        SA3    B6-B1                                               MAINLUP   1116
             SX0    LITPM          . CONVERT STRING TO A LITPM OPERATIONMAINLUP   1117
          SX6      B1              . OVERWRITING THE HEADING            MAINLUP   1118
             LX0    48             .  OF THE LEFT OPERAND PATTERN       MAINLUP   1119
             BX6    X6+X0                                               MAINLUP   1120
             SA6    A3                                                  MAINLUP   1121
             SX6    X3+B1          . CALCULATE BYPASS                   MAINLUP   1122
*  X6=STACK BYPASS OF RESULT                                            MAINLUP   1123
 CATPS1  SX0   PETY                . FORM AND STORE PE HEADING          MAINLUP   1124
             LX0    55                                                  MAINLUP   1125
             BX6    X6+X0                                               MAINLUP   1126
             SA6    B6                                                  MAINLUP   1127
             EQ     NEXTMIC                                             MAINLUP   1128
*                                                                       MAINLUP   1129
 CATPSF  EQ    B3,B0,CATPSF2       . BRANCH IF SF                       MAINLUP   1130
             SA4    X4+0                                                MAINLUP   1131
CATPSF2      SA1    X4                                                  MAINLUP   1132
         AX1   36                  . LENGTH OF RIGHT OP STRING TO X1    MAINLUP   1133
             SA0    X1-1                                                MAINLUP   1134
             SA3    A3             . LEFT OPERAND HEADING               MAINLUP   1135
             SB1   X1+1            . LENGTH + 1                         MAINLUP   1136
             SB5    X1             . LENGTH FOR SSTOS                   MAINLUP   1137
             SB4    X3             . BYPASS OF LEFT OPERAND             MAINLUP   1138
             RJ     RESERVE        . RESERVE LENGTH - 1 WORDS           MAINLUP   1139
             SA1    X4             . TAKE SVD AFRESH                    MAINLUP   1140
             BX4    X1                                                  MAINLUP   1141
             RJ     SSTOS          . BREAK DOWN THE STRING              MAINLUP   1142
             SX6    LITPM          .  ONE CHARACTER PER WORD            MAINLUP   1143
             NE     B3,B0,CATPSF1  . RELEASE RIGHT OPERAND IF SF        MAINLUP   1144
             SX7    B7                                                  MAINLUP   1145
             SB7    X4                                                  MAINLUP   1146
             AX4    18                                                  MAINLUP   1147
             SA7    X4                                                  MAINLUP   1148
CATPSF1      SX0    B1                                                  MAINLUP   1149
             LX6    48                                                  MAINLUP   1150
             BX7    X0+X6                                               MAINLUP   1151
             SX6    B4+B1          . NEW BYPASS FOR HEADING             MAINLUP   1152
             SA7    B6-B1          . STORE LITPM                        MAINLUP   1153
             EQ     CATPS1                                              MAINLUP   1154
*                                                                       MAINLUP   1155
CATSFP       AX4    36                                                  MAINLUP   1156
             SB5    X4                                                  MAINLUP   1157
             SB2    A4+0                                                MAINLUP   1158
             SB4    A3+1                                                MAINLUP   1159
             EQ     B5,B0,CATSFP2  . BRANCH IF SF IS OF ZERO LENGTH     MAINLUP   1160
             SA0    X4-1                                                MAINLUP   1161
             SB1    B6                                                  MAINLUP   1162
             SB3    A0                                                  MAINLUP   1163
             RJ     RESERVE        . RESERVE SPACE FOR LITPM            MAINLUP   1164
CATSFP1      SB1    B1-1           . DISPLACE THE  PATTERN B3 WORDS     MAINLUP   1165
             SA1    B1             .  TOWARD THE HIGH CORE              MAINLUP   1166
             BX6    X1                                                  MAINLUP   1167
             SA6    A1+B3                                               MAINLUP   1168
             NE     B1,B4,CATSFP1                                       MAINLUP   1169
             SA1    B2             . FETCH THE SVD AFRESH               MAINLUP   1170
             SB4    B6             . SAVE B6                            MAINLUP   1171
             BX4    X1                                                  MAINLUP   1172
             SB6    A6                                                  MAINLUP   1173
             SX6    B7                                                  MAINLUP   1174
             RJ     SSTOS          . BREAK DOWN THE STRING              MAINLUP   1175
             SB7    X4             . RELEASE LEFT OPERAND               MAINLUP   1176
             AX4    18                                                  MAINLUP   1177
             SA6    X4                                                  MAINLUP   1178
             SB6    B4             . RESTORE B6                         MAINLUP   1179
             SX0    LITPM          . FORM AND STORE LITPM               MAINLUP   1180
             LX0    48                                                  MAINLUP   1181
         SB2   B6-B2                                                    MAINLUP   1182
         SX7   B3+2                                                     MAINLUP   1183
         BX7   X7+X0                                                    MAINLUP   1184
         SA7   B6-B2                                                    MAINLUP   1185
             SX6    B2+1           . AND THE HEADING                    MAINLUP   1186
             EQ     CATPS1                                              MAINLUP   1187
*                                                                       MAINLUP   1188
CATSFP2      SA1    A4             . USE CATPP TO DISPLACE THE          MAINLUP   1189
             SX7    B7             .  PATTERN TOWARDS LOW CORE          MAINLUP   1190
             SB7    X1                                                  MAINLUP   1191
             SA7    X1                                                  MAINLUP   1192
             SX6    LITPM                                               MAINLUP   1193
             LX6    48                                                  MAINLUP   1194
             SX0    1                                                   MAINLUP   1195
             BX6    X0+X6                                               MAINLUP   1196
             SA1    B6                                                  MAINLUP   1197
             SA6    A4                                                  MAINLUP   1198
             SB5    X1                                                  MAINLUP   1199
             EQ     CATPP2                                              MAINLUP   1200
*                                                                       MAINLUP   1201
*  THE FOLLOWING IS THE INITIALIZATION AND DRIVER CODE                  MAINLUP   1202
*  FOR THE PATTERN MATCH FUNCTION                                       MAINLUP   1203
*                                                                       MAINLUP   1204
PM       SB3   PMSW                . MICRO OPERATION                    MAINLUP   1205
         SA2   PMWD                . PATTERN MATCH                      MAINLUP   1206
         SB1   PM1                 . RETURN FOR STOP                    MAINLUP   1207
         EQ    CHEK                . SWITCH ON RIGHT OPERAND TYPE       MAINLUP   1208
*                                                                       MAINLUP   1209
*        SWITCH FOR PATTERN MATCH RIGHT OPERAND                         MAINLUP   1210
*                                                                       MAINLUP   1211
PMWD     SWITCH PMSW,0,5,1,1,3,3,3,4,2,2,2,2,2,2,2                      MAINLUP   1212
+        SX4   B6-1                                                     MAINLUP   1213
         EQ    PMSF                . 0, SF                              MAINLUP   1214
+        SA4   B6-1                                                     MAINLUP   1215
         EQ    PMSSSI              . 1, SS,SI                           MAINLUP   1216
+        ERROR 16                  . 2, R,A,D,N,C                       MAINLUP   1217
+        EQ    PM1                 . 3, PS,PE,PA                        MAINLUP   1218
+        RJ    ITOS                . 4, I                               MAINLUP   1219
          SB1      PM1             . 5, S                               MAINLUP   1220
*                                                                       MAINLUP   1221
*        THE FOLLOWING CODE FORMS A SIMPLE PATTERN USING THE TOP        MAINLUP   1222
*        OPERAND STRING. ACTUALLY A LIT PM OPERATION IS CREATED         MAINLUP   1223
*  THE RETURN ADDRESS IS IN B1                                          MAINLUP   1224
*                                                                       MAINLUP   1225
 STOP    SA0   1                                                        MAINLUP   1226
         RJ    RESERVE             . PUSH THE STRING DOWN ONE WORD      MAINLUP   1227
         SA1   B6-1                                                     MAINLUP   1228
         SB4   X1                  . STACK BYPASS TO B4                 MAINLUP   1229
         SB2   B0                                                       MAINLUP   1230
         SB5   X1-1                                                     MAINLUP   1231
         EQ    B2,B5,STOP2         . BRANCH IF STRING IS EMPTY          MAINLUP   1232
STOP1    SA1   A1-1                . LOOP B4-1 TIMES                    MAINLUP   1233
         SB2   B2+1                                                     MAINLUP   1234
         BX7   X1                                                       MAINLUP   1235
         SA7   B6-B2                                                    MAINLUP   1236
         NE    B2,B5,STOP1                                              MAINLUP   1237
STOP2    SX1   LITPM                                                    MAINLUP   1238
         LX1   48                  . LIT OPERATION WITH PROPER          MAINLUP   1239
         SX7   B4                  . BYPASS PART TO X7                  MAINLUP   1240
         BX7   X1+X7                                                    MAINLUP   1241
         SX1   PSTY                                                     MAINLUP   1242
         SA7   B6-B4               . PUT IT TO THE FRONT OF THE STRING  MAINLUP   1243
         LX1   55                                                       MAINLUP   1244
         SX6   B4+1                                                     MAINLUP   1245
         BX6   X1+X6               . PS HEADER WORD                     MAINLUP   1246
         SA6   B6                                                       MAINLUP   1247
         JP    B1                  . RETURN                             MAINLUP   1248
*                                                                       MAINLUP   1249
*        SS,SI AND SF TYPES HAVE TO BE CONVERTED INTO S FORM. AN EXTRA  MAINLUP   1250
*        WORD IN THE FRONT OF THE STRING WILL BE ALLOWED FOR THE        MAINLUP   1251
*        LIT OPERATION. THE LIST HOLDING SF WILL BE RELEASED            MAINLUP   1252
*                                                                       MAINLUP   1253
PMSSSI   BSS   0                                                        MAINLUP   1254
*                                                                       MAINLUP   1255
PMSF     SA1   X4                  . X4 IS THE ADDRESS WHERE THE SVD    MAINLUP   1256
         AX1   36                  . CAN BE FOUND                       MAINLUP   1257
         SA0   X1                  .                                    MAINLUP   1258
         RJ    RESERVE                                                  MAINLUP   1259
         SA1   X4                  . SVD MIGHT HAVE CHANGED             MAINLUP   1260
         BX4   X1                                                       MAINLUP   1261
         SB5   A0                                                       MAINLUP   1262
         RJ    SSTOS               . CONVERT TO S FORMAT                MAINLUP   1263
         NE    B4,B0,PMSF1         . RELEASE LIST IF SF                 MAINLUP   1264
         SX7   B7                                                       MAINLUP   1265
         SB7   X4                                                       MAINLUP   1266
         AX4   18                                                       MAINLUP   1267
         SA7   X4                                                       MAINLUP   1268
PMSF1    SB4   A0+1                                                     MAINLUP   1269
         EQ    STOP2               . GO TREAT LIKE S                    MAINLUP   1270
*                                                                       MAINLUP   1271
*  RETURN HERE WHEN RIGHT OP IS A PATTERN                               MAINLUP   1272
PM1          SA1    B6             . PREPARE THE RIGHT OPERAND          MAINLUP   1273
             SB2    X1                                                  MAINLUP   1274
             SX7    B6+1           . INITI   AL VALUE FOR PCHAIN        MAINLUP   1275
             SB5    B6-B2          . FIRST ELEMENT IN THE PATTERN-1     MAINLUP   1276
             SB4    B6-B2                                               MAINLUP   1277
             SA7    PCHAIN                                              MAINLUP   1278
             SA0    2              . THE HEADING OF THE RIGHT OPERAND   MAINLUP   1279
             RJ     RESERVE        .  WILL BE OVERWRITTEN               MAINLUP   1280
PM1F         SX1    ENDEXPM        . THIS ENDEX TERMINATES THE PATTERN  MAINLUP   1281
             BX6    X6-X6                                               MAINLUP   1282
             LX1    48                                                  MAINLUP   1283
             SA6    B6-1           . STORE END OF PCHAIN                MAINLUP   1284
             SX2    PSTY                                                MAINLUP   1285
             BX7    X7+X1                                               MAINLUP   1286
             SX6    B6-B5                                               MAINLUP   1287
             LX2    55                                                  MAINLUP   1288
             SA7    B6-2                                                MAINLUP   1289
             BX6    X6+X2                                               MAINLUP   1290
             SA6    B6             . STORE A TEMPORARY HEADING          MAINLUP   1291
PM1A         SB4    B4+1                                                MAINLUP   1292
PM1B         EQ     B4,B6,PM2      . FETCH ELEMENTS ONE BY ONE          MAINLUP   1293
             SA1    B4                                                  MAINLUP   1294
         UX5   X1,B3                                                    MAINLUP   1295
         ID    X1,PM1A             . SKIP $ AND .                       MAINLUP   1296
             GE     B0,B3,PM1C     . BRANCH IF NOT STRING ARGUMENTED    MAINLUP   1297
             SB4    B4+X1          .  ELEMENT (LIT,ANY ETC.)            MAINLUP   1298
             EQ     PM1B                                                MAINLUP   1299
PM1C         NE     B3,B0,PM1A     . BRANCH IF NOT STAR (*)             MAINLUP   1300
             SA1    X5+0           . OPERAND OF STAR                    MAINLUP   1301
             BX3    X1                                                  MAINLUP   1302
             AX3    55             . TYPE OF OPERAND                    MAINLUP   1303
             SX3    X3-4                                                MAINLUP   1304
             NG     X3,PM1A        . BRANCH IF SS,SI                    MAINLUP   1305
             SX3    X3-3                                                MAINLUP   1306
             NG     X3,PM1D        . BRANCH IF PS,PE,PA                 MAINLUP   1307
         NZ    X3,PM1A             . BRANCH IF NOT I                    MAINLUP   1308
             MX0    6                                                   MAINLUP   1309
             BX1    -X0*X1         . REPLACE I TYPE VALUE WITH SS       MAINLUP   1310
             RJ     ITOSF                                               MAINLUP   1311
             SX1    SSTY                                                MAINLUP   1312
             LX1    55                                                  MAINLUP   1313
             BX6    X1+X6                                               MAINLUP   1314
             SA6    X5                                                  MAINLUP   1315
             EQ     PM1A                                                MAINLUP   1316
PM1D         SA2    PCHAIN         . SEARCH PCHAIN FOR THE SAME PATTERN MAINLUP   1317
PM1E         SA3    X2                                                  MAINLUP   1318
             SX2    X3                                                  MAINLUP   1319
             AX3    18                                                  MAINLUP   1320
             BX0    X3-X5                                               MAINLUP   1321
             ZR     X0,PM1A        . BRANCH IF FOUND                    MAINLUP   1322
             NZ     X2,PM1E                                             MAINLUP   1323
             SB1    A3             . ADDRESS OF LAST LINK TO B1         MAINLUP   1324
         SX4   X5                                                       MAINLUP   1325
             RJ     PTOPX4         . LOAD THE PATTERN TO THE STACK      MAINLUP   1326
             SA0    B6-B5          . RESERVE 3 MORE LOCATIONS           MAINLUP   1327
             SA0    A0+3           .  (NOTE THAT B6-A0 WILL POINT TO    MAINLUP   1328
             SB6    B5             .    B5 IN GETSTAK)                  MAINLUP   1329
             SX6    MARK                                                MAINLUP   1330
             RJ     RESERVE                                             MAINLUP   1331
             SX7    B6-1           . LINK THE PATTERN TO PCHAIN         MAINLUP   1332
             LX5    18                                                  MAINLUP   1333
             BX7    X7+X5                                               MAINLUP   1334
             SA7    B1                                                  MAINLUP   1335
             SA6    B1+1           . INITIALIZE HOPE                    MAINLUP   1336
             BX7    X7-X7          . SET ADDRESS OF TERMINATING ENDEX   MAINLUP   1337
             EQ     PM1F           .  TO ZERO                           MAINLUP   1338
*                                                                       MAINLUP   1339
*  B5 POINTS TO THE HEADING OF THE LEFT OP                              MAINLUP   1340
PM2          SX7    A5             . SAVE A5                            MAINLUP   1341
             SA7    PMA5                                                MAINLUP   1342
             SA1    B5                                                  MAINLUP   1343
             SB2    X1                                                  MAINLUP   1344
         SX6   B5-B2               . SBASE POINTS TO THE FIRST CHAR-1   MAINLUP   1345
             SA6    SBASE          . INITIALIZE STRING BASE             MAINLUP   1346
             SB4    B5+1           .  INDEX                             MAINLUP   1347
             SB3    B5-1           .  STRING LENGTH                     MAINLUP   1348
             SX7    B3                                                  MAINLUP   1349
             SA7    SLENGTH                                             MAINLUP   1350
             BX3    X3-X3          .  SIX                               MAINLUP   1351
             SB1    B0             .  SIB                               MAINLUP   1352
             BX7    X7-X7                                               MAINLUP   1353
             SA7    PIB            .  PIX                               MAINLUP   1354
             SA7    PIX            .  PIB                               MAINLUP   1355
             SA2    MAXSTAK                                             MAINLUP   1356
             SB5    X2             .  B5 IS MAXSTAK                     MAINLUP   1357
             SA4    ANCHOR                                              MAINLUP   1358
         SB5   B0-B5               . (POSITIVE REPRESENTATION)          MAINLUP   1359
             BX5    X5-X5          . LOCP, LOCS ARE ZERO                MAINLUP   1360
             SA0    X6+1                                                MAINLUP   1361
PM2A         SX7    A0                                                  MAINLUP   1362
             SA7    SPOS           . STORE POS IN FIRST LEVEL           MAINLUP   1363
             SX0    B4                                                  MAINLUP   1364
             LX0    18                                                  MAINLUP   1365
             BX7    X7+X0                                               MAINLUP   1366
             RJ     ENTER          . TRY TO MATCH THE PATTERN           MAINLUP   1367
             NZ     X4,PMABT       . FAILURE IF PATTERN FAILS IN        MAINLUP   1368
          SB2      A0+0            . ANCHORED MODE                      MAINLUP   1369
             SA1    LENFAIL                                             MAINLUP   1370
          SA0      B2+1                                                 MAINLUP   1371
             LT     B3,B2,PMABT                                         MAINLUP   1372
             ZR     X1,PMABT       . TEST ON LENGTH FAILURE             MAINLUP   1373
             SX7    PM2A           . RESET P AND S STACKS               MAINLUP   1374
             EQ     SETSIPI                                             MAINLUP   1375
PMABT        SX5    0              . GET RID OF P AND S STACKS          MAINLUP   1376
             SX7    PM2B                                                MAINLUP   1377
             EQ     SETSIPI                                             MAINLUP   1378
PM2B         SB6    B3+1           . RESET B6                           MAINLUP   1379
             SA1    PMA5                                                MAINLUP   1380
             SA5     X1            . RESTORE A5                         MAINLUP   1381
             EQ     FAIL           . SIGNAL FAILURE                     MAINLUP   1382
PMFOUND      SB6    B3+2           . RESET B6 (PROVIDE 1 WORD FOR       MAINLUP   1383
             SX7    A0-1           .  THE RESULT)                       MAINLUP   1384
             SA4    PIX                                                 MAINLUP   1385
             SA7    PMFA0                                               MAINLUP   1386
PMF1         ZR     X4,PMF2        . GO THROUGH THE P CHAIN AND         MAINLUP   1387
             SA4    X4             .  PERFORM (.) TYPE ASSIGNMENTS      MAINLUP   1388
             SA3    X4             . ADDRESS OF VARIABLE TO X3          MAINLUP   1389
             AX4    18                                                  MAINLUP   1390
             SB2    X4             . FIRST                              MAINLUP   1391
             AX4    18                                                  MAINLUP   1392
             SB3    X4             . LAST                               MAINLUP   1393
             BX7    X3                                                  MAINLUP   1394
             SX6    A3                                                  MAINLUP   1395
             SA7    PMFX4                                               MAINLUP   1396
             SA6    PMFA4                                               MAINLUP   1397
             RJ     STOSFX6        . CONVERT INTO SF FORMAT             MAINLUP   1398
             SA6    TEMPDOL                                             MAINLUP   1399
             SB2    A6+1                                                MAINLUP   1400
             SA6    B2                                                  MAINLUP   1401
             AX3    18             . PREPARE ADDRESS OF VARIABLE        MAINLUP   1402
             RJ     SASSIGN        . AND ASSIGN                         MAINLUP   1403
             SA4    PMFX4                                               MAINLUP   1404
             SX4    X4                                                  MAINLUP   1405
             SX7    B7                                                  MAINLUP   1406
             NZ     X4,PMF1        . GO BACK IF NOT END OF CHAIN        MAINLUP   1407
             SA1    PIX                                                 MAINLUP   1408
             SA2    PMFA4                                               MAINLUP   1409
             SB7    X1                                                  MAINLUP   1410
             SA7    X2                                                  MAINLUP   1411
PMF2         SA1    PMFA0                                               MAINLUP   1412
             SA4    SBASE          . PACK THE RELATIVE FWA AND LWA OF   MAINLUP   1413
             SA2    SPOS           .  SUBSTRING MATCHED INTO THE        MAINLUP   1414
             SA3    PMFHD          .  HEADING                           MAINLUP   1415
             IX1    X1-X4                                               MAINLUP   1416
             IX2    X2-X4                                               MAINLUP   1417
             LX1    18                                                  MAINLUP   1418
             BX1    X1+X2                                               MAINLUP   1419
             SA5    PMA5                                                MAINLUP   1420
             LX1    18                                                  MAINLUP   1421
             SA5    X5                                                  MAINLUP   1422
             BX7    X1+X3                                               MAINLUP   1423
             SA7    B6             . STORE THE HEADING                  MAINLUP   1424
             EQ     NEXTMIC                                             MAINLUP   1425
*                                                                       MAINLUP   1426
PMFHD        VFD    5/SPECTY,55/1                                       MAINLUP   1427
*  END PATTERN MATCH DRIVER...                                          MAINLUP   1428
STAR         SX7    STARPM         . MICRO OPERATION  STAR              MAINLUP   1429
             EQ     PRD1                                                MAINLUP   1430
*                                                                       MAINLUP   1431
DOL          SX7    DOLPM            MICRO OPERATION  DOL               MAINLUP   1432
             EQ     PRD1                                                MAINLUP   1433
*                                                                       MAINLUP   1434
PRD          SX7    PRDPM            MICRO OPERATION  PERIOD            MAINLUP   1435
PRD1         SX5    X5                                                  MAINLUP   1436
             LX7    48                                                  MAINLUP   1437
             SB1    PRD4             RETURN ADDRESS OF STOP             MAINLUP   1438
             NZ     X5,PRD2          BRANCH IF ADDRESS IS GIVEN         MAINLUP   1439
         SB6   B6-2                . IF NOT, USE TOPOPERAND NAME        MAINLUP   1440
         SA1   B6+1                . INSTEAD.  NOTE THAT REFERENCE COUNTMAINLUP   1441
         SX5   X1+0                . IS NOT DECREMENTED.                MAINLUP   1442
PRD2         BX7    X7+X5                                               MAINLUP   1443
             DF     X7,STAR1       . BRANCH IF STAR                     MAINLUP   1444
         BX5   X7                  . PACK PM OP. INTO X5                MAINLUP   1445
         SA2   PRDWD                                                    MAINLUP   1446
         SB3   PRDSW                                                    MAINLUP   1447
         JP    CHEK                . DISPATCH ON LEFT OPERAND TYPE      MAINLUP   1448
*                                                                       MAINLUP   1449
PRDWD        SWITCH  PRDSW,3,2,4,4,5,6,6,1,0,0,0,0,0,0,0                MAINLUP   1450
*                                                                       MAINLUP   1451
+            ERROR  45             . 0, R,A,D,N,C                       MAINLUP   1452
+            RJ     ITOS           . 1, I                               MAINLUP   1453
+            SB1    PRD4           . 2, S                               MAINLUP   1454
             EQ     STOP                                                MAINLUP   1455
+            SX4    B6-1             3, SF                              MAINLUP   1456
             EQ     PMSF                                                MAINLUP   1457
+            SA4    B6-1             4, SS,SI                           MAINLUP   1458
             EQ     PMSSSI                                              MAINLUP   1459
+            EQ     PRD4             5, PS                              MAINLUP   1460
+            SA2    B6               6, PE,PA                           MAINLUP   1461
             SB1    X2               EXPPM BRACKETS HAVE TO BE          MAINLUP   1462
             SB2    B6-B1             INSERTED AROUND THE PATTERN       MAINLUP   1463
             SB3    B6                                                  MAINLUP   1464
             SA0    2                RESERVE TWO WORDS FOR THE BRACKETS MAINLUP   1465
             RJ     RESERVE                                             MAINLUP   1466
             SB4    1                                                   MAINLUP   1467
             SX0    EXPPM                                               MAINLUP   1468
PRD3         SB3    B3-B4            PUSH PATTERN ONE WORD TOWARDS      MAINLUP   1469
             SA1    B3               HIGH CORE                          MAINLUP   1470
             EQ     B2,B3,PRD5                                          MAINLUP   1471
             BX7    X1                                                  MAINLUP   1472
             SA7    B3+B4                                               MAINLUP   1473
             EQ     PRD3                                                MAINLUP   1474
PRD5         SX7    ENDEXPM                                             MAINLUP   1475
             SX2    PSTY                                                MAINLUP   1476
             LX0    48                                                  MAINLUP   1477
             LX7    48                                                  MAINLUP   1478
             LX2    55                                                  MAINLUP   1479
             SA7    B6-B4            STORE ENDEXPM                      MAINLUP   1480
             SX6    B1+B4                                               MAINLUP   1481
             SX7    X6+B4                                               MAINLUP   1482
             BX6    X6+X0                                               MAINLUP   1483
             BX7    X7+X2                                               MAINLUP   1484
             SA6    B2+B4            STORE EXPPM                        MAINLUP   1485
             SA7    B6+0             STORE HEADING                      MAINLUP   1486
*  THE TOP OPERAND IS PS NOW...                                         MAINLUP   1487
PRD4         SA0    1                COMMON PART                        MAINLUP   1488
             RJ     RESERVE          RESERVE ONE WORD FOR PRD OR DOL    MAINLUP   1489
             SA1    B6-1                                                MAINLUP   1490
             BX7    X5                                                  MAINLUP   1491
             SX0    A0                                                  MAINLUP   1492
             SA7    A1               STORE PRD OR DOL                   MAINLUP   1493
             IX6    X1+X0            BUMP BYPASS                        MAINLUP   1494
             SA6    B6+0                                                MAINLUP   1495
             EQ     SNDMIC                                              MAINLUP   1496
*                                                                       MAINLUP   1497
 STAR1   SA0   2                   . STAR CREATES A PE TYPE ENTRY       MAINLUP   1498
             RJ     RESERVE           IN THE STACK                      MAINLUP   1499
          SX6      PETY                                                 MAINLUP   1500
             SX1    A0                                                  MAINLUP   1501
             LX6    55                                                  MAINLUP   1502
             BX6    X1+X6                                               MAINLUP   1503
             SA7    B6-1                                                MAINLUP   1504
             SA6    B6                                                  MAINLUP   1505
             EQ     SNDMIC                                              MAINLUP   1506
*                                                                       MAINLUP   1507
*                                                                       MAINLUP   1508
 NULL    SB1   SNDMIC              . MICRO OPERATION NULL               MAINLUP   1509
         RJ    ZROX7                                                    MAINLUP   1510
NULL0    MX0   5                                                        MAINLUP   1511
         BX2    X2-X2              . PUT AN SF TYPE ENTRY               MAINLUP   1512
         BX7    -X0*X7             .  TO THE TOP OF THE STACK           MAINLUP   1513
*                                                                       MAINLUP   1514
*  CREATE TWO WORD ENTRY IN THE STACK                                   MAINLUP   1515
*  PARAM: X2 TYPE OF THE ENTRY                                          MAINLUP   1516
*         X7 WORD 0 OF THE ENTRY                                        MAINLUP   1517
*  RETURN B1                                                            MAINLUP   1518
STAK2    SA0   2                                                        MAINLUP   1519
         RJ    RESERVE                                                  MAINLUP   1520
         SX6   2                                                        MAINLUP   1521
         SA7   B6-1                                                     MAINLUP   1522
         BX6   X6+X2                                                    MAINLUP   1523
         SA6   B6                                                       MAINLUP   1524
         JP    B1                                                       MAINLUP   1525
*                                  . MICRO OPERATION ZERO               MAINLUP   1526
ZERO     SX2    ITY                . SAME WITH A 0 VALUED INTEGER       MAINLUP   1527
         SX7   B0                                                       MAINLUP   1528
         LX2   55                                                       MAINLUP   1529
         SB1   SNDMIC                                                   MAINLUP   1530
         JP    STAK2                                                    MAINLUP   1531
*                                  . MICRO OPERATION NAME               MAINLUP   1532
NAME     SX1   X5                  . SAME WITH A NAME IN X5             MAINLUP   1533
         SB1   SNDMIC                                                   MAINLUP   1534
*                                                                       MAINLUP   1535
X1NAME   BX7   X1                  . SAME WITH A NAME IN X1             MAINLUP   1536
         SX2   NTY                                                      MAINLUP   1537
         LX2   55                                                       MAINLUP   1538
         BX7   X7+X2                                                    MAINLUP   1539
         JP    STAK2                                                    MAINLUP   1540
*                                                                       MAINLUP   1541
*                                                                       MAINLUP   1542
*  MICRO OPERATION: ARRAY LEFT BRACKET                                  MAINLUP   1543
 ARRAY   SA1   X5                                                       MAINLUP   1544
         BX7   X1                                                       MAINLUP   1545
         AX1   55                                                       MAINLUP   1546
         BX6   X6-X6                                                    MAINLUP   1547
         SX1   X1-ATY              . ERROR, LEFT OPERAND                MAINLUP   1548
         NZ    X1,ERR4             . IS NOT AN ARRAY                    MAINLUP   1549
         SA0   4                   . RESERVE SPACE FOR 4 WORD           MAINLUP   1550
         RJ    RESERVE             .  SELECTOR STACK ENTRY              MAINLUP   1551
         SA7   B6-1                . STORE ATY SVD                      MAINLUP   1552
         SA6   B6-2                . SET SELECTOR TO ZERO               MAINLUP   1553
         SA6   B6-3                . SET SUBSCRIPT NUMBER TO ZERO       MAINLUP   1554
         SA1   ATYWD                                                    MAINLUP   1555
         AX7   18                                                       MAINLUP   1556
         MX0   59                  . =-1                                MAINLUP   1557
         BX6   X1                                                       MAINLUP   1558
         SA2   X7                  . FETCH WORD 0 OF STRUCTURE          MAINLUP   1559
         SA6   B6                  . STORE ATY STACK HEADING            MAINLUP   1560
         IX7   X2-X0               . INCREMENT REFERENCE COUNT          MAINLUP   1561
         SA7   A2                  . NO NEED TO CHECK FOR OVERFLOW HERE MAINLUP   1562
         JP    NEXTMIC                                                  MAINLUP   1563
 ATYWD   VFD   5/ATY,55/4                                               MAINLUP   1564
*                                                                       MAINLUP   1565
 SUBCOM  SB1   1                   . MICRO OPERATION:  SUBSCRIPT COMMA  MAINLUP   1566
         RJ    SARRAY                                                   MAINLUP   1567
         NG    X4,ERR6             . ERROR, TOO MANY SUBSCRIPTS         MAINLUP   1568
         SA4   A4+B1               . FETCH MULTIPLIER                   MAINLUP   1569
         PX6   X6                  . OLD SELECTOR+X-L                   MAINLUP   1570
         AX4   36                                                       MAINLUP   1571
         SX1   X4                  . U-L+1                              MAINLUP   1572
         PX1   X1                                                       MAINLUP   1573
         DX6   X1*X6                                                    MAINLUP   1574
         UX6   X6                                                       MAINLUP   1575
         SA6   A2                  . STORE NEW VECTOR SUM               MAINLUP   1576
         EQ    NEXTMIC                                                  MAINLUP   1577
*                                                                       MAINLUP   1578
 ARRAYN  MX5   1                   . MICRO OPERATION:  ARRAY NAME       MAINLUP   1579
         JP    ARRAYV1                                                  MAINLUP   1580
*                                                                       MAINLUP   1581
 ARRAYV  SX5   0                   . MICRO OPERATION:  ARRAY VALUE      MAINLUP   1582
 ARRAYV1 SB1   1                                                        MAINLUP   1583
         RJ    SARRAY                                                   MAINLUP   1584
         PL    X4,ERR7             . ERROR, TOO FEW SUBSCRIPTS          MAINLUP   1585
         SA1   B6-1                                                     MAINLUP   1586
         SB6   A3-B1                                                    MAINLUP   1587
         AX1   18                  . BASE TO X1                         MAINLUP   1588
         SB1   SNDMIC                                                   MAINLUP   1589
*                                                                       MAINLUP   1590
*  SELSTR                                                               MAINLUP   1591
*  SELECT ELEMENT OF A STRUCTURE                                        MAINLUP   1592
*  PARAM:   X1  IS THE BASE FOR THE STRUCTURE                           MAINLUP   1593
*           X6  IS THE SELECTOR FOR THE ELEMENT-1                       MAINLUP   1594
*           X5  IS POSITIVE IF THE VALUE OF THE ELEMENT IS              MAINLUP   1595
*                DESIRED, OTHERWISE THE RESULT WILL BE A NAME           MAINLUP   1596
*           B1  IS THE RETURN ADDRESS                                   MAINLUP   1597
*                                                                       MAINLUP   1598
 SELSTR  NG    X5,SELSTRN          . BRANCH IF NAME IS DESIRED          MAINLUP   1599
         SA2   X1                  . FETCH WORD 0 OF STRUCTURE          MAINLUP   1600
         MX0   59                  . =-1                                MAINLUP   1601
         IX4   X1+X6                                                    MAINLUP   1602
         SX6   X4+1                                                     MAINLUP   1603
         SX4   X4+1                                                     MAINLUP   1604
         SA6   UA                  . SAVE ADDRESS FOR PMCHEK            MAINLUP   1605
         IX7   X0+X2               . DECREMENT REF. COUNT               MAINLUP   1606
         SX0   X7                                                       MAINLUP   1607
         SA7   A2                                                       MAINLUP   1608
         NZ    X0,SOPERND          . GET VALUE IF NOT ZERO              MAINLUP   1609
         BX6   X6-X6                                                    MAINLUP   1610
         SA6   A6                  . CLEAR UA, STRUCTURE DOES NOT EXIST MAINLUP   1611
         RJ    SCHHBC              . SCHEDULE HBC                       MAINLUP   1612
         JP    SOPERND                                                  MAINLUP   1613
 SELSTRN SX2   X1                                                       MAINLUP   1614
         SX1   X1+1                . CREATE NTY SVD                     MAINLUP   1615
         LX2   18                                                       MAINLUP   1616
         IX1   X1+X6                                                    MAINLUP   1617
         BX1   X1+X2                                                    MAINLUP   1618
         JP    X1NAME                                                   MAINLUP   1619
*                                                                       MAINLUP   1620
*  SARRAY                                                               MAINLUP   1621
*  PROCESS ARRAY SUBSCRIPTS                                             MAINLUP   1622
*  PARAM:    B1=1                                                       MAINLUP   1623
*  RESULTS:  X6 NEW SELECTOR                                            MAINLUP   1624
*            X4(A4) CURRENT DIMENSION WORD                              MAINLUP   1625
*  X5 IS SAVED                                                          MAINLUP   1626
 SARRAY  DATA  0                                                        MAINLUP   1627
SARRAY1  SA1   B6                  . OPERAND IS SITY USUALLY            MAINLUP   1628
         AX1   55                                                       MAINLUP   1629
         SX1   X1-SITY                                                  MAINLUP   1630
         NZ    X1,SARRAY2                                               MAINLUP   1631
         SA1   B6-B1               . INDEX VALUE X                      MAINLUP   1632
         SA1   X1                                                       MAINLUP   1633
         SA1   X1-1                                                     MAINLUP   1634
         SB6   B6-2                                                     MAINLUP   1635
SARRAY3  SA4   B6-B1               . FETCH ATY SVD                      MAINLUP   1636
         SB2   X4                  . DOPE POINTER TO B2                 MAINLUP   1637
         SA2   A4-B1               . OLD SELECTOR                       MAINLUP   1638
         SA3   A2-B1               . SUBSCRIPT NUMBER                   MAINLUP   1639
         SX7   X3+B1               . INCREMENT SN                       MAINLUP   1640
         SA4   X7+B2               . FETCH DIMENSION WORD               MAINLUP   1641
         SA7   A3                                                       MAINLUP   1642
         SX3   X4                  . UPPER LIMIT                        MAINLUP   1643
         AX4   18                                                       MAINLUP   1644
         SX7   X4                  . LOWER LIMIT                        MAINLUP   1645
         IX3   X3-X1                                                    MAINLUP   1646
         IX0   X1-X7                                                    MAINLUP   1647
         IX6   X2+X0               . ADD X-L TO SELECTOR                MAINLUP   1648
         NG    X3,FAIL             . FAIL IF OUT OF BOUNDS              MAINLUP   1649
         PL    X0,SARRAY                                                MAINLUP   1650
         JP    FAIL                                                     MAINLUP   1651
*                                                                       MAINLUP   1652
 SARRAY2 SA1   TENTO9              . CHECK SUBSCRIPT VALUE              MAINLUP   1653
         SA0   9                                                        MAINLUP   1654
         BX0   X1                                                       MAINLUP   1655
         RJ    SACHEK                                                   MAINLUP   1656
         ZR    X7,ERR47            . ERROR IF REAL                      MAINLUP   1657
         SA1   B6-1                                                     MAINLUP   1658
         SB1   1                                                        MAINLUP   1659
         SB6   A1-B1                                                    MAINLUP   1660
         LX7   3                                                        MAINLUP   1661
         NG    X7,SARRAY3                                               MAINLUP   1662
         JP    FAIL                . IF S TYPE, IT IS TOO BIG           MAINLUP   1663
*                                                                       MAINLUP   1664
*                                                                       MAINLUP   1665
*                                                                       MAINLUP   1666
 INDRCN  RJ    INDRCT              . MICRO OPERATION INDIRECT NAME      MAINLUP   1667
         SB1   SNDMIC                                                   MAINLUP   1668
         EQ    X1NAME                                                   MAINLUP   1669
*                                                                       MAINLUP   1670
INDRCV   RJ    INDRCT              . MICRO OPERATION: INDIRECT VALUE    MAINLUP   1671
         EQ    X1VALUE                                                  MAINLUP   1672
*                                                                       MAINLUP   1673
 OPRND   SX1   X5                  . MICRO OPERATION OPERAND VALUE      MAINLUP   1674
         EQ    X1VALUE                                                  MAINLUP   1675
*                                                                       MAINLUP   1676
 ASGN    SX3   X5+0                . MICRO OPERATION ASSIGN             MAINLUP   1677
         ZR    X3,ASGN1                                                 MAINLUP   1678
         SB2   B6                                                       MAINLUP   1679
         RJ    SASSIGN                                                  MAINLUP   1680
         SA1   B6                  . SKIP ASSIGNED VALUE                MAINLUP   1681
         SB1   X1+0                                                     MAINLUP   1682
         SB6   B6-B1                                                    MAINLUP   1683
         EQ    NEXTMIC                                                  MAINLUP   1684
         SB2   X1+1                                                     MAINLUP   1685
ASGN1    SA1   B6                  . FETCH LEFTOPERAND NAME             MAINLUP   1686
         SB2   X1                                                       MAINLUP   1687
         SB2   B2+1                                                     MAINLUP   1688
         SA3   B6-B2                                                    MAINLUP   1689
         SB2   B6                                                       MAINLUP   1690
         RJ    SASSIGN             . PERFORM ASSIGNMENT                 MAINLUP   1691
         SA1   B6                  . SKIP BOTH OPERANDS                 MAINLUP   1692
         SB2   X1                                                       MAINLUP   1693
         SB6   B6-B2                                                    MAINLUP   1694
         CALL  SSKIP,,NEXTMIC                                           MAINLUP   1695
*                                                                       MAINLUP   1696
ASGNPM   SB3   ASPMSW              . MICRO OPERATION                    MAINLUP   1697
         SA2   ASPMWD              . ASSIGNMENT WITH A PATTERN MATCH    MAINLUP   1698
         EQ    CHEK                .  LEFT OPERAND                      MAINLUP   1699
*                                                                       MAINLUP   1700
ASPMWD   SWITCH ASPMSW,3,2,4,4,0,0,0,1,0,0,0,0,0,0,0                    MAINLUP   1701
*                                                                       MAINLUP   1702
+        ERROR 46                  . 0,  P,R,A,N,D,C                    MAINLUP   1703
+        SB1   *+2                 . 1,  I                              MAINLUP   1704
         EQ    ITOSFTP                                                  MAINLUP   1705
+        RJ    SCATS               . 2,  S                              MAINLUP   1706
+        SX4   B6-1                . 3,  SF                             MAINLUP   1707
         EQ    ASPM0                                                    MAINLUP   1708
+        SA4   B6-1                . 4,  SS,SI                          MAINLUP   1709
ASPM0    SA2   B6-3                                                     MAINLUP   1710
         SA3   B6-2                                                     MAINLUP   1711
         SB3   X2                                                       MAINLUP   1712
         SB5   A2-B3               . STRING BASE                        MAINLUP   1713
         AX3   18                                                       MAINLUP   1714
         SB2   X3+B5               . FIRST CHARACTER MATCHED            MAINLUP   1715
         SB3   B7                  . FIRST OF RESULT STRING             MAINLUP   1716
         BX7   X7-X7               . OUTPUT WORD                        MAINLUP   1717
         SB4   48                  . OUTPUT POSITION COUNT              MAINLUP   1718
ASPM1    SA0   X3-1                . LENGTH IS BEING ACCUMULATED IN A0  MAINLUP   1719
ASPM2    SB5   B5+1                                                     MAINLUP   1720
         GE    B5,B2,ASPM5         . END PACK                           MAINLUP   1721
         SA2   B5+0                . NEXT CHAR                          MAINLUP   1722
         SB4   B4-6                                                     MAINLUP   1723
         NE    B4,B0,ASPM4         . BYPASS IF WORD IS NOT FULL         MAINLUP   1724
         SA1   B7+0                                                     MAINLUP   1725
         NZ    X1,ASPM3            . GET A FREE WORD                    MAINLUP   1726
         RJ    MORFREE                                                  MAINLUP   1727
ASPM3    SX1   X1                                                       MAINLUP   1728
         SB7   X1                                                       MAINLUP   1729
         LX7   18                                                       MAINLUP   1730
         BX6   X7+X1               . ADD LINK                           MAINLUP   1731
         BX7   X7-X7                                                    MAINLUP   1732
         SA6   A1                  . STORE OUTPUT WORD                  MAINLUP   1733
         SB4   42                                                       MAINLUP   1734
ASPM4    LX7   6                   . PACK CHAR INTO OUTPUT WORD         MAINLUP   1735
         BX7   X7+X2                                                    MAINLUP   1736
         EQ    ASPM2                                                    MAINLUP   1737
ASPM5    LX7   12                                                       MAINLUP   1738
         LX7   X7,B4               . LEFT JUSTIFY LAST WORD             MAINLUP   1739
         SA1   B7+0                                                     MAINLUP   1740
         NZ    X1,ASPM6            . GET A FREE WORD                    MAINLUP   1741
         RJ    MORFREE                                                  MAINLUP   1742
ASPM6    SB7   X1                                                       MAINLUP   1743
         EQ    B3,B0,ASPM8         . EXIT IF FLAG IS SET                MAINLUP   1744
         MX0   6                   . OTHERWISE PREPARE FOR CONCATENA-   MAINLUP   1745
         SA2   X4                  .  TION                              MAINLUP   1746
         SX3   A1                                                       MAINLUP   1747
         SB5   ASPMR               . RETURN TO B5                       MAINLUP   1748
         BX4   X2                                                       MAINLUP   1749
         AX4   36                                                       MAINLUP   1750
         SB2   X4                                                       MAINLUP   1751
         SA0   A0+B2               . SUM LENGTHS IN A0                  MAINLUP   1752
         SB2   B4-6                . SET SHIFTS FOR CONCAT              MAINLUP   1753
         SB1   B2+18                                                    MAINLUP   1754
         EQ    CATSF               . PERFORM CONCATENATION              MAINLUP   1755
ASPMR    SX6   B7                  . UPON RETURN AN EXTRA WORD HAS      MAINLUP   1756
         SB7   X3                  .  BEEN RESERVED, RELEASE IT         MAINLUP   1757
         SA6   X3                                                       MAINLUP   1758
         MX0   6                                                        MAINLUP   1759
         SX5   B3                  . FIRST TO X5                        MAINLUP   1760
         SB3   B0                  . SET FLAG TO EXIT                   MAINLUP   1761
         SA1   B6-2                                                     MAINLUP   1762
         SA2   B6-3                                                     MAINLUP   1763
         AX1   36                  . LAST CHARACTER MATCHED TO B5       MAINLUP   1764
         SB5   X2                                                       MAINLUP   1765
         SB2   A2                                                       MAINLUP   1766
         SB5   A2-B5                                                    MAINLUP   1767
         SB5   B5+X1                                                    MAINLUP   1768
         SB1   B2-B5                                                    MAINLUP   1769
         SX3   A0+B1               . FINAL LENGTH + 1                   MAINLUP   1770
         SB4   48                                                       MAINLUP   1771
ASPM7    BX1   X0*X7               . RIGHT JUSTIFY LAST WORD            MAINLUP   1772
         ZR    X1,ASPM1                                                 MAINLUP   1773
         LX7   6                                                        MAINLUP   1774
         SB4   B4-6                                                     MAINLUP   1775
         EQ    ASPM7                                                    MAINLUP   1776
ASPM8    SA7   A1+0                                                     MAINLUP   1777
         SA3   B6-3                                                     MAINLUP   1778
         SX1   A1                  . LAST                               MAINLUP   1779
         SX2   A0                  . LENGTH                             MAINLUP   1780
         LX1   18                                                       MAINLUP   1781
         LX2   36                                                       MAINLUP   1782
         BX6   X5+X2                                                    MAINLUP   1783
         BX6   X6+X1               . FORM SVD IN B6                     MAINLUP   1784
         SA6   TEMPDOL                                                  MAINLUP   1785
         SB2   TEMPDOL+1                                                MAINLUP   1786
         SA6   B2                                                       MAINLUP   1787
         AX3   18                                                       MAINLUP   1788
         SX3   X3+0                                                     MAINLUP   1789
         ZR    X3,ERR25            . LEFT OPERAND NOT VARIABLE          MAINLUP   1790
         RJ    SASSIGN             . PERFORM ASSIGNMENT                 MAINLUP   1791
         EQ    SKIP                . SKIP ENTRIES IN THE STACK          MAINLUP   1792
*                                                                       MAINLUP   1793
*                                                                       MAINLUP   1794
PARAM    RJ    SPARAM              . MICRO OPERATION                    MAINLUP   1795
         EQ    NEXTMIC             .  PARAMETER COMMA                   MAINLUP   1796
*                                                                       MAINLUP   1797
SPARAM   NO                                                             MAINLUP   1798
+        SA2   PRMWD               . SWITCH ON TYPE OF TOPOPERAND       MAINLUP   1799
         SB3   PRMSW                                                    MAINLUP   1800
         EQ    CHEK                                                     MAINLUP   1801
*                                                                       MAINLUP   1802
PRMWD    SWITCH PRMSW,1,0,2,3,1,1,1,1,1,1,1,1,1,1,1                     MAINLUP   1803
+        RJ    SCATS               . 0, S                               MAINLUP   1804
+        EQ    SPARAM              . 1, SF,PS,PA,PE,I,R,A,D,N,C         MAINLUP   1805
+        SA1   B6-1                . 2, SS                              MAINLUP   1806
         EQ    PRMSS                                                    MAINLUP   1807
+        SA1   B6-1                . 3, SI                              MAINLUP   1808
         SA3   ITYWD               . REPLACE SI BY I                    MAINLUP   1809
         SA2   X1+1                . HEADING TO X3, INTEGER TO X2       MAINLUP   1810
         BX7   X3                                                       MAINLUP   1811
         BX6   X2                                                       MAINLUP   1812
         SA7   B6                                                       MAINLUP   1813
         SA6   A1                                                       MAINLUP   1814
         EQ    SPARAM                                                   MAINLUP   1815
PRMSS    SX7   2                   . MAKE A COPY OF SS                  MAINLUP   1816
         SA2   X1                                                       MAINLUP   1817
         SA7   B6                  . SF TYPE HEADING                    MAINLUP   1818
         RJ    SSTOSF                                                   MAINLUP   1819
         SA6   B6-1                                                     MAINLUP   1820
         EQ    SPARAM                                                   MAINLUP   1821
*                                                                       MAINLUP   1822
SSTYWD   VFD   5/SSTY,55/2         . SS TYPE HEADING                    MAINLUP   1823
ITYWD    VFD   5/ITY,55/2          . I TYPE HEADING                     MAINLUP   1824
*                                                                       MAINLUP   1825
*  MICRO OPERATION CALL, CONTINUED...                                   MAINLUP   1826
*                                                                       MAINLUP   1827
CALL0    AX5   18                                                       MAINLUP   1828
         SB1   X5                  . NUMBER OF ACTUAL PARAMETERS TO B1  MAINLUP   1829
         BX1   X4                                                       MAINLUP   1830
         LX1   1                                                        MAINLUP   1831
         NG    X1,FIELD            . BRANCH IF FIELD SELECTOR           MAINLUP   1832
         AX1   19                  . NUMBER OF FORMAL PARAMETERS        MAINLUP   1833
         SB2   X1                                                       MAINLUP   1834
 CALL0A  LT    B2,B1,CALL7         . BRANCH IF TOO MANY ACTUAL PARAMS   MAINLUP   1835
         SB5   B6                                                       MAINLUP   1836
         SA3   B5                                                       MAINLUP   1837
 CALL1   EQ    B1,B0,CALL2                                              MAINLUP   1838
         SB4   X3                  . LINK ACTUAL PARAMETERS             MAINLUP   1839
         SX7   B4                  .  TOGETHER IN REVERSE ORDER.        MAINLUP   1840
         SX6   B5                                                       MAINLUP   1841
         SB5   B5-B4                                                    MAINLUP   1842
         SB1   B1-1                                                     MAINLUP   1843
         EQ    B1,B0,CALL2                                              MAINLUP   1844
         LX7   36                                                       MAINLUP   1845
         SA3   B5                                                       MAINLUP   1846
         BX7   X3+X7                                                    MAINLUP   1847
         SA7   A3                                                       MAINLUP   1848
         EQ    CALL1                                                    MAINLUP   1849
CALL2    AX1   18                                                       MAINLUP   1850
         SB1   X1+B5               . APPETITE IS IN X1                  MAINLUP   1851
         AX1   19                                                       MAINLUP   1852
         SX3   B6-B5               . X3=0 IFF NO PARAMS                 MAINLUP   1853
         NZ    X1,DATCON           . BRANCH IF NOT PROCEDURE CALL       MAINLUP   1854
         GE    B6,B1,CALL3         . MAKE SURE THAT THERE WILL BE       MAINLUP   1855
         SA0   B1-B6               . ENOUGH SPACE FOR THE RETURN INFO.  MAINLUP   1856
         RJ    RESERVE                                                  MAINLUP   1857
CALL3    SA4   A4                  . PROCEDURE DESCRIPTION MIGHT HAVE   MAINLUP   1858
         SB1   X4                  .  CHANGED                           MAINLUP   1859
         SB2   X6                                                       MAINLUP   1860
         SX6   B5                                                       MAINLUP   1861
         SA6   CALLB5P                                                  MAINLUP   1862
         ZR    X3,CALL5            . BRANCH IF NO PARAMS                MAINLUP   1863
CALL4    SA3   B1                  . THIS LOOP TAKES THE ACTUAL         MAINLUP   1864
         AX3   18                  .  PARAMETERS AND ASSIGNS THEM TO    MAINLUP   1865
         SA1   X3                  .  THE FORMAL VARIABLES FROM THE     MAINLUP   1866
         SX7   B0                  .  LEFT TO THE RIGHT. THE ORIGINAL   MAINLUP   1867
         BX5   X1                  .  DESCRIPTORS AS WELL AS THEIR      MAINLUP   1868
         SA7   A1                  .  ADDRESSES ARE SAVED IN THE STACK  MAINLUP   1869
         RJ   SASSIGN                                                   MAINLUP   1870
         SA2   B2                                                       MAINLUP   1871
         AX2   36                  . LINK TO NEXT ACTUAL PARAM          MAINLUP   1872
         SB2   X2+B2                                                    MAINLUP   1873
         BX7   X5                                                       MAINLUP   1874
         SB5   B5+2                                                     MAINLUP   1875
         SA7   B5-1                . STORE ORIGINAL DESCRIPTOR          MAINLUP   1876
         SB3   X2                                                       MAINLUP   1877
         SA2   B1                                                       MAINLUP   1878
         SB1   X2                  . FORMAL ADDRESSES ARE TAKEN FROM    MAINLUP   1879
         AX2   18                  .  THIS LIST                         MAINLUP   1880
         BX7   X2                                                       MAINLUP   1881
         SA7   B5                  . STORE FORMAL ADDRESS               MAINLUP   1882
         NE    B3,B0,CALL4         . ZERO MARKS END OF PARAM-LINK       MAINLUP   1883
CALL5    SA2   B1                  . IF THERE ARE LESS ACTUALS THAN     MAINLUP   1884
         NG    X2,CALL6            . FORMALS,NULL VALUE IS SIMULATED    MAINLUP   1885
         SB1   X2                  .  FOR THE REST                      MAINLUP   1886
         SB5   B5+2                                                     MAINLUP   1887
         AX2   18                                                       MAINLUP   1888
         SA3   X2                                                       MAINLUP   1889
         BX7   X3                                                       MAINLUP   1890
         SA7   B5-1                                                     MAINLUP   1891
         SX7   X2                                                       MAINLUP   1892
         SA7   B5                                                       MAINLUP   1893
         RJ    ZROX7                                                    MAINLUP   1894
         SA7   X2                                                       MAINLUP   1895
         EQ    CALL5                                                    MAINLUP   1896
CALL6    SA1   INFAIL              . SYSTEM VARIABLES HAVE TO BE        MAINLUP   1897
         SX7   A5                  . STACKED AS WELL                    MAINLUP   1898
         LX1   60-18               . INFAIL TO F3                       MAINLUP   1899
         BX6   X6-X6                                                    MAINLUP   1900
         SA6   INFAIL              . CLEAR INFAIL                       MAINLUP   1901
         LX7   18                                                       MAINLUP   1902
         BX7   X1+X7                                                    MAINLUP   1903
         AX2   18                  . ADDRESS OF ENTRY LABEL TO X2       MAINLUP   1904
         SB6   B5+1                . NEW B6                             MAINLUP   1905
         MX0   1                   . STACK TYPE: RETURN INFORMATION     MAINLUP   1906
         SA1   CALLB5P                                                  MAINLUP   1907
         SB5   X1                                                       MAINLUP   1908
         SX1   B6-B5               . BYPASS VALUE                       MAINLUP   1909
         BX7   X7+X0                                                    MAINLUP   1910
         BX7   X7+X1                                                    MAINLUP   1911
         SX5   X2                                                       MAINLUP   1912
         SA7   B6                                                       MAINLUP   1913
         SB1   GOTO1                                                    MAINLUP   1914
         JP    NEWRULE                                                  MAINLUP   1915
*                                                                       MAINLUP   1916
CALL7    CALL  SKIPONE,B5                                               MAINLUP   1917
         SB1   B1-1                . DECREMENT NO. OF ACTUALS           MAINLUP   1918
         BX1   X4                                                       MAINLUP   1919
         AX1   18                  . RESTORE X1                         MAINLUP   1920
         JP    CALL0A                                                   MAINLUP   1921
*                                                                       MAINLUP   1922
*  SKIP THE LAST ACTUAL PARAMETER...                                    MAINLUP   1923
*  THIS CODE IS SIMILAR TO SSKIP, BUT SLOWER                            MAINLUP   1924
*  RETURN:  B5                                                          MAINLUP   1925
*  X0,X1,X2,X3,X7,B3,B4                                                 MAINLUP   1926
*                                                                       MAINLUP   1927
SKIPONE  SA1   B6                                                       MAINLUP   1928
         SB4   X1                                                       MAINLUP   1929
         AX1   55                                                       MAINLUP   1930
         SB6   B6-B4                                                    MAINLUP   1931
         SX0   X1-ATY                                                   MAINLUP   1932
         ZR    X1,CALL8            . BRANCH IF SF                       MAINLUP   1933
         NG    X0,CALL9                                                 MAINLUP   1934
         SX0   X1-CTY                                                   MAINLUP   1935
 CALL8   PL    X0,CALL9                                                 MAINLUP   1936
         SB3   B6+B4               . RELEASE ATY, DTY, NTY OR SFTY SVD. MAINLUP   1937
         SB3   B3-1                                                     MAINLUP   1938
         RJ    FREESTR                                                  MAINLUP   1939
CALL9    JP    B5                  . RETURN                             MAINLUP   1940
*                                                                       MAINLUP   1941
*  DATA CONSTRUCTOR CALL...                                             MAINLUP   1942
*  X4 CONTAINS THE DATATYP FUD                                          MAINLUP   1943
*  X6 POINTS TO THE STACK ENTRY OF THE FIRST PARAM IF ANY               MAINLUP   1944
*  B2 IS THE NUMBER OF FIELDS                                           MAINLUP   1945
*                                                                       MAINLUP   1946
DATCON   SX1   X1-DATATYP                                               MAINLUP   1947
         NZ    X1,ERR14            . BRANCH IF FUNCTION IS UNDEFINED    MAINLUP   1948
         LX5   37                                                       MAINLUP   1949
         NG    X5,ERR28            . CANNOT GIVE NAME RESULT            MAINLUP   1950
         SB4   X6                                                       MAINLUP   1951
         SB5   B5-B6               . RELATIVE TO B6 SINCE THE           MAINLUP   1952
         SB4   B4-B6               . STACK MAY MOVE DURING RESHB.       MAINLUP   1953
         SB1   B2+1                                                     MAINLUP   1954
         RJ    RESHB                                                    MAINLUP   1955
         SB2   B4+B6               . SAME AS X6 ABOVE                   MAINLUP   1956
         SX2   B1                  . BYPASS FOR THE HB                  MAINLUP   1957
         SB1   B1-1                                                     MAINLUP   1958
         SX5   B3                  . BASE OF STRUCTURE                  MAINLUP   1959
         SX6   X4                  . POINTER TO THE DOPE VECTOR         MAINLUP   1960
         LX5   18                                                       MAINLUP   1961
         LX2   36                                                       MAINLUP   1962
         BX7   X6+X5               . PREPARE DTY SVD RESULT             MAINLUP   1963
         SA7   DATAWD                                                   MAINLUP   1964
         LX6   18                                                       MAINLUP   1965
         SX0   STRTYP                                                   MAINLUP   1966
         SX7   1                   . REFERENCE COUNT                    MAINLUP   1967
         LX0   55                                                       MAINLUP   1968
         BX7   X7+X6               . + DOPE POINTER                     MAINLUP   1969
         BX7   X7+X2               . + BYPASS                           MAINLUP   1970
         BX7   X7+X0               . + STRTYP                           MAINLUP   1971
         LX5   60-18                                                    MAINLUP   1972
         SA7   X5                  . IS WORD 0 OF THE STRUCTURE         MAINLUP   1973
         EQ    B1,B0,DATA5                                              MAINLUP   1974
DATA3    SB1   B1-1                . MUCH LIKE TO A PROCEDURE CALL      MAINLUP   1975
         SX5   X5+1                .  THE PARAMETERS ARE ASSIGNED TO    MAINLUP   1976
         SX6   B0                  .  NEW VARIABLES                     MAINLUP   1977
         BX3   X5                                                       MAINLUP   1978
         SA6   X5                                                       MAINLUP   1979
         RJ   SASSIGN                                                   MAINLUP   1980
         SA2   B2                  . LINK TO THE NEXT PARAMETER         MAINLUP   1981
         AX2   36                                                       MAINLUP   1982
         SB2   X2+B2                                                    MAINLUP   1983
         SB3   X2                                                       MAINLUP   1984
         NE    B3,B0,DATA3                                              MAINLUP   1985
         EQ    B1,B0,DATA5                                              MAINLUP   1986
DATA4    SX5   X5+1                . NULL STRINGS WILL BE SUBSTITUTED   MAINLUP   1987
         RJ    ZROX7               .  FOR MISSING PARAMETERS            MAINLUP   1988
         SA7   X5                                                       MAINLUP   1989
         SB1   B1-1                                                     MAINLUP   1990
         NE    B1,B0,DATA4                                              MAINLUP   1991
 DATA5   SX0   DTY                 . PUT A REFERENCE TO THE NEW         MAINLUP   1992
         SB6   B5+B6               . DATA STRUCTURE TO THE TOP OF       MAINLUP   1993
         LX0   55                  . THE STACK                          MAINLUP   1994
         SA0   2                                                        MAINLUP   1995
         RJ    RESERVE                                                  MAINLUP   1996
         SA2   DATAWD                                                   MAINLUP   1997
         SX1   A0                                                       MAINLUP   1998
         BX6   X0+X1                                                    MAINLUP   1999
         BX7   X0+X2                                                    MAINLUP   2000
         SA6   B6                                                       MAINLUP   2001
         SA7   B6-1                                                     MAINLUP   2002
         EQ    NEXTMIC                                                  MAINLUP   2003
*                                                                       MAINLUP   2004
*  FIELD SELECTOR FUNCTION                                              MAINLUP   2005
*  X4=FUD, X5=CALL MICOP RSHIFT 36, B1=NO. OF ACTUALS                   MAINLUP   2006
*                                                                       MAINLUP   2007
 FIELD   SA1   B6                                                       MAINLUP   2008
         SB2   1                                                        MAINLUP   2009
         AX1   55                                                       MAINLUP   2010
         NE    B1,B2,FIELD3        . WE WANT ONLY A SINGLE              MAINLUP   2011
         SX1   X1-DTY              . DTY ARGUMENT                       MAINLUP   2012
         NZ    X1,ERR21                                                 MAINLUP   2013
         SA1   B6-B2               . FETCH DTY SVD                      MAINLUP   2014
         SB6   A1-B2                                                    MAINLUP   2015
         SB3   X1                  . DOPE POINTER IN SVD                MAINLUP   2016
         BX2   X1                                                       MAINLUP   2017
         LX5   37                  . N BIT TO SIGN                      MAINLUP   2018
         AX1   18                                                       MAINLUP   2019
 FIELD1  SX3   X4                  . NEXT                               MAINLUP   2020
         AX4   18                                                       MAINLUP   2021
         SB4   X4+0                . DOPE POINTER IN FUD                MAINLUP   2022
         EQ    B3,B4,FIELD2        . BRANCH IF FUD IS APPLICABLE        MAINLUP   2023
         SA4   X3+0                . NEXT ON LIST                       MAINLUP   2024
         NZ    X3,FIELD1                                                MAINLUP   2025
         ERROR 22                  . NO SUCH FIELD IN THIS DATA STRUC.  MAINLUP   2026
FIELD2   AX4   18                  . FIELD SELECTOR TO X6               MAINLUP   2027
         SX6   X4-1                                                     MAINLUP   2028
         CALL  SELSTR,,NEXTMIC                                          MAINLUP   2029
*                                                                       MAINLUP   2030
FIELD3   SB1   B1-1                . DECREMENT NO. OF ACTUALS           MAINLUP   2031
         CALL  SKIPONE,B5,FIELD    . (SAVES X4,X5,B1)                   MAINLUP   2032
*                                                                       MAINLUP   2033
RETURN   SA2   B6                                                       MAINLUP   2034
         SB5   X2                                                       MAINLUP   2035
         PL    X2,RERR23           . ERROR, RETURN FROM LEVEL 0         MAINLUP   2036
         SB5   B6-B5                                                    MAINLUP   2037
         SB6   B6-1                                                     MAINLUP   2038
         SB1   B5                                                       MAINLUP   2039
XRET1    SB1   B1+2                . LOOP FOR RELEASING FORMAL          MAINLUP   2040
         GE    B1,B6,XRET3         .  PARAMETERS, AND FOR RESTORING     MAINLUP   2041
XRET4    SA3   B1                  .  THEIR DESCRIPTORS FROM THE STACK  MAINLUP   2042
         RJ    FREESVD                                                  MAINLUP   2043
         GE    B4,B0,XRET2                                              MAINLUP   2044
         SA1   X3                  . I/O TYPE NEEDS EXTRA TREATMENT     MAINLUP   2045
         SX7   B7                                                       MAINLUP   2046
         SB7   X1                                                       MAINLUP   2047
         SA7   X1                                                       MAINLUP   2048
         RJ    DECFIL                                                   MAINLUP   2049
XRET2    SA2   B1-1                                                     MAINLUP   2050
         BX6   X2                                                       MAINLUP   2051
         SA6   X3                                                       MAINLUP   2052
         EQ    XRET1                                                    MAINLUP   2053
XRET3    SB3   X5+2                . RELEASE PROCEDURE VALUE            MAINLUP   2054
         NE    B3,B0,XRET5         .  IF FRETURN                        MAINLUP   2055
         SX5   B0                                                       MAINLUP   2056
         EQ    XRET4                                                    MAINLUP   2057
XRET5    SB4   1                   . CONSTANT 1 FOR A WHILE             MAINLUP   2058
         SA3   B6+B4               . SYSTEM VARIABLES                   MAINLUP   2059
         SA2   B6-B4               . SVD OF PROCEDURE VALUE             MAINLUP   2060
         SA1   B6                  . ADDRESS OF PROCEDURE VALUE         MAINLUP   2061
         AX3   18                                                       MAINLUP   2062
         SA5   X3                  . RETURN ADDRESS TO A5               MAINLUP   2063
         MX0   1                                                        MAINLUP   2064
         LX3   36                  . STACKED INFAIL TO SIGN BIT         MAINLUP   2065
         BX7   X0*X3                                                    MAINLUP   2066
         MX0   59                                                       MAINLUP   2067
*  THE EFFECT OF THE NEXT INSTRUCTION IS INTERESTING ONLY IF THIS       MAINLUP   2068
*  CALL IS THE LEFT OPERAND OF A PM ASSIGNMENT                          MAINLUP   2069
          SA7       UA             . CLEAR UA                           MAINLUP   2070
         SA4   STCOUNT             . DECREASE STCOUNT                   MAINLUP   2071
         SA7   INFAIL                                                   MAINLUP   2072
         SB6   B5                                                       MAINLUP   2073
         IX7   X0+X4                                                    MAINLUP   2074
         SA7   A4                                                       MAINLUP   2075
         BX7   X2                  . SVD TO X7                          MAINLUP   2076
         LT    B4,B3,FAIL          . FINISHED IF FRETURN                MAINLUP   2077
         SA2   MINHS                                                    MAINLUP   2078
         SA3   X1                                                       MAINLUP   2079
         SA7   X1                  . RESTORE ORIGINAL VALUE OF PRO-     MAINLUP   2080
         SX4   X2                  . CEDURE NAME                        MAINLUP   2081
         BX6   X3                                                       MAINLUP   2082
         LX5   1                   . CHECK NAME BIT                     MAINLUP   2083
         AX3   55                                                       MAINLUP   2084
         GE    B3,B0,XRET6         . BRANCH IF NOT NRETURN              MAINLUP   2085
         BX5   -X5                                                      MAINLUP   2086
         SX3   X3-NTY                                                   MAINLUP   2087
         NG    X5,XRET9            . BRANCH IF VALUE IS NEEDED          MAINLUP   2088
         ZR    X3,XRET8            . UNLESS NAME OR STRING              MAINLUP   2089
         SX7   X3+NTY-SSTY         .                                    MAINLUP   2090
         NZ    X7,RERR26           . NRETURN VALUE ERROR                MAINLUP   2091
         JP    XRET7               . NOTE THAT X3 NE 0                  MAINLUP   2092
XRET6    NG    X5,RERR25           . ERROR, NO NRETURN WHEN NAME IS     MAINLUP   2093
                                   . NEEDED                             MAINLUP   2094
         SX3   X3-SSTY             . BRANCH IF VALUE IS NOT A STRING    MAINLUP   2095
         NZ    X3,XRET8                                                 MAINLUP   2096
XRET7    SX7   2                                                        MAINLUP   2097
         SB6   X7+B6               . STACK SF TYPE ENTRY                MAINLUP   2098
         MX0   6                   . CLEAR SS TYPE BITS                 MAINLUP   2099
         SA7   B6                                                       MAINLUP   2100
         BX6   -X0*X6                                                   MAINLUP   2101
         SA6   B6-1                                                     MAINLUP   2102
         ZR    X3,NEXTMIC          . FINISHED IF NOT NRETURN            MAINLUP   2103
         AX6   18+18               . RIGHT JUSTIFY CLENGTH              MAINLUP   2104
         ZR    X6,RERR27           . ERROR, INDIRECT THROUGH NULL STRINGMAINLUP   2105
         RJ    INDRCT              . CONVERT SF TO N                    MAINLUP   2106
         CALL  X1NAME,,NEXTMIC     . NRETURN COMPLETE                   MAINLUP   2107
XRET8    SA6   X4+0                . PUT PROCEDURE VALUE TO THE TOP OF  MAINLUP   2108
         CALL  SOPERND             .  THE STACK. NOTE THAT THE SVD IS   MAINLUP   2109
                                   .  STORED AT MINHS WHERE AN EVENTUAL MAINLUP   2110
XRETR    BX3   X4                  .  GARBAGE COLLECTION CAN FIND IT    MAINLUP   2111
         RJ    FREESVD             . RELEASE PROCEDURE VALUE            MAINLUP   2112
         BX7   X7-X7                                                    MAINLUP   2113
         SA7   X3                  . CLEAR XWRD                         MAINLUP   2114
         GE    B4,B0,NEXTMIC       . I/O TYPE NEEDS EXTRA TREATMENT     MAINLUP   2115
         SA4   X3                                                       MAINLUP   2116
         SX7   B7                                                       MAINLUP   2117
         SB7   X4                                                       MAINLUP   2118
         SA7   X4                                                       MAINLUP   2119
         EQ    NEXTMIC                                                  MAINLUP   2120
XRET9    SX4   X6+0                . VALUE OF NRETURN                   MAINLUP   2121
         SB1   NEXTMIC                                                  MAINLUP   2122
         SA6   UA                  . NOTE NRETURN FOR PMCHECK           MAINLUP   2123
         EQ    SOPERND                                                  MAINLUP   2124
*                                                                       MAINLUP   2125
* ERRORS IN RETURNING; A5 MUST BE RESET TO THE VALUE IN B2.             MAINLUP   2126
RERR23   SA5   B2+0                                                     MAINLUP   2127
         ERROR 23                  . RETURN FROM LEVEL ZERO             MAINLUP   2128
*                                                                       MAINLUP   2129
RERR25   SA5   B2                                                       MAINLUP   2130
         NO                                                             MAINLUP   2131
         JP    ERR25               . NO NRETURN WHEN NAME IS NEEDED     MAINLUP   2132
*                                                                       MAINLUP   2133
RERR26   SA5   B2+0                                                     MAINLUP   2134
         ERROR 26                  . NRETURN VALUE ERROR                MAINLUP   2135
*                                                                       MAINLUP   2136
RERR27   SA5   B2                                                       MAINLUP   2137
         NO                                                             MAINLUP   2138
         JP    ERR27               . INDIRECT THROUGH NULL STRING       MAINLUP   2139
*                                                                       MAINLUP   2140
*                                                                       MAINLUP   2141
         END                                                            MAINLUP   2142