STORMAN 
         IDENT     STORMAN                                              STORMAN      1
         TITLE STORAGE MANAGEMENT ROUTINES                              STORMAN      2
*  FOR A LISTING OF THE SNODEF COMDECK, CALLED BELOW, SEE MAINLUP.      STORMAN      3
         LIST  -L                                                       STORMAN      4
*CALL,SNODEF                                                            STORMAN      5
         LIST  L                                                        STORMAN      6
*LOWCORE                                                                STORMAN      7
          EXT       ISVB1,ISVX5                                         STORMAN      8
          EXT       LSCOUNT                                             STORMAN      9
          EXT       HBCSTAT                                             STORMAN     10
*  ERROR                                                                STORMAN     11
         EXT   RTERROR                                                  STORMAN     12
         EXT   ERR1,ERR2,ERR3,ERR4,ERR5,ERR6,ERR7,ERR8,ERR9             STORMAN     13
         EXT   ERR10,ERR11,ERR13,ERR14,ERR15,ERR16,ERR17,ERR18,ERR19    STORMAN     14
         EXT   ERR20,ERR21,ERR22,ERR23,ERR24,ERR26,ERR27,ERR28          STORMAN     15
         EXT   ERR29,ERR30,ERR31,ERR32,ERR35,ERR36,ERR37,ERR38,ERR39    STORMAN     16
         EXT   ERR40,ERR41,ERR42,ERR43,ERR44,ERR48,ERR49                STORMAN     17
         EXT   ERR50,ERR52,ERR53,ERR55,ERR56                            STORMAN     18
*  MAINLUP                                                              STORMAN     19
         EXT   CALL                                                     STORMAN     20
*  STORMAN                                                              STORMAN     21
         ENTRY PUSHSTK,RESERVE,MORFREE,GETSTAK,GRBCOLL,RESHB            STORMAN     22
         ENTRY FREEHB                                                   STORMAN     23
         ENTRY HBC,SELFCHK                                              STORMAN     24
         ENTRY TOFHBL                                                   STORMAN     25
*  UTILITY                                                              STORMAN     27
         EXT   ITOS,SSTOS,STOSFX6,PTOPX4,ICX1X6,ZROX7,SSTOSF,ITOSF      STORMAN     28
         EXT   ITOSFTP,SOPERND,X1VALUE,FREESVD,SASSIGN,INDRCT,INDRX     STORMAN     29
         EXT   SEARCH,FREESTR                                           STORMAN     30
         EXT   DECFIL,SCHHBC                                            STORMAN     31
*  PATMAT                                                               STORMAN     32
         EXT   PRDPM,DOLPM,ENDEXPM,ALTPM,EXPPM,ARBPM,LENPM,POSPM        STORMAN     33
         EXT   RPOSPM,TABPM,REMPM,BALPM,FAILPM,FENCEPM,ABORTPM          STORMAN     34
         EXT   ARBNOPM,STARPM,LITPM,ANYPM,NTANYPM,SPANPM,BREAKPM        STORMAN     35
*  IO                                                                   STORMAN     36
          EXT       CALLRCL                                             STORMAN     37
*                                                                       STORMAN     38
*                                                                       STORMAN     39
*  DECLARE PARAMETERS:                                                  STORMAN     40
*                                                                       STORMAN     41
BUFF1    EQU   10                  . MINIMUM FREE LIST REQUEST          STORMAN     42
BUFF2    EQU   30                  . MINIMUM NUMBER OF WORDS TO BE      STORMAN     43
                                   .   RETRIEVED BY THE LSC             STORMAN     44
FLDINCR  EQU   1000B               . FIELDLENGTH INCREMENT              STORMAN     45
*                                                                       STORMAN     46
*  MICROS TO CREATE CONSISTENCY-CHECK INTERRUPTS:                       STORMAN     47
*                                                                       STORMAN     48
VE       MICRO 1,,/400000B+*/                                           STORMAN     49
VE1      MICRO 1,,/400000B+*/                                           STORMAN     50
VE2      MICRO 1,,/400000B+*/                                           STORMAN     51
VE3      MICRO 1,,/400000B+*/                                           STORMAN     52
VE4      MICRO 1,,/400000B+*/                                           STORMAN     53
         EJECT                                                          STORMAN     54
*  PUSHSTK                                                              STORMAN     55
*  PUSH THE STACK TOWARDS HIGH CORE, B3 WORDS                           STORMAN     56
*  X1,X7,B1,B2,A0                                                       STORMAN     57
PUSHSTK  NO                                                             STORMAN     58
+        SA0   B3                                                       STORMAN     59
         RJ    RESERVE             . RESERVE ENOUGH SPACE               STORMAN     60
         SA1   MINSTAK             . BUMP MINSTAK                       STORMAN     61
         SB2   X1                                                       STORMAN     62
         SX7   X1+B3                                                    STORMAN     63
         SB1   B6-B3                                                    STORMAN     64
         SA7   A1                                                       STORMAN     65
PSHSTK1  SA1   B1                                                       STORMAN     66
         SB1   B1-1                                                     STORMAN     67
         BX7   X1                                                       STORMAN     68
         SA7   A1+B3                                                    STORMAN     69
         GE    B1,B2,PSHSTK1                                            STORMAN     70
         JP    PUSHSTK                                                  STORMAN     71
*                                                                       STORMAN     72
*  RESERVE                                                              STORMAN     73
*  THIS PROCEDURE RESERVES A0 WORDS IN THE STACK.  B6 IS UPDATED        STORMAN     74
*  NOTE ESPECIALLY THAT A4 IS SAVED                                     STORMAN     75
*        X1,A0                                                          STORMAN     76
*                                                                       STORMAN     77
RESERVE  NO                                                             STORMAN     78
+        SA1   MAXSTAK                                                  STORMAN     79
         SB6   A0+B6               . CHECK IF NEW B6 NOT GREATER        STORMAN     80
         SX1   X1+B6               . OR EQUAL THAN ABS (MAXSTAK)        STORMAN     81
         NG    X1,RESERVE          . NOTE THAT MAXSTAK IS NEGATIVE      STORMAN     82
         RJ    GETSTAK             . GET STACK SPACE IF IT IS           STORMAN     83
         EQ    RESERVE                                                  STORMAN     84
*                                                                       STORMAN     85
*                                                                       STORMAN     86
*        SUBROUTINE MOREFREE HAS TO BE CALLED WHENEVER THE END OF THE   STORMAN     87
*        FREE CHAIN IS MET.( A ZERO WORD ) HALF OF THE SPACE BETWEEN    STORMAN     88
*        THE STACK AND DYNAMIC WILL BE RESERVED, OR IF IT IS TOO SHORT  STORMAN     89
*        ADDITIONAL FIELDLENGTH WILL BE REQUESTED.                      STORMAN     90
*        X1                                                             STORMAN     91
*                                                                       STORMAN     92
MORFREE  NO                                                             STORMAN     93
+        SA7   MFX7                . SAVE SOME REGISTERS                STORMAN     94
         SA6   MFX6                                                     STORMAN     95
         BX7   X2                                                       STORMAN     96
         SA7   MFX2                                                     STORMAN     97
         SX1   BUFF1+BUFF1         . MINIMUM STACK SPACE                STORMAN     98
         RJ    GETLS               . GET AT LEAST BUFF1 LIST WORDS      STORMAN     99
         SA1   MFX6                . RESTORE REGISTERS                  STORMAN    100
         SA2   MFX7                                                     STORMAN    101
         BX6   X1                                                       STORMAN    102
         BX7   X2                                                       STORMAN    103
         SA1   B7+0                . TO ASSIST CALLING SIDE             STORMAN    104
         SA2   MFX2                                                     STORMAN    105
         JP    MORFREE                                                  STORMAN    106
*                                                                       STORMAN    107
*  GETLS                                                                STORMAN    108
*  GETLS IS CALLED EITHER FROM MORFREE OR GETSTAK.                      STORMAN    109
*  IT PRODUCES AT LEAST X1 NEW LIST WORDS, A POINTER TO                 STORMAN    110
*  THE FIRST WORD IS STORED AT B7                                       STORMAN    111
*  X1, X2, X6, X7                                                       STORMAN    112
*                                                                       STORMAN    113
 GETLS   DATA  0                                                        STORMAN    114
         SX6   B0-B6                                                    STORMAN    115
         SA2   MAXSTAK                                                  STORMAN    116
         IX6   X6-X2               . MAXSTAK-B6 TO X6                   STORMAN    117
         IX7   X6-X1               . NOTE:  X1 IS AT LEAST 5            STORMAN    118
         NG    X7,MFLEN            . STACK STORAGE NOT ENOUGH           STORMAN    119
         AX6   1                                                        STORMAN    120
         IX7   X2+X6               . RESERVE HALF OF IT                 STORMAN    121
         SA7   A2                  . STORE NEW MAXSTAK                  STORMAN    122
         BX1   -X2                                                      STORMAN    123
         BX7   -X7                                                      STORMAN    124
*  CREATE FL FROM X1-1 DOWN TO X7:                                      STORMAN    125
 MFCHN   SX6   X1-1                                                     STORMAN    126
         SA6   B7                  . POINTER TO THE FIRST WORD          STORMAN    127
         SX1   X6                                                       STORMAN    128
 MFCHN1  SX6   X1-1                                                     STORMAN    129
         SA6   X1                                                       STORMAN    130
         SX1   X6                                                       STORMAN    131
         BX2   X1-X7                                                    STORMAN    132
         NZ    X2,MFCHN1                                                STORMAN    133
         SX7   B0                  . END OF CHAIN WORD                  STORMAN    134
         SA7   X1                                                       STORMAN    135
         EQ    GETLS                                                    STORMAN    136
*  REQUEST AT LEAST X1 MORE FIELD LENGTH                                STORMAN    137
 MFLEN   SX6   -FLDINCR+1                                               STORMAN    138
         SA2   FIELDLN                                                  STORMAN    139
         IX7   X1-X6               . ROUND X1 TO NEXT FLDINCR           STORMAN    140
         SA1   FLDLM                                                    STORMAN    141
         BX7   X6*X7               . NEW FIELDLENGTH TO X7              STORMAN    142
         IX7   X2+X7                                                    STORMAN    143
         IX1   X1-X7                                                    STORMAN    144
         NG    X1,ERR17            . ERROR:  MAX FIELD LENGTH HAS       STORMAN    145
         SX1   X7                  . BEEN EXCEEDED                      STORMAN    146
         SA7   A2                                                       STORMAN    147
          BX7      X2              SAVE OLD FL.                         *******      1
          SA2      RFLP                                                 *******      2
          BX6      X1+X2           RFL TO NEW FL.                       *******      3
         SA6   1                   . CALL MEM WITH RECALL               STORMAN    153
+        SA2   1                                                        STORMAN    154
         NZ    X2,*                . WAIT UNTIL COMPLETE                STORMAN    155
         JP    MFCHN               . GO FILL UP NEWLY ACQUIRED STORAGE  STORMAN    156
RFLP      VFD      24/0LRFLP,36/0                                       *******      4
*                                                                       STORMAN    159
MFX2     DATA  0                   . REGISTER SAVE WORDS                STORMAN    160
MFX6     DATA  0                                                        STORMAN    161
MFX7     DATA  0                                                        STORMAN    162
*                                                                       STORMAN    163
*                                                                       STORMAN    164
*        GETSTAK PRODUCES SPACE FOR THE STACK UP TO B6. B6-A0 MUST      STORMAN    165
*        CONTAIN THE LAST SENSIBLE STACK ENTRY. A GARBAGE COLLECTION    STORMAN    166
*        WILL BE PERFORMED IF NECESSARY                                 STORMAN    167
*        A0,X1                                                          STORMAN    168
*                                                                       STORMAN    169
GETSTAK  NO                                                             STORMAN    170
+        SA6   GSX6                . SAVE REGISTERS USED IN GETSTAK     STORMAN    171
         SA7   GSX7                                                     STORMAN    172
         SX6   B3                                                       STORMAN    173
         SX7   B4                                                       STORMAN    174
         SA6   GSB3                                                     STORMAN    175
         SA7   GSB4                                                     STORMAN    176
         BX6   X2                                                       STORMAN    177
         SX2   B7                                                       STORMAN    178
         SA6   GSX2                                                     STORMAN    179
         SX1   0                                                        STORMAN    180
GS1      SX1   X1+1                . NUMBER OF FREE WORDS TO X1         STORMAN    181
         SA2   X2                                                       STORMAN    182
         NZ    X2,GS1                                                   STORMAN    183
         SB3   B7                                                       STORMAN    184
         SB7   A2                  . DO AS IF FL WERE EMPTY             STORMAN    185
         SX6   B0-B6                                                    STORMAN    186
         SA2   MAXSTAK                                                  STORMAN    187
         IX2   X6-X2               . MAXSTAK-B6 TO X2                   STORMAN    188
         IX1   X1+X2               . NUMBER OF POTENTIAL STACK WORDS    STORMAN    189
         SX2   X1-BUFF2                                                 STORMAN    190
         BX1   -X2                 . IF NOT ENOUGH, GET SOME MORE       STORMAN    191
         PL    X2,GS3                                                   STORMAN    192
         SX1   X1+5                . PLAY IT SAFE                       STORMAN    193
         RJ    GETLS                                                    STORMAN    194
GS3      SX6   B1                  . SAVE REGISTERS USED IN GRBCOLL     STORMAN    195
         SX7   B2                                                       STORMAN    196
         SA6   GSB1                                                     STORMAN    197
         SA7   GSB2                                                     STORMAN    198
         SB7   B3                                                       STORMAN    199
         SB1   A0                                                       STORMAN    200
         SB6   B6-B1               . RESET B6 TO THE LAST ENTRY         STORMAN    201
         RJ    GRBCOLL             . COLLECT GARBAGE                    STORMAN    202
         SB6   B6+A0               . RESTORE B6                         STORMAN    203
         SA1   GSX6                                                     STORMAN    204
         SA2   GSX7                . RESTORE ALL REGISTERS USED         STORMAN    205
         BX6   X1                                                       STORMAN    206
         BX7   X2                                                       STORMAN    207
         SA1   GSB1                                                     STORMAN    208
         SA2   GSB2                                                     STORMAN    209
         SB1   X1                                                       STORMAN    210
         SB2   X2                                                       STORMAN    211
         SA1   GSB3                                                     STORMAN    212
         SA2   GSB4                                                     STORMAN    213
         SB3   X1                                                       STORMAN    214
         SB4   X2                                                       STORMAN    215
         SA2   GSX2                                                     STORMAN    216
         EQ    GETSTAK             . RETURN                             STORMAN    217
*                                                                       STORMAN    218
GSX2     EQU   MFX2                                                     STORMAN    219
GSX6     EQU   MFX6                                                     STORMAN    220
GSX7     EQU   MFX7                                                     STORMAN    221
GSB1     DATA  0                                                        STORMAN    222
GSB2     DATA  0                                                        STORMAN    223
GSB3     DATA  0                                                        STORMAN    224
GSB4     DATA  0                                                        STORMAN    225
*  SAVE LOCATIONS USED BY RESHB                                         STORMAN    226
 RESHB1  DATA  0                                                        STORMAN    227
 RESHB4  DATA  0                                                        STORMAN    228
         TITLE GARBAGE COLLECTION                                       STORMAN    229
*        GARBAGE COLLECTION BEGINS WITH COUNTING THE NUMBER OF WORDS    STORMAN    230
*        ON THE FREE CHAIN. OUR AIM IS TO GATHER ALL FREE WORDS TO      STORMAN    231
*        THE LOWER PART OF THE DYNAMIC AREA THAT WE CAN DELETE THEM.    STORMAN    232
*        THIS CAN BE OBTAINED BY SCANNING ALL EXISTING LISTS            STORMAN    233
*        AND MOVING WORDS IN THE LOWER PART TO FREE WORDS IN THE        STORMAN    234
*        UPPER.                                                         STORMAN    235
*        X1,X2,X6,X7,B1,B2,B3,B4                                        STORMAN    236
*                                                                       STORMAN    237
GRBCOLL   BSSZ      1                                                   STORMAN    238
          SA1       LSCOUNT        . COUNT THIS COLLECTION              STORMAN    239
          SX7       X1+1                                                STORMAN    240
          SA7       A1                                                  STORMAN    241
+        SX2   B7                                                       STORMAN    242
         SX6   B0                                                       STORMAN    243
         SA1   MAXSTAK                                                  STORMAN    244
GRB1     SX6   X6+1                . COUNT THE NUMBER OF FREE WORDS     STORMAN    245
         SB3   A2                                                       STORMAN    246
         SA2   X2                                                       STORMAN    247
         NZ    X2,GRB1                                                  STORMAN    248
         IX6   X6-X1               . NOTE THAT MAXSTAK IS NEGATIVE      STORMAN    249
         SB4   B6                                                       STORMAN    250
         SX6   X6-1                                                     STORMAN    251
         SB1   X6                  . B1 IS THE LIMIT BETWEEN THE LOWER  STORMAN    252
         BX6   -X6                                                      STORMAN    253
         SA6   A1                                                       STORMAN    254
         BX7   X7-X7                                                    STORMAN    255
         RJ    GRBFW               . AND THE UPPER PARTS                STORMAN    256
         SB2   A2                  . IF THE END OF FREE CHAIN IS IN     STORMAN    257
         GE    B2,B1,GRB3          .  THE LOWER PART, RELOCATE          STORMAN    258
         SX6   A1                                                       STORMAN    259
         SA6   B3                                                       STORMAN    260
         SA7   A1                                                       STORMAN    261
         RJ    GRBFW                                                    STORMAN    262
GRB3     SA2   B4                  . SCAN STACK FOR LS REFERENCES       STORMAN    263
         SB3   X2                                                       STORMAN    264
         ZR    X2,GRB2                                                  STORMAN    265
         NG    X2,GRB4                                                  STORMAN    266
         SB4   B4-B3                                                    STORMAN    267
         AX2   55                                                       STORMAN    268
         NZ    X2,GRB3                                                  STORMAN    269
         SA2   B4+1                . SF TYPE FOUND IN STACK             STORMAN    270
         RJ    GRBSVD                                                   STORMAN    271
         JP    GRB3                                                     STORMAN    272
 GRB4    SB2   B4-2                . RETURN INFORMATION IN STACK        STORMAN    273
         SB4   B4-B3               . SCAN STACKED LOCAL SVD-S           STORMAN    274
 GRB4A   SA2   B2                                                       STORMAN    275
         RJ    GRBSVD                                                   STORMAN    276
         SB2   B2-2                                                     STORMAN    277
         LT    B4,B2,GRB4A                                              STORMAN    278
         EQ    GRB3                                                     STORMAN    279
*                                                                       STORMAN    280
*        GRBFW SUPPLIES THE NEXT FREE LINK WHICH IS IN THE UPPER        STORMAN    281
*        PART. GARBAGE COLLECTION ENDS WHEN THE END WORD IS MET.        STORMAN    282
*        (I.E. THERE ARE NO MORE FREE WORDS IN UPPER Q.E.D.)            STORMAN    283
*        LOCAL TO GRBCOLL                                               STORMAN    284
GRB5     SB7   X1+0                . NO, THIS IS NOT THE ENTRY          STORMAN    285
GRBFW    NO                                                             STORMAN    286
GRB6     SA1   B7                  . NEXT FREE LINK                     STORMAN    287
         ZR    X1,GRBCOLL          . BRANCH IF ENDWORD                  STORMAN    288
         GE    B7,B1,GRB5          . BRANCH IF IN UPPER                 STORMAN    289
         SB7   X1+0                                                     STORMAN    290
         EQ    GRB6                . LOOP IF IT IS IN LOWER             STORMAN    291
*                                                                       STORMAN    292
*        THIS SUBROUTINE FOLLOWS A LIST STRUCTURE. IF A LINK IS         STORMAN    293
*        IN LOWER, IT WILL BE RELOCATED.                                STORMAN    294
*        LOCAL TO GRBCOLL                                               STORMAN    295
GRBLINK  NO                                                             STORMAN    296
GRBL1    SB3   X2                  . POINTER TO NEXT WORD               STORMAN    297
         EQ    B0,B3,GRBLINK       . BRANCH IF END LIST                 STORMAN    298
GRBL2    GE    B3,B1,GRBL4         . BRANCH IF IN UPPER                 STORMAN    299
         SX7   A1                                                       STORMAN    300
         MX1   42                                                       STORMAN    301
         BX1   X1*X2               . UPDATE LINK AND RELOCATE           STORMAN    302
         BX7   X1+X7                                                    STORMAN    303
         SA7   A2                                                       STORMAN    304
         SA2   B3                                                       STORMAN    305
         BX7   X2                                                       STORMAN    306
         SA7   A1                                                       STORMAN    307
         SA2   A7                                                       STORMAN    308
         SB3   X2                                                       STORMAN    309
         NE    B0,B3,GRBL3         . IF END LIST THEN                   STORMAN    310
         SB3   -1                  . SIGNAL LAST IS RELOCATED           STORMAN    311
         EQ    GRBLINK             . AND RETURN                         STORMAN    312
GRBL3    RJ    GRBFW                                                    STORMAN    313
         EQ    GRBL2                                                    STORMAN    314
GRBL4    SA2   X2                  . IN UPPER, GET NEXT WORD            STORMAN    315
         EQ    GRBL1                                                    STORMAN    316
*        LOCAL TO GRBCOLL                                               STORMAN    317
*                                                                       STORMAN    318
*  SCAN HEAP STORAGE FOR LS REFERENCES:                                 STORMAN    319
*                                                                       STORMAN    320
 GRB2    SA2   MINHS               . TREAT THE 2 SPECIAL WORDS FIRST    STORMAN    321
         SB2   X2                                                       STORMAN    322
         SA2   X2                                                       STORMAN    323
         ZR    X2,GRB2A            . IGNORE IF EMPTY                    STORMAN    324
         RJ    GRBSVD              . IT NEED NOT BE IN SVD FORMAT       STORMAN    325
 GRB2A   SA2   B2+1                                                     STORMAN    326
         SB2   B2+3                . B2 POINTS TO THE FIRST HB          STORMAN    327
         ZR    X2,GRBS1                                                 STORMAN    328
         RJ    GRBSVD                                                   STORMAN    329
*                                                                       STORMAN    330
*  B2 POINTS TO WORD 0 OF THE NEXT HEAP BLOCK OR TO                     STORMAN    331
*  THE NEXT SVD IN A STRUCTURE                                          STORMAN    332
*                                                                       STORMAN    333
 GRBS1   SA2   B2+0                                                     STORMAN    334
         ZR    X2,'VE4'            . ERROR IF END OF HS                 STORMAN    335
         PL    X2,GRBS3            . BRANCH IF SVD                      STORMAN    336
         AX2   18                                                       STORMAN    337
         SX6   B2+1                                                     STORMAN    338
         SB2   X2+B2               . X2 IS BYPASS                       STORMAN    339
         AX2   37                                                       STORMAN    340
         SX2   X2-CALLTYP+37B      . BRANCH IF NOT VARIABLE OR          STORMAN    341
         NG    X2,GRBS4            . FUNCTION NAME                      STORMAN    342
         NZ    X2,GRBS2            . BRANCH IF NOT FUNCTION             STORMAN    343
         SA2   X6                                                       STORMAN    344
         NG    X2,GRBS1            . BRANCH IF STANDARD PROCEDURE       STORMAN    345
         BX1   X2                                                       STORMAN    346
         AX1   55                                                       STORMAN    347
         SX1   X1-DATATYP                                               STORMAN    348
         ZR    X1,GRBS1            . BRANCH IF NOT PROC OR FIELD        STORMAN    349
         RJ    GRBLINK             . UNDF WILL BE IGNORED (F1=0)        STORMAN    350
         GE    B3,B0,GRBS1                                              STORMAN    351
         RJ    GRBFW                                                    STORMAN    352
         JP    GRBS1                                                    STORMAN    353
 GRBS2   SA2   X6+0                . IF VARIABLE                        STORMAN    354
         SB2   B2-1                . FETCH SVD IN VALUE WORD            STORMAN    355
 GRBS3   SB2   B2+1                                                     STORMAN    356
         RJ    GRBSVD                                                   STORMAN    357
         JP    GRBS1                                                    STORMAN    358
GRBS4    SX2   X2+CALLTYP-STRTYP                                        STORMAN    359
         NZ    X2,GRBS1            . BRANCH IF NOT A STRUCTURE          STORMAN    360
         SB2   X6                                                       STORMAN    361
         EQ    GRBS1                                                    STORMAN    362
*                                                                       STORMAN    363
*  TREAT SVD IN X2 (A2)                                                 STORMAN    364
 GRBSVD  DATA  0                                                        STORMAN    365
         BX1   X2                  . UNPACK THE TYPE                    STORMAN    366
         AX1   55                                                       STORMAN    367
         SX1   X1-ITY              . BRANCH IF SF, SS,                  STORMAN    368
         NG    X1,GRBSS            . PS,PA OR PE                        STORMAN    369
         SX1   X1-1                                                     STORMAN    370
         ZR    X1,GRBR             . R TYPE                             STORMAN    371
         SX1   X1-5                                                     STORMAN    372
         NG    X1,GRBSVD           . A,D,N OR C                         STORMAN    373
GRBIO    RJ    GRBSNGL             . IN OR OUT, SVD IS IN DYNAMIC       STORMAN    374
         SA2   B3                  .  STORAGE TOO                       STORMAN    375
GRBSS    SX6   A2                                                       STORMAN    376
         RJ    GRBLINK             . UPDATE LIST                        STORMAN    377
         GE    B3,B0,GRBSVD                                             STORMAN    378
         MX1   42                  . CHANGE LAST IF CHANGED             STORMAN    379
         SA2   X6                                                       STORMAN    380
         SX7   A1                                                       STORMAN    381
         LX1   18                                                       STORMAN    382
         LX7   18                                                       STORMAN    383
         BX2   X1*X2                                                    STORMAN    384
         BX7   X2+X7                                                    STORMAN    385
         SA7   A2                                                       STORMAN    386
*  GRBFW HAS TO BE CALLED WHENEVER GRBLING RETURNS A                    STORMAN    387
*  LAST CHANGED SIGNAL                                                  STORMAN    388
         RJ    GRBFW                                                    STORMAN    389
         JP    GRBSVD                                                   STORMAN    390
GRBR     RJ    GRBSNGL             . ACTION ON R TYPE                   STORMAN    391
         JP    GRBSVD                                                   STORMAN    392
*                                                                       STORMAN    393
*        LOCAL TO GRBCOLL                                               STORMAN    394
*                                                                       STORMAN    395
GRBSNGL  NO                                                             STORMAN    396
+        SB3   X2                                                       STORMAN    397
         GE    B3,B1,GRBSNGL       . RETURN IF IN UPPER                 STORMAN    398
         SX7   A1                                                       STORMAN    399
         MX1   42                                                       STORMAN    400
         BX1   X1*X2               . RELOCATE AND UPDATE LINK           STORMAN    401
         BX7   X1+X7                                                    STORMAN    402
         SA7   A2                                                       STORMAN    403
         SA2   B3                                                       STORMAN    404
         BX7   X2                                                       STORMAN    405
         SA7   A1                                                       STORMAN    406
         SB3   A1                                                       STORMAN    407
         RJ    GRBFW                                                    STORMAN    408
         EQ    GRBSNGL                                                  STORMAN    409
*                                                                       STORMAN    410
*                                                                       STORMAN    411
CKSFCK    BSSZ      1                                                   STORMAN    412
          SA1       STATWD                                              STORMAN    413
          MX2       1                                                   STORMAN    414
          LX2       B1,X2                                               STORMAN    415
          BX2       X2*X1                                               STORMAN    416
          ZR        X2,CKSFCK      . DON'T DO SELFCHECK                 STORMAN    417
          RJ        SELFCHK                                             STORMAN    418
          EQ        CKSFCK                                              STORMAN    419
         EJECT                                                          STORMAN    420
*  RESHB                                                                STORMAN    421
*  THIS SUBROUTINE RESERVES A HEAP BLOCK OF SIZE B1                     STORMAN    422
*  FROM THE FREE POOL.  IF THE POOL DOES NOT CONTAIN                    STORMAN    423
*  ANY BLOCKS OF THE REQUIRED SIZE, OR LARGER, THE HEAP                 STORMAN    424
*  STORAGE AREA IS EXTENDED AT THE EXPENSE OF STACK STORAGE.            STORMAN    425
*  A HSC IS SCHEDULED IF THE FREE POOL IS TOO FRAGMENTED                STORMAN    426
*  A CALL OF RESHB MAY INVOKE AN LSC.                                   STORMAN    427
*                                                                       STORMAN    428
*  PARAM:  B1 SIZE OF HEAP BLOCK TO BE RESERVED                         STORMAN    429
*  RESULT:  B3 POINTS TO WORD 0 OF THE RESERVED HB                      STORMAN    430
*  X0,X1,X2,X6,X7,B2,A0                                                 STORMAN    431
*                                                                       STORMAN    432
 RESHB   DATA  0                                                        STORMAN    433
 RHBL0   SA2   FHBLRP              . FETCH ROVING POINTER               STORMAN    434
         SB3   B0                                                       STORMAN    435
         BX6   X2                  . END OF CIRCULAR LIST               STORMAN    436
RHBL1    SA1   X2                  . WORD 0 OF NEXT FREE BLOCK          STORMAN    437
         SX2   X1                  . FORWARD POINTER                    STORMAN    438
         LX1   60-18                                                    STORMAN    439
         SB2   X1                  . SIZE OF FHB TO B2                  STORMAN    440
         GE    B2,B1,RHBL4         . BRANCH IF FITS                     STORMAN    441
         BX1   X2-X6               . CHECK FOR END OF LIST              STORMAN    442
         SB3   B3+B2               . TOTAL FREE STORAGE IN B3           STORMAN    443
         NZ    X1,RHBL1                                                 STORMAN    444
*  NO FIT, EXTEND HS AREA                                               STORMAN    445
         SX7   B1                  . SAVE B1 AND B4                     STORMAN    446
         SX6   B4                                                       STORMAN    447
         SA7   RESHB1                                                   STORMAN    448
         SA6   RESHB4                                                   STORMAN    449
         LT    B3,B1,RHBL2         . BRANCH IF NOT TOO FRAGMENTED       STORMAN    450
         RJ    SCHHBC                                                   STORMAN    451
 RHBL2   SA1   MAXSTAK             . IF AMPLE SPACE IN SS               STORMAN    452
         SB3   B1+B1                                                    STORMAN    453
         SB2   X1+B6                                                    STORMAN    454
         SB2   B0-B2                                                    STORMAN    455
         GE    B3,B2,RHBL3                                              STORMAN    456
         SX1   B2                                                       STORMAN    457
         AX1   1                   . TAKE HALF OF IT                    STORMAN    458
         SB1   X1+0                                                     STORMAN    459
 RHBL3   SB3   B1                                                       STORMAN    460
         RJ    PUSHSTK             . PUSH THE STACK B3 WORDS TOWARD     STORMAN    461
         SA1   MINSTAK             . HIGHER ADDRESSES                   STORMAN    462
         SA2   MAXHS                                                    STORMAN    463
         BX7   X1                                                       STORMAN    464
         SB4   X1                                                       STORMAN    465
         SA7   A2                                                       STORMAN    466
         SB3   X2                                                       STORMAN    467
*  CREATE A FREE BLOCK BETWEEN OLD MAXHS AND                            STORMAN    468
*  MINSTAK-1.  CONCATENATE WITH LAST FREE BLOCK IN HS IF ANY.           STORMAN    469
         SA1   MINHS                                                    STORMAN    470
         SA1   X1+2                                                     STORMAN    471
         MX0   1                                                        STORMAN    472
         LX0   60-5                                                     STORMAN    473
         BX7   X1+X0               . LAST BLOCK WILL BE FREE            STORMAN    474
         SA7   A1                                                       STORMAN    475
         LX1   5                                                        STORMAN    476
         PL    X1,RHBL3A           . BRANCH IF LAST BLOCK NOT FREE      STORMAN    477
         SA1   B3-1                                                     STORMAN    478
         AX1   18                                                       STORMAN    479
         SB2   X1                  . BYPASS FOR LAST BLOCK              STORMAN    480
         SA1   B3-B2               . WORD 0 OF LAST BLOCK               STORMAN    481
         SB3   B3-B2                                                    STORMAN    482
         RJ    TOFHBL              . TAKE IT OFF FHBL                   STORMAN    483
RHBL3A   RJ    INFHBL              . FREE BLOCK B3-(B4-1)               STORMAN    484
         SA1   RESHB1                                                   STORMAN    485
         SA2   RESHB4                                                   STORMAN    486
         SB1   X1                                                       STORMAN    487
         SB4   X2                                                       STORMAN    488
         JP    RHBL0               . REPEAT SEARCH                      STORMAN    489
*  FIRST FIT:  DECIDE IF EXACT FIT                                      STORMAN    490
 RHBL4   EQ    B1,B2,RHBL6         . BRANCH IF EXACT FIT                STORMAN    491
*  NOT EXACT FIT, CREATE FHB BETWEEN A1+B1 AND A1+B2-1                  STORMAN    492
         SX7   A1+B1                                                    STORMAN    493
         SB2   A1+B2                                                    STORMAN    494
         SA7   FHBLRP              . UPDATE FHBLRP JUST IN CASE...      STORMAN    495
         SB3   A1+B1               . WORD 0 OF REST TO B3               STORMAN    496
         MX0   42                                                       STORMAN    497
         SX6   B2-B3                                                    STORMAN    498
         BX1   X0*X1                                                    STORMAN    499
         SB2   B2-1                                                     STORMAN    500
         LX1   18                                                       STORMAN    501
         LX6   18                                                       STORMAN    502
         BX7   X1+X6               . INSERT BYPASS INTO WORD 0          STORMAN    503
         BX2   X1                                                       STORMAN    504
         SA1   X1                                                       STORMAN    505
         EQ    B2,B3,RHBL5         . STORE BYPASS INTO LAST WORD        STORMAN    506
         SA6   B2                  . UNLESS BLOCK IS 1 WORD LONG        STORMAN    507
 RHBL5   SA7   B3                                                       STORMAN    508
         SX0   B1                                                       STORMAN    509
         LX1   60-36                                                    STORMAN    510
         IX6   X1+X0               . UPDATE BACK(FORWARD)               STORMAN    511
         LX2   60-36                                                    STORMAN    512
         LX6   36                                                       STORMAN    513
         SA6   A1                                                       STORMAN    514
         SA2   X2                                                       STORMAN    515
         IX7   X2+X0               . UPDATE FORWARD (BACK)              STORMAN    516
         SB3   B3-B1               . RESULT TO B3                       STORMAN    517
         SA7   A2+0                                                     STORMAN    518
         EQ    RESHB                                                    STORMAN    519
*  REMOVE FROM FREE POOL COMPLETELY IF EXACT FIT                        STORMAN    520
 RHBL6   LX1   18                                                       STORMAN    521
         SB3   A1                  . RESULT TO B3                       STORMAN    522
         RJ    TOFHBL                                                   STORMAN    523
*  SET MARK BIT TO 0 IN THE IMMEDIATELY FOLLOWING HB                    STORMAN    524
*  (WRAP AROUND AT MAXHS)                                               STORMAN    525
         SA1   B2+B3               . FETCH WORD 0 OF NEXT HB            STORMAN    526
         MX0   1                                                        STORMAN    527
         NZ    X1,RHBL7            . BRANCH IF NOT MAXHS                STORMAN    528
         SA1   MINHS                                                    STORMAN    529
         SA1   X1+2                . WRAP AROUND                        STORMAN    530
 RHBL7   LX0   60-5                . MARK BIT IN X0                     STORMAN    531
         BX7   -X0*X1              . RESET MARK BIT AT A1               STORMAN    532
         SA7   A1+0                                                     STORMAN    533
         JP    RESHB                                                    STORMAN    534
*                                                                       STORMAN    535
*  FREEHB                                                               STORMAN    536
*  RETURN BLOCK OF STORAGE TO FREE HEAP BLOCK POOL                      STORMAN    537
*  PARAM:   B3 POINTS TO WORD 0 OF BLOCK TO BE RETURNED                 STORMAN    538
*           B4 POINTS TO THE LAST WORD+1                                STORMAN    539
*  X0,X1,X2,X7,B3,B4                                                    STORMAN    540
*                                                                       STORMAN    541
 FREEHB  DATA  0                                                        STORMAN    542
         SA1   B3                  . MARK BIT IS SET IF PREVIOUS        STORMAN    543
         LX1   5                   . BLOCK IS FREE(NEVER SET DURING HSC)STORMAN    544
         PL    X1,FHBA                                                  STORMAN    545
*  CONCATENATE WITH PREVIOUS FREE BLOCK                                 STORMAN    546
         SA1   B3-1                . FETCH BYPASS VALUE FROM            STORMAN    547
         AX1   18                  . PREVIOUS BLOCK                     STORMAN    548
         BX1   -X1                                                      STORMAN    549
         SB3   B3+X1                                                    STORMAN    550
         SA1   B3                  . WORD 0 OF PREVIOUS BLOCK           STORMAN    551
         RJ    TOFHBL              . REMOVE FROM FHBL                   STORMAN    552
 FHBA    SA1   B4                  . CHECK IS NEXT BLOCK IS FREE        STORMAN    553
         AX1   55                                                       STORMAN    554
         SX1   X1-FRETYP+37B                                            STORMAN    555
         NZ    X1,FHBB                                                  STORMAN    556
*  CONCATENATE WITH NEXT FREE BLOCK                                     STORMAN    557
         SA1   B4                  . WORD 0 OF NEXT BLOCK               STORMAN    558
         BX2   X1                                                       STORMAN    559
         AX2   18                                                       STORMAN    560
         SB4   B4+X2               . EXTEND THE AREA BY BYPASS          STORMAN    561
         RJ    TOFHBL              . REMOVE BLOCK FROM FHBL             STORMAN    562
 FHBB    RJ    INFHBL              . INSERT THE WHOLE AREA INTO FHBL    STORMAN    563
*  SET MARK BIT TO 1 IN THE IMMEDIATELY FOLLOWING HB                    STORMAN    564
*  (WRAP AROUND AT MAXHS)                                               STORMAN    565
         SA1   B4+1                . FETCH WORD 0 OF NEXT HB            STORMAN    566
         NZ    X1,FHBC             . BRANCH IF NOT MAXHS                STORMAN    567
         SA1   MINHS                                                    STORMAN    568
         SA1   X1+2                . WRAP AROUND                        STORMAN    569
 FHBC    MX0   1                                                        STORMAN    570
         LX0   60-5                                                     STORMAN    571
         BX7   X0+X1                                                    STORMAN    572
         SA7   A1                  . SET MARK BIT AT A1                 STORMAN    573
         JP    FREEHB                                                   STORMAN    574
*                                                                       STORMAN    575
*  TOFHBL                                                               STORMAN    576
*  TAKE A BLOCK OFF THE FREE HEAP BLOCK LIST                            STORMAN    577
*  PARAM:   X1 CONTAINS WORD 0 OF THE BLOCK TO BE TAKEN OFF             STORMAN    578
*  X0,X1,X2,X7                                                          STORMAN    579
*                                                                       STORMAN    580
 TOFHBL  DATA  0                                                        STORMAN    581
         MX0   42                                                       STORMAN    582
         SA2   X1                  . WORD 0 OF NEXT BLOCK               STORMAN    583
         LX0   36                  . MASK FOR BACK POINTER              STORMAN    584
         BX7   X0*X2                                                    STORMAN    585
         BX2   -X0*X1                                                   STORMAN    586
         BX7   X7+X2               . COPY BACK POINTER INTO NEXT BLOCK  STORMAN    587
         SA7   A2                                                       STORMAN    588
         MX0   42                                                       STORMAN    589
         SX7   X1                                                       STORMAN    590
         LX1   60-36                                                    STORMAN    591
         SA7   FHBLRP              . UPDATE ROVING POINTER              STORMAN    592
         SA2   X1                  . WORD 0 OF PREVIOUS BLOCK           STORMAN    593
         BX2   X0*X2                                                    STORMAN    594
         BX7   X7+X2               . COPY FORWARD POINTER INTO PREVIOUS STORMAN    595
         SA7   A2                  . BLOCK                              STORMAN    596
         EQ    TOFHBL                                                   STORMAN    597
*                                                                       STORMAN    598
*  INFHBL                                                               STORMAN    599
*  INSERT BLOCK BETWEEN B3 AND B4-1 INTO THE FREE HEAP BLOCK LIST       STORMAN    600
*  PARAM:   B3 AND                                                      STORMAN    601
*           B4 DELIMIT THE AREA                                         STORMAN    602
*  X0,X1,X2,X7,B4                                                       STORMAN    603
*                                                                       STORMAN    604
 INFHBL  DATA  0                                                        STORMAN    605
         SA1   FHBLRP              . INSERT AFTER BLOCK AT X1           STORMAN    606
         SX2   FRETYP                                                   STORMAN    607
         LX2   19                  . ACCUMULATE NEW WORD 0 IN X2        STORMAN    608
         BX2   X2+X1               . MERGE NEW BACK POINTER             STORMAN    609
         SA1   X1                  . WORD 0 OF PREVIOUS BLOCK           STORMAN    610
         MX0   42                                                       STORMAN    611
         SX7   B3                  . NEW FORWARD POINTER IN PREV. BLOCK STORMAN    612
         BX0   X0*X1                                                    STORMAN    613
         BX7   X7+X0                                                    STORMAN    614
         SX1   X1                  . ADDRESS OF NEXT BLOCK ON LIST      STORMAN    615
         SA7   A1                                                       STORMAN    616
         LX2   18                                                       STORMAN    617
         SX0   B4-B3                                                    STORMAN    618
         BX2   X2+X0               . MERGE NEW BYPASS VALUE             STORMAN    619
         LX2   18                                                       STORMAN    620
         BX7   X2+X1               . MERGE NEW FORWARD POINTER          STORMAN    621
         SA7   B3                  . STORE NEW WORD 0                   STORMAN    622
         SA1   X1                  . WORD 0 OF NEXT BLOCK               STORMAN    623
         MX0   42                                                       STORMAN    624
         SX2   B3                  . NEW BACK POINTER IN NEXT BLOCK     STORMAN    625
         LX1   24                                                       STORMAN    626
         BX1   X0*X1                                                    STORMAN    627
         BX7   X1+X2                                                    STORMAN    628
         LX7   36                                                       STORMAN    629
         SA7   A1                                                       STORMAN    630
         SX7   B4-B3               . BYPASS VALUE TO BE STORED IN       STORMAN    631
         LX7   18                  . LAST WORD                          STORMAN    632
         SB4   B4-1                                                     STORMAN    633
         EQ    B4,B3,INFHBL        . UNLESS BLOCK IS 1 WORD LONG        STORMAN    634
         SA7   B4                                                       STORMAN    635
         EQ    INFHBL                                                   STORMAN    636
         EJECT                                                          STORMAN    637
*                                                                       STORMAN    638
*  SEND MESSSGE TO DAYFILE SAYING THAT A HEAP BLOCK COMPACTION IS       STORMAN    639
*  GOING TO TAKE PLACE                                                  STORMAN    640
*  THIS WILL HELP WITH DEBUGGING                                        STORMAN    641
HBCCALL   DIS       ,$ HEAP BLOCK COMPACTION CALLED$                    STORMAN    642
HCALL     VFD       18/3LMSG,42/HBCCALL                                 STORMAN    643
*                                                                       STORMAN    644
HBC      DATA  0                                                        STORMAN    645
          SA1       HBCSTAT        . DON'T DO HBC IF                    STORMAN    646
          ZR        X1,HBC         . HBC STATUS WORD IS ZERO            STORMAN    647
*                                                                       STORMAN    648
*  HBC PHASE 1                                                          STORMAN    649
*                                                                       STORMAN    650
*  TURN THE MARK BITS (BIT 5) OFF ON ALL ENTRIES                        STORMAN    651
*  IN THE HEAP STORAGE AREA                                             STORMAN    652
*  ELIMINATE SS OR SI ENTRY IN STACK, IF ANY.                           STORMAN    653
*                                                                       STORMAN    654
          SA1       1              . WAIT FOR ANY PP CALLS TO FINISH    STORMAN    655
          NZ        X1,*                                                STORMAN    656
          SA1       HCALL          . ISSUE MESSAGE TO DAYFILE           STORMAN    657
          BX6       X1                                                  STORMAN    658
          SA6       1                                                   STORMAN    659
+         SA1       1                                                   STORMAN    660
          NZ        X1,*                                                STORMAN    661
*                                                                       STORMAN    662
*                                                                       STORMAN    663
*  CHECK FOR ANY INCOMPLETE FILE REQUESTS BEFORE DOING A HEAP BLOCK     STORMAN    664
*  COMPACTION                                                           STORMAN    665
*                                                                       STORMAN    666
          SX5       1              . USED TO CHECK COMPLETE BIT IN FET  STORMAN    667
          STREAM    FILLIST        . SET B2=PTR OF FIRST FILE BLOCK     STORMAN    668
HBC1      SA1       B2+FI.FET+FET.LFN  . STATUS WORD OF FET             STORMAN    669
          BX1       X1*X5                                               STORMAN    670
          NZ        X1,HBC2        . COMPLETE BIT WAS SET               STORMAN    671
          SX0       -1                                                  STORMAN    672
          RJ        CALLRCL        . GO INTO AUTORECALL                 STORMAN    673
HBC2      STREAM    B2             . NEXT FILE BLOCK                    STORMAN    674
          NZ        B2,HBC1                                             STORMAN    675
*                                                                       STORMAN    676
          SB1       10                                                  STORMAN    677
          RJ        CKSFCK         . CHECK IF DO SELFCHECK              STORMAN    678
          SB1       4                                                   STORMAN    679
          RJ        HBCTRC         . FIND OUT IF TRC THIS PHASE         STORMAN    680
         SA1   B6                  . SS OR SI MAY APPEAR ONLY           STORMAN    681
         AX1   55                  . AT THE TOP OF STACK                STORMAN    682
         SX0   X1-SSTY                                                  STORMAN    683
         ZR    X0,WPH1A1           . BRANCH IF SS                       STORMAN    684
         SX0   X1-SITY                                                  STORMAN    685
WPH1A1   NZ    X0,WPH1A2           . BRANCH IF NOT SI AND NOT SS        STORMAN    686
         SA1   B6-1                                                     STORMAN    687
         SB1   A1                                                       STORMAN    688
         SA2   X1                                                       STORMAN    689
         RJ    SSTOSF              . TURN IT INTO SF BY COPYING         STORMAN    690
         SX7   2                   . SF TYPE HEADER                     STORMAN    691
         SA6   B1                                                       STORMAN    692
         SA7   B6                                                       STORMAN    693
*                                                                       STORMAN    694
WPH1A2   MX0   1                                                        STORMAN    695
         SA1   MINHS                                                    STORMAN    696
         LX0   55                  . MASK FOR MARK                      STORMAN    697
         SB2   X1+3                . START AFTER THE 3 SPECIAL ENTRIES  STORMAN    698
         SB5   X1+3                                                     STORMAN    699
 WPH1A   SA1   B2                  . WORD 0 IN NEXT ENTRY TO X1         STORMAN    700
         ZR    X1,WPH1B            . BRANCH IF END OF HS                STORMAN    701
         BX7   -X0*X1              . MASK MARK OFF                      STORMAN    702
         AX1   18                  . BYPASS IS F2 EXCEPT FOR STRTYP     STORMAN    703
         SA7   A1                                                       STORMAN    704
         SB2   B2+X1               . TENTATIVE NEXT ENTRY               STORMAN    705
         AX1   55-18                                                    STORMAN    706
         SX1   X1-STRTYP+37B                                            STORMAN    707
         NZ    X1,WPH1A            . BRANCH IF NOT STRTYP               STORMAN    708
         AX7   36                  . BYPASS IS F3 IF STRTYP             STORMAN    709
         SB2   X7+0                                                     STORMAN    710
         SB2   B2+A1                                                    STORMAN    711
         EQ    WPH1A                                                    STORMAN    712
*                                                                       STORMAN    713
 WPH1B   BSS   0                                                        STORMAN    714
*                                                                       STORMAN    715
*  END PHASE 1...                                                       STORMAN    716
*                                                                       STORMAN    717
          RJ        CHKTRC         . CHECK IF CAN TURN OFF TRACE        STORMAN    718
         EJECT                                                          STORMAN    719
*  HBC PHASE 2                                                          STORMAN    720
*  ALL POSSIBLE PLACES, WHERE REFERENCES MAY BE                         STORMAN    721
*  FOUND ARE EXAMINED AND THE REFERENCED HEAP BLOCKS                    STORMAN    722
*  ARE MARKED.  IN PARTICULAR,                                          STORMAN    723
*   SIMPLE VARIABLE,           THE SVD IS EXAMINED (SEE BELOW)          STORMAN    724
*   LABEL                      CODE HB IS MARKED IF BASE NOT 0          STORMAN    725
*   PROCEDURE                  FORMALS AND LOCALS MARKED.               STORMAN    726
*                              ENTRY LABEL IS MARKED                    STORMAN    727
*   DATA CONSTRUCTOR           DOPE VECTOR IS MARKED                    STORMAN    728
*   FIELD                      DOPE VECTORS ARE MARKED                  STORMAN    729
*                              WHEN DOPE VECTORS ARE MARKED, ALL        STORMAN    730
*                              FUNCTIONS REFERENCED FROM THE DOPE       STORMAN    731
*                              VECTOR ARE MARKED, TOO.                  STORMAN    732
*   CODE                       REFERENCED SIMPLE VARIABLES,             STORMAN    733
*                              LABELS, FUNCTIONS AND LITERALS           STORMAN    734
*                              ARE MARKED                               STORMAN    735
*   RETURN INFO IN STACK       SVD-S ARE EXAMINED                       STORMAN    736
*                              CODE BLOCK CONTAINING CALL IS            STORMAN    737
*                              MARKED.  LOCALS ARE MARKED.              STORMAN    738
*   OTHER STACK ENTRY          SVD CONTAINED IS EXAMINED.               STORMAN    739
*   PATTERN STACK ENTRY        VARIABLES REFERENCED BY                  STORMAN    740
*                              STARPM, DOLPM OR PRDPM ARE               STORMAN    741
*                              MARKED IF SIMPLE.  IF THE VARIABLE       STORMAN    742
*                              IS AN ELEMENT IN A STRUCTURE AND         STORMAN    743
*                              THE STRUCTURE IS NOT MARKED, THE         STORMAN    744
*                              SPECIAL MARK BIT IS SET IN WORD 0        STORMAN    745
*                              AND A REPEAT COUNTER AT MINHS IS         STORMAN    746
*                              INCREMENTED                              STORMAN    747
*   STRUCTURE                  IF THE SPECIAL MARK BIT IS SET           STORMAN    748
*                              THE REPEAT COUNTER IS DECREMENTED,       STORMAN    749
*                              THE SPEC. BIT IS RESET, AN NTY REFERENCE STORMAN    750
*                              TO THE STRUCTURE IS CREATED AND          STORMAN    751
*                              EXAMINED.                                STORMAN    752
*                              AT THE END OF PHASE 2 IF THE REPEAT      STORMAN    753
*                              COUNTER IS NOT 0, THE PHASE WILL BE      STORMAN    754
*                              REPEATED.                                STORMAN    755
*   ATY, DTY SVD               IF THE REFERENCED STRUCTURE              STORMAN    756
*                              IS NOT MARKED THEN IT WILL BE            STORMAN    757
*                              MARKED AND ALL SVD-S IN THE              STORMAN    758
*                              STRUCTURE ARE EXAMINED RECURSIVELY.      STORMAN    759
*                              DOPE VECTORS ARE MARKED                  STORMAN    760
*   NTY SVD                    IF SIMPLE, VARIABLE IS MARKED,           STORMAN    761
*                              OTHERWISE TREATED LIKE DTY               STORMAN    762
*   PATY, PETY, PSTY SVD       TREATED LIKE PATTERN STACK ENTRY         STORMAN    763
*   CTY SVD                    CODE BLOCK IS MARKED                     STORMAN    764
*                                                                       STORMAN    765
*                                                                       STORMAN    766
         SA1   MINHS               . MAKE SURE THAT BOTH                STORMAN    767
         SA3   X1+1                . SPECIAL LOCATIONS ARE 0            STORMAN    768
         SA2   X1                                                       STORMAN    769
         BX3   X3+X2                                                    STORMAN    770
         NZ    X3,'VE4'                                                 STORMAN    771
          SB1       5                                                   STORMAN    772
          RJ        HBCTRC         . FIND OUT IF TRC THIS PHASE         STORMAN    773
 WPH2A   SA1   B5                  . B5 WAS INITIALIZED EARLIER         STORMAN    774
         ZR    X1,WPH2B            . END OF HS                          STORMAN    775
         BX7   X1                                                       STORMAN    776
         AX1   18                                                       STORMAN    777
         SB1   X1                  . TENTATIVE BYPASS                   STORMAN    778
         AX1   55-18                                                    STORMAN    779
         SX5   B5+B1               . PREPARE NEXT B5                    STORMAN    780
         SX0   X1-VARTYP+37B                                            STORMAN    781
         ZR    X0,WPH2H            . SIMPLE VARIABLE                    STORMAN    782
         SX0   X1-LBLTYP+37B                                            STORMAN    783
         ZR    X0,WPH2I            . LABEL                              STORMAN    784
         SX0   X1-CALLTYP+37B                                           STORMAN    785
         ZR    X0,WPH2L            . FUNCTION                           STORMAN    786
         SX0   X1-CODTYP+37B                                            STORMAN    787
         ZR    X0,WPH2P                                                 STORMAN    788
         SX0   X1-STRTYP+37B                                            STORMAN    789
         SB5   X5                  . START OF NEXT HB, UNLESS CURR.=STR.STORMAN    790
         LX7   60-36               . RIGHT JUSTIFY F3 OF CURRENT HB HEADSTORMAN    791
         NZ    X0,WPH2A            . NOT STRUCTURE, B5 IS SET CORRECTLY STORMAN    792
*  CURRENT HB IS STRUCTURE, BYPASS IS IN F3 (NOT F2) OF HEADER          STORMAN    793
         SB5   A1                  . RESET B5 TO START OF CURRENT HB    STORMAN    794
         SX2   B5                                                       STORMAN    795
         SB5   B5+X7                                                    STORMAN    796
         LX7   18                                                       STORMAN    797
         PL    X7,WPH2A            . BRANCH IF SPECIAL BIT IS NOT SET   STORMAN    798
         MX0   1                                                        STORMAN    799
         BX7   X7-X0               . REMOVE BIT                         STORMAN    800
         LX7   18                                                       STORMAN    801
         SA7   X2                                                       STORMAN    802
         SA1   MINHS                                                    STORMAN    803
         MX0   59                  . =-1                                STORMAN    804
         SA3   X1                                                       STORMAN    805
         LX7   5                                                        STORMAN    806
         IX6   X3+X0               . DECREMENT REPEAT COUNT             STORMAN    807
         SX0   NTY                                                      STORMAN    808
         SA6   A3                                                       STORMAN    809
         NG    X7,WPH2A            . BRANCH IF STRUCTURE IS ALREADY     STORMAN    810
         LX0   55                  . MARKED                             STORMAN    811
         LX2   18                                                       STORMAN    812
         SB2   X1+1                                                     STORMAN    813
         BX7   X2+X0               . ESSENTIALLY NTY SVD TO X7          STORMAN    814
         SA7   B2                                                       STORMAN    815
         RJ    WSVD                . EXAMINE IT                         STORMAN    816
         JP    WPH2A                                                    STORMAN    817
*                                                                       STORMAN    818
*  NOW SCAN THE STACK FOR RETURN INFO AND SVD-S.                        STORMAN    819
*                                                                       STORMAN    820
 WPH2B   SB5   B6+0                                                     STORMAN    821
 WPH2C   SA1   B5                  . NEXT STACK ENTRY HEADING           STORMAN    822
         ZR    X1,WPH2S            . BOTTOM OF THE STACK                STORMAN    823
         SB4   X1                  . BYPASS                             STORMAN    824
         SX5   B5-B4               . PREPARE NEXT B5                    STORMAN    825
         PL    X1,WPH2E                                                 STORMAN    826
*  IT IS AN ENTRY CONTAINING RETURN INFORMATION                         STORMAN    827
         AX1   18                  . FIND THE RETURN CODE BLOCK         STORMAN    828
         SB2   X1                                                       STORMAN    829
         RJ    CBAS                                                     STORMAN    830
         MX0   1                                                        STORMAN    831
         LX0   55                                                       STORMAN    832
         RJ    WMARK               . MARK CODE BLOCK                    STORMAN    833
         SX5   B5-2                . INTITIALIZE SVD POINTER            STORMAN    834
         SX6   B4-1                .     -     SVD COUNT                STORMAN    835
 WPH2D   SA1   X5+1                . LOCAL ADDRESS                      STORMAN    836
         MX0   1                                                        STORMAN    837
         LX6   18                                                       STORMAN    838
         LX0   55                                                       STORMAN    839
         BX5   X5+X6               . PACK X6+X5 INTO X5                 STORMAN    840
         RJ    WMARK               . MARK LOCAL                         STORMAN    841
         SB2   X5                                                       STORMAN    842
         RJ    WSVD                . EXAMINE SVD                        STORMAN    843
         BX6   X5                                                       STORMAN    844
         SX5   X5-2                . NEW SVD POINTER                    STORMAN    845
         AX6   18                                                       STORMAN    846
         SX6   X6-2                . NEW COUNT                          STORMAN    847
         NZ    X6,WPH2D                                                 STORMAN    848
          SB5       X5+1           . POINT TO NEXT HEADER               STORMAN    849
         JP    WPH2C               . FINISHED WITH RETURN INFO          STORMAN    850
*  NOT RETURN:  DISPATCH ON TYPE                                        STORMAN    851
 WPH2E   AX1   55                  . SEE AT CHEK                        STORMAN    852
         SA2   WPH2WD                                                   STORMAN    853
         LX1   2                                                        STORMAN    854
         SB3   X1                                                       STORMAN    855
         AX2   B3,X2                                                    STORMAN    856
         MX0   56                                                       STORMAN    857
         SB2   X5                  . PREPARE FOR PATTERNS BELOW         STORMAN    858
         BX2   -X0*X2                                                   STORMAN    859
         SB3   X2                                                       STORMAN    860
         JP    B3+WPH2SW                                                STORMAN    861
*                                                                       STORMAN    862
WPH2WD   SWITCH WPH2SW,0,1,0,0,2,2,2,0,0,3,3,3,3,0,0                    STORMAN    863
+        SB5   B5-B4               . 0, SF,I,R,SPEC                     STORMAN    864
         JP    WPH2C               . NOTE JUMP AT WPH2F+1               STORMAN    865
+        MX0   1                   . 1, S                               STORMAN    866
         LX0   55                                                       STORMAN    867
         JP    WPH2E1                                                   STORMAN    868
+        MX0   1                   . 2, PS,PA,PE                        STORMAN    869
         LX0   55                                                       STORMAN    870
         JP    WPH2F                                                    STORMAN    871
+        SB2   B5-1                . 4, A,D,N,C                         STORMAN    872
         RJ    WSVD                                                     STORMAN    873
         SB5   X5                  . NOTE HOW X5 WAS PREPARED           STORMAN    874
         JP    WPH2C                                                    STORMAN    875
*  SCAN PATTERN IN STACK FOR STARPM, PRDPM OR DOLPM                     STORMAN    876
 WPH2F   SB2   B2+1                . NEXT PATTERN WORD ADDRESS          STORMAN    877
         EQ    B2,B5,WPH2SW                                             STORMAN    878
         SA2   B2                  . NEXT PATTERN WORD                  STORMAN    879
         SX1   X2+0                                                     STORMAN    880
         UX7   B3,X2                                                    STORMAN    881
         NG    X1,WPH2F            . BRANCH IF BIT TABLE                STORMAN    882
         ID    X2,WPH2G            .    -   IF PRD OR DOLPM             STORMAN    883
         NE    B3,B0,WPH2F              -   IF NOT STARPM               STORMAN    884
 WPH2G   SX1   X1-1                                                     STORMAN    885
         RJ    WMARKP              . SPECIAL REFERENCE                  STORMAN    886
         EQ    WPH2F                                                    STORMAN    887
*                                                                       STORMAN    888
*  MARK SOURCE OF S IF NOTED:                                           STORMAN    889
WPH2E1   SA1   B6                                                       STORMAN    890
         AX1   18                                                       STORMAN    891
         SX1   X1+0                                                     STORMAN    892
         ZR    X1,WPH2SW           . BRANCH IF F2=0                     STORMAN    893
         RJ    WMARK                                                    STORMAN    894
         JP    WPH2SW                                                   STORMAN    895
*                                                                       STORMAN    896
*  PROCESS HEAP BLOCKS                                                  STORMAN    897
*  SIMPLE VARIABLE HBWN                                                 STORMAN    898
*                                                                       STORMAN    899
 WPH2H   SB2   B5+1                . POINTER TO THE VALUE WORD          STORMAN    900
         RJ    WSVD                                                     STORMAN    901
         SB5   X5                                                       STORMAN    902
         JP    WPH2A                                                    STORMAN    903
*                                                                       STORMAN    904
*  LABEL HBWN                                                           STORMAN    905
*                                                                       STORMAN    906
 WPH2I   SA1   B5+1                . FETCH CPD                          STORMAN    907
         AX1   18                                                       STORMAN    908
         SX1   X1                                                       STORMAN    909
 WPH2J   ZR    X1,WPH2K            . BRANCH IF NOT SIMPLE LABEL         STORMAN    910
         MX0   1                   . NOTE BRANCH AT WPH2N BELOW         STORMAN    911
         LX0   55                                                       STORMAN    912
         RJ    WMARK               . MARK CODE BLOCK                    STORMAN    913
 WPH2K   SB5   X5                                                       STORMAN    914
         JP    WPH2A                                                    STORMAN    915
*                                                                       STORMAN    916
*  FUNCTION HBWN, DISPATCH ON FUTY                                      STORMAN    917
*                                                                       STORMAN    918
 WPH2L   SA1   B5+1                . FETCH FUD                          STORMAN    919
         NG    X1,WPH2K            . BRANCH IF STANDARD PROCEDURE       STORMAN    920
         BX2   X1                  . X2 POINTS TO LIST WITH F2 REFS.    STORMAN    921
         MX0   1                   .                                    STORMAN    922
         AX1   55                  . FUTY TO X1                         STORMAN    923
         LX0   55                  . MARK BIT TO X0                     STORMAN    924
          ZR        X1,WPH2M2      . BRANCH IF PROCEDURE                STORMAN    925
         UX7   B4,X1                                                    STORMAN    926
         LT    B4,B0,WPH2N         . BRANCH IF NOT FIELD                STORMAN    927
         SX2   A1+0                . START OF LIST IF FIELD             STORMAN    928
WPH2M    SA1   X2                  . LOOP TO MARK DOPE VECTORS          STORMAN    929
         SX2   X1+0                . IN LIST                            STORMAN    930
         AX1   18                  . GET F2                             STORMAN    931
WPH2M1   RJ    WMARKDP                                                  STORMAN    932
         NZ    X2,WPH2M            . BRANCH IF NOT LAST IN LIST         STORMAN    933
         SB5   X5                                                       STORMAN    934
         JP    WPH2A                                                    STORMAN    935
 WPH2N   SX7   X1-DATATYP          . FUTY IS STILL IN X1                STORMAN    936
         NZ    X7,WPH2K            . BRANCH IF NOT DATA CONSTRUCTOR     STORMAN    937
         SA1   B5+1                                                     STORMAN    938
          RJ        WMARKDP        . MARK DOPE VECTORS                  STORMAN    939
          SB5       X5                                                  STORMAN    940
          JP        WPH2A                                               STORMAN    941
WPH2M2    SA1       X2             . LOOP TO MARK PARAMETERS OF PROCEDURSTORMAN    942
          SX2       X1+0                                                STORMAN    943
          AX1       18             . GET F2                             STORMAN    944
          RJ        WMARK                                               STORMAN    945
          NZ        X2,WPH2M2      . BRANCH IF NOT LAST IN LIST         STORMAN    946
          SB5       X5                                                  STORMAN    947
          JP        WPH2A                                               STORMAN    948
*                                                                       STORMAN    949
*  CODE HB                                                              STORMAN    950
*  NOTE THAT WMARK IS NOT USED HERE TO GAIN SPEED.                      STORMAN    951
*  B5  POINTS ONE WORD BEYOND THE CHB                                   STORMAN    952
*  B4     -   TO THE CURRENT MICOP WORD                                 STORMAN    953
*  B3  CONTAINS THE CONSTANT CALL                                       STORMAN    954
*  B1     -         CONSTANT -1                                         STORMAN    955
*  X0     -         MARK BIT                                            STORMAN    956
*                                                                       STORMAN    957
 WPH2P   MX0   1                   . PREPARE REGISTERS AS DESCRIBED     STORMAN    958
         SB1   -1                  . ABOVE                              STORMAN    959
         SB4   B5                                                       STORMAN    960
         LX0   55                                                       STORMAN    961
         SB5   X5                                                       STORMAN    962
         SB3   CALL                                                     STORMAN    963
 WPH2Q   SB4   B4-B1               . ADDRESS OF NEXT MICOP WORD         STORMAN    964
         GE    B4,B5,WPH2A         . BRANCH IF END OF CHB               STORMAN    965
         SA1   B4                  . NEXT MICOP WORD TO X1              STORMAN    966
         SB2   X1                                                       STORMAN    967
         GE    B3,B2,WPH2R         . JUMP IF BRANCH MICOP               STORMAN    968
         AX1   18                                                       STORMAN    969
         SX2   X1+B1               . MARK F2 ADDRESSED HBWN             STORMAN    970
         NG    X2,WPH2R            . UNLESS F2 LE 0                     STORMAN    971
         SA3   X2                                                       STORMAN    972
         NO                                                             STORMAN    973
         BX7   X3+X0                                                    STORMAN    974
         SA7   A3                                                       STORMAN    975
 WPH2R   AX1   18                  . MARK F2 OR F3 ADDRESSED HBWN       STORMAN    976
         SX2   X1+B1               . UNLESS FIELD IS LE 0               STORMAN    977
         NG    X2,WPH2Q                                                 STORMAN    978
          LX1       42             . CHECK FOR V BIT SET ON GOF BRANCHESSTORMAN    979
          NG        X1,WPH2Q                                            STORMAN    980
         SA4   X2                                                       STORMAN    981
         NO                                                             STORMAN    982
         BX6   X4+X0                                                    STORMAN    983
         SA6   A4                                                       STORMAN    984
         EQ    WPH2Q                                                    STORMAN    985
*                                                                       STORMAN    986
*  FINISHED STACK SCAN:   TREAT A5 AS IN IMPLICIT                       STORMAN    987
*  RETURN ADDRESS.  (SEE ABOVE)                                         STORMAN    988
*                                                                       STORMAN    989
 WPH2S   SX1   A5                                                       STORMAN    990
         RJ    CBAS                                                     STORMAN    991
         MX0   1                                                        STORMAN    992
         LX0   55                                                       STORMAN    993
         RJ    WMARK                                                    STORMAN    994
*                                                                       STORMAN    995
*  REPEAT PHASE 2 IF REPEAT COUNT IS NOT 0                              STORMAN    996
         SA1   MINHS                                                    STORMAN    997
         BX7   X7-X7                                                    STORMAN    998
         SA2   X1                  . REPEAT COUNT TO X2                 STORMAN    999
         SA7   X1+1                . CLEAR 2ND SPECIAL WORD             STORMAN   1000
         SB5   X1+2                                                     STORMAN   1001
         NZ    X2,WPH2A                                                 STORMAN   1002
          RJ        CHKTRC         . CHECK IF CAN TURN OFF TRACE        STORMAN   1003
*                                                                       STORMAN   1004
*  END PHASE 2...                                                       STORMAN   1005
*                                                                       STORMAN   1006
         EJECT                                                          STORMAN   1007
*  HBC PHASE 3                                                          STORMAN   1008
*  IN THE THIRD PHASE UNUSED HEAP BLOCKS ARE DELETED,                   STORMAN   1009
*  AND F3 OF WORD 0 IN ALL USED BLOCKS IS UPDATED                       STORMAN   1010
*  TO REFLECT THE ADDRESS OF THE BLOCK, WERE THE USED                   STORMAN   1011
*  BLOCKS FOLLOWING EACH OTHER TIGHTLY.                                 STORMAN   1012
*  IN GENERAL, UNMARKED BLOCKS ARE UNUSED, EXCEPT                       STORMAN   1013
*  - SIMPLE VARIABLES ARE UNUSED IF UNMARKED AND                        STORMAN   1014
*  CONTAIN A NULL STRING                                                STORMAN   1015
*  - LABELS ARE UNUSED IF UNMARKED AND UNDEFINED                        STORMAN   1016
*  - FUNCTIONS -               -              -                         STORMAN   1017
*  FILTYP BLOCKS ARE USED UNLESS THEIR REFERENCE COUNT                  STORMAN   1018
*  IS ZERO.                                                             STORMAN   1019
*                                                                       STORMAN   1020
*  B1  FUTURE BASE                                                      STORMAN   1021
*  B2  CURRENT BASE                                                     STORMAN   1022
*  X0  MASK FOR F3                                                      STORMAN   1023
*                                                                       STORMAN   1024
          SB1       6                                                   STORMAN   1025
          RJ        HBCTRC         . FIND OUT IF TRC THIS PHASE         STORMAN   1026
         SA1   MINHS               . PREPARE B1,B2 AND X0               STORMAN   1027
         MX0   18                                                       STORMAN   1028
         LX0   60-6                                                     STORMAN   1029
         SB2   X1+3                                                     STORMAN   1030
         SB1   B2+0                                                     STORMAN   1031
*                                                                       STORMAN   1032
 WPH3A   SA1   B2                  . WORD 0 OF NEXT HB                  STORMAN   1033
         ZR    X1,WPH3R            . BRANCH IF END OF HS                STORMAN   1034
         BX2   X1                                                       STORMAN   1035
         BX7   -X0*X1              . CLEAR F3                           STORMAN   1036
         AX1   55                  . HSTY TO X1                         STORMAN   1037
         LX2   5                                                        STORMAN   1038
         SX6   B1                                                       STORMAN   1039
         SX3   X1-STRTYP+37B                                            STORMAN   1040
         PL    X2,WPH3E            . BRANCH IF NOT MARKED               STORMAN   1041
 WPH3B   LX2   60-5-18             . BYPASS TO X2                       STORMAN   1042
         NZ    X3,WPH3C                                                 STORMAN   1043
         SA2   X2                  . GET BYPASS OF STRUCT.  FROM DOPE V.STORMAN   1044
 WPH3C   LX6   36                  . MARKED BLOCKS ARE USED             STORMAN   1045
         SB1   B1+X2               . THEREFORE UPDATE B1                STORMAN   1046
         BX7   X7+X6               . MERGE IN FUTURE BASE               STORMAN   1047
         SA7   A1                                                       STORMAN   1048
 WPH3D   SB2   B2+X2               . GO TO NEXT HB                      STORMAN   1049
         EQ    WPH3A                                                    STORMAN   1050
*                                                                       STORMAN   1051
*  FOR UNMARKED BLOCKS, DECIDE IF UNUSED                                STORMAN   1052
 WPH3E   LX2   60-5-18                                                  STORMAN   1053
         ZR    X3,WPH3L                                                 STORMAN   1054
         SX3   X1-FILTYP+37B       . IF I/O BUFFER                      STORMAN   1055
         ZR    X3,WPH3N            . BRANCH TO CHECK REF. COUNT         STORMAN   1056
         SX3   X1-FRETYP+37B                                            STORMAN   1057
         ZR    X3,WPH3D            . FREE BLOCK UNUSED                  STORMAN   1058
         SX3   X1-CODTYP+37B       . IF UNUSED CODE BLOCK               STORMAN   1059
         ZR    X3,WPH3M            . GO TAKE IT OFF CODLIST             STORMAN   1060
         SX3   X1-DOPTYP+37B                                            STORMAN   1061
         ZR    X3,WPH3P            . DOPE VECTORS UNUSED                STORMAN   1062
         SX3   X1-VARTYP+37B                                            STORMAN   1063
         ZR    X3,WPH3K            . SIMPLE VARIABLES, SEE BELOW        STORMAN   1064
         SX3   X1-LBLTYP+37B       . CHECK FOR UNDEFINED                STORMAN   1065
         ZR    X3,WPH3F            . LABEL OR FUNCTION                  STORMAN   1066
         SX3   X1-CALLTYP+37B                                           STORMAN   1067
         NZ    X3,WPH3G                                                 STORMAN   1068
 WPH3F   SA3   B2+1                                                     STORMAN   1069
         AX3   55                                                       STORMAN   1070
         SX3   X3-UNDFTYP                                               STORMAN   1071
         NZ    X3,WPH3C            . USED IF NOT UNDEFINED              STORMAN   1072
*                                                                       STORMAN   1073
*  UNUSED HBWN, TAKE IT OFF FROM HASH LIST                              STORMAN   1074
 WPH3G   SB4   B2                                                       STORMAN   1075
         SB5   B2+2                                                     STORMAN   1076
         BX0   X1                                                       STORMAN   1077
         LX0   55                  . HBTY TO X0                         STORMAN   1078
         SB3   B0-B5               . NEGATIVE B3 FLAGS, NO SEARCH       STORMAN   1079
         RJ    SEARCH              . RETURN HASH CODE ONLY              STORMAN   1080
*  X2 CONTAINS THE HEAD OF THE HASH LIST                                STORMAN   1081
         SA1   B4                                                       STORMAN   1082
         MX0   42                                                       STORMAN   1083
         SX7   X1                  . OLD HASH LINK TO BE INSERTED       STORMAN   1084
         AX1   18                  . INTO PREVIOUS ENTRY                STORMAN   1085
 WPH3H   SB3   X2                  . LOOP TO FIND PREVIOUS ENTRY        STORMAN   1086
         EQ    B3,B4,WPH3I         . POINT                              STORMAN   1087
         SA2   X2                                                       STORMAN   1088
         EQ    WPH3H                                                    STORMAN   1089
 WPH3I   BX6   X0*X2               . PREV. ENTRY AT A2                  STORMAN   1090
         BX7   X7+X6               . MERGE LINK                         STORMAN   1091
         NG    X2,WPH3J                                                 STORMAN   1092
         NG    X3,WPH3J            . SHIFT IF LEFT ENTRY IN             STORMAN   1093
         LX7   30                  . HASH TABLE                         STORMAN   1094
 WPH3J   SA7   A2                                                       STORMAN   1095
         MX0   18                  . RESTORE X0                         STORMAN   1096
         SB2   B4                  . RESTORE B2                         STORMAN   1097
         LX0   60-6                                                     STORMAN   1098
         BX2   X1                  . BYPASS TO X2                       STORMAN   1099
         JP    WPH3P                                                    STORMAN   1100
*                                                                       STORMAN   1101
*  TEST IF SIMPLE VARIABLE CONTAINS THE NULL STRING                     STORMAN   1102
 WPH3K   SA3   B2+1                . SVD TO X3                          STORMAN   1103
         SX4   X3                                                       STORMAN   1104
         AX3   55                                                       STORMAN   1105
         SX3   X3-SSTY                                                  STORMAN   1106
         NZ    X3,WPH3C            . USED IF NOT SS TYPE                STORMAN   1107
         SA3   X4                  . FETCH FIRST WORD OF THE STRING     STORMAN   1108
         NZ    X3,WPH3C            . USED IF NOT NULL STRING            STORMAN   1109
          BX4       X6                                                  STORMAN   1110
          SX6       B7             . ADD TO FREE LIST                   STORMAN   1111
         SA6   A3                                                       STORMAN   1112
         SB7   A3                  . RELEASE LS                         STORMAN   1113
          BX6       X4             . RESTORE X6                         STORMAN   1114
         JP    WPH3G               . UNUSED HBWN                        STORMAN   1115
*                                                                       STORMAN   1116
*  UNPACK BYPASS FROM F3 OF WORD 0 IN STRUCTURE:                        STORMAN   1117
WPH3L    LX2   60-18                                                    STORMAN   1118
         JP    WPH3P                                                    STORMAN   1119
*                                                                       STORMAN   1120
*  TAKE CODTYP BLOCK OFF CODLIST                                        STORMAN   1121
WPH3M    SA1   CODLIST                                                  STORMAN   1122
WPH3M1   SB3   X1                                                       STORMAN   1123
         EQ    B3,B2,WPH3M2                                             STORMAN   1124
         SA1   B3                                                       STORMAN   1125
         EQ    WPH3M1                                                   STORMAN   1126
WPH3M2   MX6   42                  . WORD POINTING TO OUR BLOCK IS AT A1STORMAN   1127
         SA3   B2                                                       STORMAN   1128
         SX4   X3+0                . NEW POINTER FOR A1                 STORMAN   1129
WPH3M3   BX7   X6*X1                                                    STORMAN   1130
         BX7   X7+X4                                                    STORMAN   1131
         LX6   18                                                       STORMAN   1132
         SA7   A1                                                       STORMAN   1133
         NZ    X4,WPH3P            . BRANCH IF LAST IN LIST NOT CHANGED STORMAN   1134
         SX4   A1                  . UPDATE LAST IN LIST IN F2          STORMAN   1135
         LX4   18                  . OF CODLIST                         STORMAN   1136
         SA1   CODLIST                                                  STORMAN   1137
         EQ    WPH3M3                                                   STORMAN   1138
*                                                                       STORMAN   1139
*  CHECK REFERENCE COUNT IN I/O BUFFER                                  STORMAN   1140
WPH3N    SA3   B2+FI.RFC                                                STORMAN   1141
         SX3   X3+0                                                     STORMAN   1142
         NZ    X3,WPH3C            . BRANCH IF BLOCK IS USED            STORMAN   1143
*                                                                       STORMAN   1144
*  MAKE UNUSED BLOCK AT B2 WITH BYPASS X2 LOOK LIKE A                   STORMAN   1145
*  FREE HB, SO PHASE 4 WILL IGNORE IT                                   STORMAN   1146
WPH3P    SX3   FRETYP                                                   STORMAN   1147
         SX7   X2                                                       STORMAN   1148
         LX3   55                                                       STORMAN   1149
         LX7   18                                                       STORMAN   1150
         BX7   X7+X3               . ONLY THE HSTY AND BYPASS           STORMAN   1151
         SA7   B2                  . FIELDS ARE IMPORTANT               STORMAN   1152
         SB2   B2+X2                                                    STORMAN   1153
         EQ    WPH3A                                                    STORMAN   1154
*                                                                       STORMAN   1155
WPH3R    BSS   0                                                        STORMAN   1156
          RJ        CHKTRC         . CHECK IF CAN TURN OFF TRACE        STORMAN   1157
*                                                                       STORMAN   1158
*  END OF PHASE 3...                                                    STORMAN   1159
*                                                                       STORMAN   1160
         EJECT                                                          STORMAN   1161
*  HBC PHASE 4                                                          STORMAN   1162
*  IN PHASE 4 ALL REFERENCES TO HEAP STORAGE WHICH                      STORMAN   1163
*  WERE NOT DELETED IN PHASE 3 ARE UPDATED TO POINT TO                  STORMAN   1164
*  THE SAME RELATIVE WORD AS IN THE CONTAINING HEAP                     STORMAN   1165
*  BLOCK BUT WITH BASE ADDRESS AS INDICATED IN F3 OF WORD 0.            STORMAN   1166
*                                                                       STORMAN   1167
          SB1       7                                                   STORMAN   1168
          RJ        HBCTRC         . FIND OUT IF TRC THIS PHASE         STORMAN   1169
         JP    WPH4T                                                    STORMAN   1170
*                                                                       STORMAN   1171
 WPH4A   SA1   B1                  . NEXT HB WORD 0 OR SVD              STORMAN   1172
         BX2   X1                                                       STORMAN   1173
         ZR    X1,WPH4Z2                                                STORMAN   1174
         PL    X1,WPH4S                                                 STORMAN   1175
         AX1   55                  . HSTY TO X1                         STORMAN   1176
         SB2   X1                                                       STORMAN   1177
         MX0   42                  . PREPARE FOR WUPF1 CALL             STORMAN   1178
         JP    B2+WPH4A1           . DISPATCH ON HSTY                   STORMAN   1179
+        AX2   18                  . FRETYP                             STORMAN   1180
         SB1   B1+X2               . IGNORE FREE BLOCK SINCE IT WILL    STORMAN   1181
         EQ    WPH4A               . BE OVERWRITTEN IN PHASE 5.         STORMAN   1182
+        BX1   X2                  . CODTYP                             STORMAN   1183
         AX2   18                                                       STORMAN   1184
         JP    WPH4P                                                    STORMAN   1185
+        SB2   B1+1                . DOPTYP                             STORMAN   1186
         JP    WPH4K                                                    STORMAN   1187
+        BX1   X2                  . FILTYP                             STORMAN   1188
         AX2   18                                                       STORMAN   1189
         JP    WPH4M                                                    STORMAN   1190
+        SB1   B1+1                . STRTYP                             STORMAN   1191
         JP    WPH4J                                                    STORMAN   1192
+        SB5   0                   . REALTYP                            STORMAN   1193
         JP    WPH4B                                                    STORMAN   1194
+        SB5   -1                  . INTTYP                             STORMAN   1195
         JP    WPH4B                                                    STORMAN   1196
+        DATA  0                   . NOT USED                           STORMAN   1197
+        SB5   -2                  . LITTYP                             STORMAN   1198
         JP    WPH4B                                                    STORMAN   1199
+        SA1   B1+1                . LBLTYP                             STORMAN   1200
         JP    WPH4E                                                    STORMAN   1201
+        SA1   B1+1                . CALLTYP                            STORMAN   1202
         JP    WPH4F                                                    STORMAN   1203
+        SB2   B1+1                . VARTYP =-1                         STORMAN   1204
         RJ    WP4SVD              . UPDATE SVD IN VALUE WORD           STORMAN   1205
WPH4A1   SB5   2                                                        STORMAN   1206
 WPH4B   MX0   42                  . BASE ADDRESS FOR HSTY SWITCH       STORMAN   1207
         SA1   B1                                                       STORMAN   1208
         RJ    WUPF1               . UPDATE HASH LINK                   STORMAN   1209
         SA7   A1                                                       STORMAN   1210
         AX1   18                  . BYPASS TO X1                       STORMAN   1211
         SB3   B1+X1               . PREPARE NEXT B1                    STORMAN   1212
         AX1   18                                                       STORMAN   1213
         SB2   X1                  . FUTURE ADDRESS                     STORMAN   1214
         EQ    B1,B2,WPH4D         . NO UPDATING NECESSARY              STORMAN   1215
         SX2   B2-B1               . BLOCK DISPLACEMENT                 STORMAN   1216
         SB2   B1+B5               . ADDRESS OF FIRST WORD OF HBWN NAME STORMAN   1217
         LT    B0,B5,WPH4C         . BRANCH IF HBWN                     STORMAN   1218
         SA1   B1+1                . UPDATE SVD IF HEAP BLOCK LITERAL   STORMAN   1219
         IX7   X1+X2                                                    STORMAN   1220
         SA7   A1                                                       STORMAN   1221
         EQ    B5,B0,WPH4D         . BRANCH IF REAL                     STORMAN   1222
         LX2   18                                                       STORMAN   1223
         IX7   X7+X2                                                    STORMAN   1224
         SA7   A1                                                       STORMAN   1225
         SB2   B2+4                . ADDRESS OF FIRST WORD OF LIT. VALUESTORMAN   1226
              AX2       18             . REPOSITION DISP. FOR LITERALS  STORMAN   1227
 WPH4C   SA1   B2                  . ADD BLOCK DISPLACEMENT TO LINK     STORMAN   1228
         SB2   X1                                                       STORMAN   1229
         EQ    B2,B0,WPH4D                                              STORMAN   1230
         IX7   X1+X2                                                    STORMAN   1231
         SA7   A1                                                       STORMAN   1232
         EQ    WPH4C                                                    STORMAN   1233
 WPH4D   SB1   B3                                                       STORMAN   1234
         JP    WPH4A                                                    STORMAN   1235
*  UPDATE CPD IN VALUE WORD OF LABEL                                    STORMAN   1236
 WPH4E   LX1   60-18                                                    STORMAN   1237
         SX3   X1                                                       STORMAN   1238
         ZR    X3,WPH4A1           . IGNORE IF RETURN ETC.              STORMAN   1239
         RJ    WUPF1               . SIMILAR TO TREATMENT OF            STORMAN   1240
         LX7   18                  . CTY SVD IN WP4SVD                  STORMAN   1241
         IX3   X2-X3                                                    STORMAN   1242
         IX7   X3+X7                                                    STORMAN   1243
         SA7   A1                                                       STORMAN   1244
         JP    WPH4A1                                                   STORMAN   1245
*  UPDATE FUD IN VALUE WORD OF FUNCTION                                 STORMAN   1246
 WPH4F   NG    X1,WPH4A1           . IGNORE IF STANDARD PROCEDURE       STORMAN   1247
         BX6   X1                                                       STORMAN   1248
         AX1   55                                                       STORMAN   1249
         NZ    X1,WPH4H            . BRANCH IF NOT PROCEDURE            STORMAN   1250
         MX3   59                  . LIST CONTAINS POINTERS TO WORD 0   STORMAN   1251
 WPH4G   SA1   X6                  . NEXT ON FORMAL OR FIELD LIST       STORMAN   1252
         SX6   X1                  . LINK TO X6                         STORMAN   1253
         LX1   60-18               . UPDATE F2                          STORMAN   1254
         IX1   X1+X3               . X3 =-1 OR 0                        STORMAN   1255
         RJ    WUPF1                                                    STORMAN   1256
         IX7   X7-X3                                                    STORMAN   1257
         LX7   18                                                       STORMAN   1258
         SA7   A1+0                                                     STORMAN   1259
         NZ    X6,WPH4G            . FETCH NEXT IF NOT END OF LIST      STORMAN   1260
         JP    WPH4A1                                                   STORMAN   1261
 WPH4H   SX3   X1-FLDTYP                                                STORMAN   1262
         NZ    X3,WPH4I                                                 STORMAN   1263
*  UPDATE FIELD LIST USING THE LOOP ABOVE WITH X3=0                     STORMAN   1264
         SX6   A1                  . LIST STARTS AT A1                  STORMAN   1265
         EQ    WPH4G                                                    STORMAN   1266
 WPH4I   SX3   X1-DATATYP                                               STORMAN   1267
         NZ    X3,WPH4A1           . IGNORE IF UNDEFINED                STORMAN   1268
         BX1   X6                                                       STORMAN   1269
         RJ    WUPF1               . UPDATE POINTER TO DOPE VECTOR      STORMAN   1270
         SA7   A1                                                       STORMAN   1271
         JP    WPH4A1                                                   STORMAN   1272
*                                                                       STORMAN   1273
*  UPDATE WORD 0 OF A STRUCTURE.  THE SVD-S CONTAINED IN                STORMAN   1274
*  THE STRUCTURE ARE UPDATED IN THE MAIN LOOP. (NOTE THAT               STORMAN   1275
*  SVD-S ARE POSITIVE, WHILE HB-S START WITH A NEGATIVE WORD)           STORMAN   1276
*                                                                       STORMAN   1277
 WPH4J   BX1   X2                                                       STORMAN   1278
         LX1   60-18                                                    STORMAN   1279
          SB2       X1             . DOPE VECTOR POINTER                STORMAN   1280
*                                                                       STORMAN   1281
*  IF THE DOPE VECTOR (B2) FOLLOWS THE STRUCTURE (B1) IS HS, WE DO NOT  STORMAN   1282
*   UPDATE THE DOPE POINTER.  THAT WILL BE DONE IN PHASE 5 (WPH5B).     STORMAN   1283
*   PHASE 5 NEEDS TO BE ABLE TO FIND THE DOPE VECTOR SO IT CAN GET THE  STORMAN   1284
*   BYPASS FOR THE STRUCTURE.                                           STORMAN   1285
*                                                                       STORMAN   1286
          GE        B2,B1,WPH4A                                         STORMAN   1287
         RJ    WUPF1               . UPDATE POINTER TO DOPE VECTOR      STORMAN   1288
         LX7   18                                                       STORMAN   1289
         SA7   A1                                                       STORMAN   1290
         JP    WPH4A                                                    STORMAN   1291
*  UPDATE FIELD REFERENCE IF NOT ARRAY DOPE  VECTOR                     STORMAN   1292
 WPH4K   AX2   18                  . BYPASS TO X2                       STORMAN   1293
         SB1   B1+X2               . WORD 0 OF NEXT HEAP BLOCK          STORMAN   1294
 WPH4L   SA1   B2                  . NEXT WORD IN DOPE VECTOR           STORMAN   1295
         BX2   X1                                                       STORMAN   1296
         BX6   X1                                                       STORMAN   1297
         LX2   1                                                        STORMAN   1298
         NG    X2,WPH4A            . IGNORE IF ARRAY                    STORMAN   1299
         RJ    WUPF1V              . UPDATE POINTER TO FIELD FUD        STORMAN   1300
         SA7   A1+0                                                     STORMAN   1301
         SB2   B2+1                                                     STORMAN   1302
         PL    X6,WPH4L            . REPEAT IF NOT LAST WORD            STORMAN   1303
         JP    WPH4A                                                    STORMAN   1304
*  UPDATE LINK AND FET POINTERS IN INPUT/OUTPUT BUFFER                  STORMAN   1305
 WPH4M   SB3   B1+X2               . PREPARE NEXT B1                    STORMAN   1306
         RJ    WUPF1               . UPDATE LINK IN F1, WORD 0          STORMAN   1307
         SA7   A1                                                       STORMAN   1308
         AX1   36                                                       STORMAN   1309
         SB2   X1                                                       STORMAN   1310
         SX2   B2-B1               . BLOCK DISPLACEMENT TO X2           STORMAN   1311
          SB2       B1+7                                                STORMAN   1312
         SB1   B1+3                                                     STORMAN   1313
 WPH4N   SA1   B1                  . UPDATE FET POINTERS IN             STORMAN   1314
         IX7   X1+X2               . WORD 3, 4, 5 AND 6 OF THE          STORMAN   1315
         SA7   A1+0                . BLOCK                              STORMAN   1316
         SB1   B1+1                                                     STORMAN   1317
         LT    B1,B2,WPH4N                                              STORMAN   1318
         JP    WPH4D               . RESTORE B1 FROM B3                 STORMAN   1319
*  UPDATE LINK AND HBWN VALUE WORD REFERENCES IN                        STORMAN   1320
*  CODE BLOCK.  THE LOOP BELOW IS SIMILAR TO THE ONE                    STORMAN   1321
*  AT WPH2P.                                                            STORMAN   1322
 WPH4P   SB3   B1+X2               . PREPARE NEXT B1                    STORMAN   1323
         RJ    WUPF1               . UPDATE LINK IN F1, WORD 0          STORMAN   1324
         SB5   CALL                . CONSTANT TO IDENTIFY BRANCHES      STORMAN   1325
 WPH4Q   SB1   B1+1                . ADDRESS OF NEXT MICOP WORD         STORMAN   1326
         GE    B1,B3,WPH4A         . BRANCH IF END OF BLOCK             STORMAN   1327
         SA1   B1                                                       STORMAN   1328
         SB2   X1                                                       STORMAN   1329
         LX1   60-18                                                    STORMAN   1330
         SB4   X1                                                       STORMAN   1331
         GE    B0,B4,WPH4R         . UPDATE RIGHT MICOP ADDRESS         STORMAN   1332
         RJ    WUPF1V              . IF GT 0                            STORMAN   1333
         BX1   X7                                                       STORMAN   1334
         LX7   18                                                       STORMAN   1335
         SA7   A1                                                       STORMAN   1336
 WPH4R   GE    B5,B2,WPH4Q         . NO LEFT MICOP IF BRANCH            STORMAN   1337
         LX1   60-18                                                    STORMAN   1338
         SB4   X1                                                       STORMAN   1339
         EQ    B4,B0,WPH4Q         . UPDATE LEFT MICOP ADDRESS          STORMAN   1340
         RJ    WUPF1V              . UNLESS IT IS 0                     STORMAN   1341
         LX7   36                                                       STORMAN   1342
         SA7   A1                                                       STORMAN   1343
         EQ    WPH4Q                                                    STORMAN   1344
*  UPDATE SVD, PRESUMABLY APPEARING IN A STRUCTURE                      STORMAN   1345
 WPH4S   SB2   B1                                                       STORMAN   1346
         RJ    WP4SVD                                                   STORMAN   1347
         SB1   B1+1                                                     STORMAN   1348
         JP    WPH4A                                                    STORMAN   1349
*                                                                       STORMAN   1350
*                                                                       STORMAN   1351
*  SCAN THE STACK FOR REFERENCES IN A LOOP                              STORMAN   1352
*  SIMILAR TO THE ONE AT WPH2B.                                         STORMAN   1353
*  NOTE THAT UNLIKE IN PHASE 2 THIS CODE IS EXECUTED BEFORE THE         STORMAN   1354
*  HS SCAN, SO THAT CODLIST CAN STILL BE LOOKED UP.                     STORMAN   1355
*                                                                       STORMAN   1356
 WPH4T   SB5   B6+0                                                     STORMAN   1357
*                                                                       STORMAN   1358
 WPH4U   SA1   B5                  . NEXT STACK ENTRY HEADER            STORMAN   1359
         ZR    X1,WPH4Z            . BRANCH IF BOTTOM OF STACK          STORMAN   1360
         SB4   X1                  . BYPASS TO B4                       STORMAN   1361
         PL    X1,WPH4W            . BRANCH IF NOT RETURN INFO.         STORMAN   1362
         LX1   60-18               . UNPACK RETURN ADDRESS              STORMAN   1363
         SB2   X1                                                       STORMAN   1364
         BX6   X1                                                       STORMAN   1365
         RJ    CBAS                . FIND BASE OF CODE BLOCK            STORMAN   1366
         SX3   X1                                                       STORMAN   1367
         MX0   42                                                       STORMAN   1368
         RJ    WUPF1                                                    STORMAN   1369
         IX6   X6-X3               . UPDATE RETURN ADDRESS WITH         STORMAN   1370
         IX6   X6+X2               . BLOCK DISPLACEMENT                 STORMAN   1371
         LX6   18                                                       STORMAN   1372
         SA6   B5                                                       STORMAN   1373
         SB4   B5-B4               . PREPARE TO SCAN STACKED SVD-S      STORMAN   1374
         SB5   B5-1                . AND SVD ADDRESSES                  STORMAN   1375
 WPH4V   MX0   42                                                       STORMAN   1376
         SA1   B5                                                       STORMAN   1377
         RJ    WUPF1V              . UPDATE SVD ADDRESS                 STORMAN   1378
         SA7   B5+0                                                     STORMAN   1379
         SB2   B5-1                                                     STORMAN   1380
         SB5   B5-2                                                     STORMAN   1381
         RJ    WP4SVD              . UPDATE SVD                         STORMAN   1382
         LT    B4,B5,WPH4V                                              STORMAN   1383
         JP    WPH4U               . FINISHED WITH RETURN INFO.         STORMAN   1384
 WPH4W   AX1   55                  . NOT RETURN INFO.                   STORMAN   1385
         SA2   WPH2WD              . DISPATCH ON SETY                   STORMAN   1386
         LX1   2                                                        STORMAN   1387
         SB3   X1                                                       STORMAN   1388
         AX2   B3,X2                                                    STORMAN   1389
         MX0   56                                                       STORMAN   1390
         BX2   -X0*X2                                                   STORMAN   1391
         SB3   X2                                                       STORMAN   1392
         JP    B3+WPH4SW                                                STORMAN   1393
*                                                                       STORMAN   1394
WPH4SW   SB5   B5-B4               . 0, SF,I,R,SPEC                     STORMAN   1395
         EQ    WPH4U                                                    STORMAN   1396
+        SA1   B5                  . 1, S                               STORMAN   1397
         LX1   60-18                                                    STORMAN   1398
         EQ    WPH4W1                                                   STORMAN   1399
+        SB4   B5-B4               . 2, PS,PA,PE                        STORMAN   1400
         MX0   42                                                       STORMAN   1401
         JP    WPH4X                                                    STORMAN   1402
+        SB2   B5-1                . 3, A,D,N,C                         STORMAN   1403
         RJ    WP4SVD                                                   STORMAN   1404
         SB5   B5-B4                                                    STORMAN   1405
         JP    WPH4U                                                    STORMAN   1406
*                                                                       STORMAN   1407
*  UPDATE SOURCE OF S, IF ANY                                           STORMAN   1408
WPH4W1   SX3   X1                                                       STORMAN   1409
         MX0   42                                                       STORMAN   1410
         ZR    X3,WPH4SW           . BRANCH IF  NO SOURCE               STORMAN   1411
         SA3   X1                                                       STORMAN   1412
         RJ    WUPF1P              . UPDATE SOURCE IN F2                STORMAN   1413
         LX7   18                                                       STORMAN   1414
         SA7   B5                                                       STORMAN   1415
         JP    WPH4SW                                                   STORMAN   1416
*                                                                       STORMAN   1417
*  SCAN PATTERN IN STACK FOR STARPM, PRDPM OR DOLPM                     STORMAN   1418
 WPH4X   SB5   B5-1                . SEE ALSO LOOP AT WPH2F             STORMAN   1419
         GE    B4,B5,WPH4U                                              STORMAN   1420
         SA2   B5                                                       STORMAN   1421
         SX1   X2+0                                                     STORMAN   1422
         UX3   B3,X2                                                    STORMAN   1423
         NG    X1,WPH4X                                                 STORMAN   1424
         ID    X2,WPH4Y                                                 STORMAN   1425
         NE    B3,B0,WPH4X                                              STORMAN   1426
 WPH4Y   BX1   X2                                                       STORMAN   1427
         SA3   X1                                                       STORMAN   1428
         RJ    WUPF1P              . UPDATE VARIABLE REFERENCE          STORMAN   1429
         SA7   B5                                                       STORMAN   1430
         EQ    WPH4X                                                    STORMAN   1431
*                                                                       STORMAN   1432
*  FINALLY, UPDATE HS REFERENCES IN THE HASH TABLE,                     STORMAN   1433
*  IN CODLIST, FILLIST AND A5                                           STORMAN   1434
*                                                                       STORMAN   1435
WPH4Z    SX1   HASHLN-1                                                 STORMAN   1436
         SB5   X1                  . NUMBER OF WORDS IN HASH TABLE      STORMAN   1437
         MX0   42                                                       STORMAN   1438
 WPH4Z1  SA1   B5+HASHTBL                                               STORMAN   1439
         RJ    WUPF1               . UPDATE LEFT ENTRY                  STORMAN   1440
         BX1   X7                                                       STORMAN   1441
         LX1   30                                                       STORMAN   1442
         RJ    WUPF1               . UPDATE RIGHT ENTRY                 STORMAN   1443
         LX7   30                                                       STORMAN   1444
         SA7   A1                                                       STORMAN   1445
         SB5   B5-1                                                     STORMAN   1446
         GE    B5,B0,WPH4Z1                                             STORMAN   1447
*                                                                       STORMAN   1448
         SA1   CODLIST                                                  STORMAN   1449
         SA4   FILLIST                                                  STORMAN   1450
         RJ    WUPF1                                                    STORMAN   1451
         LX7   60-18                                                    STORMAN   1452
         BX1   X7                                                       STORMAN   1453
         RJ    WUPF1               . UPDATE LAST IN CODLIST             STORMAN   1454
         BX6   X7                                                       STORMAN   1455
         BX1   X4                                                       STORMAN   1456
         RJ    WUPF1                                                    STORMAN   1457
         SA7   A4                                                       STORMAN   1458
         SB2   A5                  . TREAT A5 AS A RETURN               STORMAN   1459
         RJ    CBAS                . ADDRESS AT WPH4U                   STORMAN   1460
         LX6   18                                                       STORMAN   1461
         SA6   CODLIST             . MAY STORE CODLIST NOW              STORMAN   1462
         SB2   X1                                                       STORMAN   1463
         RJ    WUPF1                                                    STORMAN   1464
         SB3   X2                                                       STORMAN   1465
         SB3   B3-B2                                                    STORMAN   1466
         SA4   MINHS                                                    STORMAN   1467
         SA1   OUTSTRM             . UPDATE OUTSTRM                     STORMAN   1468
         RJ    WUPF1                                                    STORMAN   1469
         SA7   A1                                                       STORMAN   1470
         SA5   A5+B3                                                    STORMAN   1471
         SB1   X4+3                                                     STORMAN   1472
         JP    WPH4A                                                    STORMAN   1473
*                                                                       STORMAN   1474
WPH4Z2   BSS   0                                                        STORMAN   1475
          SA1       ISVB1                                               STORMAN   1476
          PL        X1,WPH4Z3      . XK WILL BE RESTORED FROM A5        STORMAN   1477
          SA1    ISVX5       . FETCH OLD X5                             STORMAN   1478
          SA1       X1-1           . X5 IS CPD                          STORMAN   1479
          AX1       36             . GET FUTURE ADDRESS OF HEAP BLOCK   STORMAN   1480
          SX7       X1+1           . CPD IS SECOND WORD OF BLOCK        STORMAN   1481
          SA7       ISVX5          . STORE THE NEW X5                   STORMAN   1482
WPH4Z3    BSS       0                                                   STORMAN   1483
          RJ        CHKTRC         . CHECK IF CAN TURN OFF TRACE        STORMAN   1484
*                                                                       STORMAN   1485
*  END OF PHASE 4                                                       STORMAN   1486
*                                                                       STORMAN   1487
         EJECT                                                          STORMAN   1488
*  HBC PHASE 5                                                          STORMAN   1489
*  PASS 5 WILL MOVE ALL USED HEAP BLOCKS TO THEIR DESTINATION           STORMAN   1490
*  AS DEFINED IN F3.  THE ORIGINAL VALUE OF F3 IS RE-                   STORMAN   1491
*  ESTABLISHED:                                                         STORMAN   1492
*  VAR,LBL,CALL,LIT,INT TYPES:  BY COUNTING THE NUMBER OF               STORMAN   1493
*      CHARACTERS IN THE NAME.                                          STORMAN   1494
*  STRTYP:  F1 IN THE DOPE VECTOR IS COPIED TO F3                       STORMAN   1495
*  OTHER TYPES:  F3 IS SET TO 0                                         STORMAN   1496
*  ALL MARK BITS ARE TURNED OFF                                         STORMAN   1497
*  AFTER MOVING ALL BLOCKS, THE STACK IS MOVED SO THAT                  STORMAN   1498
*  THE FREE SPACE IN HS WILL BE EQUAL TO THE FREE SPACE IN SS.          STORMAN   1499
*  MAXHS, MINSTAK, B6, ETC. ARE MODIFIED TO REFLECT THE                 STORMAN   1500
*  REARRANGED SITUATION.  HS WILL CONTAIN A SINGLE FREE                 STORMAN   1501
*  BLOCK AT THE END.  (+ THE DUMMY BLOCK)                               STORMAN   1502
*                                                                       STORMAN   1503
          SB1       8                                                   STORMAN   1504
          RJ        HBCTRC         . FIND OUT IF TRC THIS PHASE         STORMAN   1505
         SA1   MINHS                                                    STORMAN   1506
         SB1   X1+3                                                     STORMAN   1507
*                                                                       STORMAN   1508
 WPH5A   SA1   B1                  . WORD 0 OF NEXT HB                  STORMAN   1509
         BX2   X1                                                       STORMAN   1510
         ZR    X1,WPH5J            . END OF HS                          STORMAN   1511
         AX1   18                                                       STORMAN   1512
         SB2   X1                  . BYPASS TO B2                       STORMAN   1513
         AX1   18                                                       STORMAN   1514
         SB3   X1                  . FUTURE BASE TO B3                  STORMAN   1515
         AX1   55-36               . HSTY TO X1                         STORMAN   1516
         SX3   X1-INTTYP+37B                                            STORMAN   1517
         PL    X3,WPH5F                                                 STORMAN   1518
         SX3   X1-STRTYP+37B                                            STORMAN   1519
         ZR    X3,WPH5B                                                 STORMAN   1520
         SX3   X1-FRETYP+37B       . DO NOT MOVE FREE BLOCK.            STORMAN   1521
         ZR    X3,WPH5H                                                 STORMAN   1522
         BX4   X4-X4               . OTHER TYPES:  F3 IS SET TO 0       STORMAN   1523
         SB4   B0                                                       STORMAN   1524
         JP    WPH5C                                                    STORMAN   1525
*  STRTYP BLOCK.  GET BYPASS AND F3 FROM F1 OF DOPE VECTOR              STORMAN   1526
WPH5B     BX1       X2                                                  STORMAN   1527
          AX1       18             . SHIFT TO GET DOPE VECTOR POINTER   STORMAN   1528
          SA1       X1                                                  STORMAN   1529
         SX4   X1                                                       STORMAN   1530
         SB2   X1                                                       STORMAN   1531
          SB4       A1                                                  STORMAN   1532
*                                                                       STORMAN   1533
*   IF THE DOPE VECTOR (B4) PRECEDES THE STRUCTURE (B1) IN HS, THE DOPE STORMAN   1534
*   POINTER IN THE STRTYP IS CORRECT.  IF NOT, THE DOPE FIELD IS UPDATEDSTORMAN   1535
*   TO POINT TO THE FUTURE POSITION OF THE DOPE VECTOR.                 STORMAN   1536
*                                                                       STORMAN   1537
          LT        B4,B1,WPH5B1                                        STORMAN   1538
          MX0       42                                                  STORMAN   1539
          LX0       18             . POSITION MASK                      STORMAN   1540
          AX1       18             . POSITION DOPE VECTOR AUX FIELD     STORMAN   1541
          BX1       -X0*X1                                              STORMAN   1542
          BX2       X2*X0                                               STORMAN   1543
          BX2       X2+X1          . UPDATE DOPE VECTOR POINTER         STORMAN   1544
WPH5B1    SB4       B0                                                  STORMAN   1545
*  MOVE B2 WORDS FROM B1 TO B3.  F3 OF THE FIRST WORD (X2)              STORMAN   1546
*  SHOULD BE SET FROM X4.  B4 IS ASSUMED TO BE 0.                       STORMAN   1547
WPH5C    MX0   41                                                       STORMAN   1548
         LX4   36                  . SHIFT TO F3 POSITION               STORMAN   1549
         LX0   36                  . F3 MASK-MARK BIT                   STORMAN   1550
         BX7   X0*X2               . FIRST WORD IS IN X2                STORMAN   1551
         BX7   X7+X4               . MERGE IN NEW F3                    STORMAN   1552
         SA7   B3                                                       STORMAN   1553
         NE    B1,B3,WPH5E         . BRANCH IF MOVE IS NECESSARY        STORMAN   1554
         SB5   B3+B2                                                    STORMAN   1555
         SB1   B1+B2                                                    STORMAN   1556
         EQ    WPH5A                                                    STORMAN   1557
 WPH5D   SA1   B1+B4               . MOVE HB                            STORMAN   1558
         NO                                                             STORMAN   1559
         BX7   X1                                                       STORMAN   1560
         SA7   B3+B4                                                    STORMAN   1561
 WPH5E   SB4   B4+1                                                     STORMAN   1562
         LT    B4,B2,WPH5D                                              STORMAN   1563
         SB5   B3+B2               . B5 WILL BECOME THE NEW MAXHS       STORMAN   1564
         SB1   B1+B2               . NEXT HB                            STORMAN   1565
         EQ    WPH5A                                                    STORMAN   1566
*  COUNT NUMBER OF CHARACTERS IN NAME.  X3=0 IFF INTTYP                 STORMAN   1567
 WPH5F   SB4   B1+B2                                                    STORMAN   1568
         SA2   B4-1                . COUNT CHARACTERS IN THE LAST       STORMAN   1569
         SX6   B2-3                . WORD (OTHER WORDS CONTAIN 7)       STORMAN   1570
         RJ    VCHCNT                                                   STORMAN   1571
         NZ    X3,WPH5G            . NUMBER OF NAME WORDS-1 TO X6       STORMAN   1572
         SX6   B2-4                                                     STORMAN   1573
 WPH5G   BX5   X6                  . MULTIPLY X6 BY 7                   STORMAN   1574
         LX6   1                                                        STORMAN   1575
         IX6   X6+X5                                                    STORMAN   1576
         LX6   1                                                        STORMAN   1577
         IX6   X6+X5                                                    STORMAN   1578
         IX4   X7+X6               . TOTAL NUMBER OF CHARS TO X4        STORMAN   1579
         SA2   B1                  . RESTORE FIRST WORD                 STORMAN   1580
         SB4   B0                                                       STORMAN   1581
         JP    WPH5C                                                    STORMAN   1582
*  IGNORE FREE BLOCKS:                                                  STORMAN   1583
 WPH5H   SB1   B1+B2                                                    STORMAN   1584
         EQ    WPH5A                                                    STORMAN   1585
*                                                                       STORMAN   1586
*  ALL BLOCKS HAVE BEEN MOVED.  B5 POINTS TO THE FIRST WORD             STORMAN   1587
*  AFTER THE LAST USED BLOCK.                                           STORMAN   1588
*                                                                       STORMAN   1589
 WPH5J   SA2   MAXSTAK                                                  STORMAN   1590
         SA1   MAXHS               . =MINSTAK                           STORMAN   1591
         SX3   B0-B6                                                    STORMAN   1592
         IX5   X3-X2               . X5=MAXSTAK-B6. (MAXSTAK NEG. REPR.)STORMAN   1593
         SX4   B5                                                       STORMAN   1594
         IX4   X1-X4               . X4=MINHS-B5                        STORMAN   1595
         IX6   X5+X4                                                    STORMAN   1596
         AX6   1                   . AVERAGE (X4,X5) TO X6              STORMAN   1597
         SB3   B6                                                       STORMAN   1598
         IX6   X4-X6                                                    STORMAN   1599
         SB2   X1                                                       STORMAN   1600
         SB1   X6                  . STACK IS TO BE DISPLACED THIS      STORMAN   1601
         SB6   B6-B1               . AMOUNT                             STORMAN   1602
         SB4   B2-B1                                                    STORMAN   1603
         GE    B1,B0,WPH5L                                              STORMAN   1604
 WPH5K   SA1   B3                  . MOVE STACK TOWARD HIGHER           STORMAN   1605
         NO                        . ADDRESSES                          STORMAN   1606
         BX7   X1                                                       STORMAN   1607
         SA7   B3-B1                                                    STORMAN   1608
         SB3   B3-1                                                     STORMAN   1609
         GE    B3,B2,WPH5K                                              STORMAN   1610
         JP    WPH5M                                                    STORMAN   1611
 WPH5L   SA1   B2                  . MOVE STACK TOWARD LOWER            STORMAN   1612
         NO                        . ADDRESSES                          STORMAN   1613
         BX7   X1                                                       STORMAN   1614
         SA7   B2-B1                                                    STORMAN   1615
         SB2   B2+1                                                     STORMAN   1616
         GE    B3,B2,WPH5L                                              STORMAN   1617
*  FIX UP POINTERS, INITIALIZE DUMMY FREE HEAP BLOCK,                   STORMAN   1618
*  AND CREATE A FREE BLOCK BETWEEN B5 AND B4-1.                         STORMAN   1619
 WPH5M   SX7   B4                                                       STORMAN   1620
         BX6   X6-X6                                                    STORMAN   1621
         SA7   MAXHS                                                    STORMAN   1622
         SA7   MINSTAK                                                  STORMAN   1623
         SA1   MINHS                                                    STORMAN   1624
         SX2   FRETYP              . DUMMY FREE BLOCK AT MINHS+2        STORMAN   1625
         SA6   X1                  . FORWARD=BACK=MINHS+2 (X1)          STORMAN   1626
         LX2   55                  . BYPASS=0                           STORMAN   1627
         SA6   X1+1                                                     STORMAN   1628
         SX1   X1+2                                                     STORMAN   1629
         BX7   X1                                                       STORMAN   1630
         SA7   FHBLRP                                                   STORMAN   1631
         LX1   36                                                       STORMAN   1632
         BX7   X7+X1                                                    STORMAN   1633
         BX7   X7+X2                                                    STORMAN   1634
         SA7   X7                                                       STORMAN   1635
         SB3   B5                  . PARAM FOR FREEHB                   STORMAN   1636
         EQ    B3,B4,WPH5N         . NO ROOM FOR FREE BLOCK             STORMAN   1637
*                                                                       STORMAN   1638
*  BEFORE MAKING FREE BLOCK, PUT DUMMY HEADER ON BLOCK THAT DOES NOT    STORMAN   1639
*  HAVE MARK BIT SET; A MARKED BIT COULD BE THERE FROM THE              STORMAN   1640
*  PREVIOUS GARBAGE COLLECTION                                          STORMAN   1641
*                                                                       STORMAN   1642
          MX7       4                                                   STORMAN   1643
          SA7       B3                                                  STORMAN   1644
         RJ    FREEHB                                                   STORMAN   1645
*                                                                       STORMAN   1646
*  END PHASE 5...                                                       STORMAN   1647
 WPH5N   BSS   0                                                        STORMAN   1648
          RJ        CHKTRC         . CHECK IF CAN TURN OFF TRACE        STORMAN   1649
*                                                                       STORMAN   1650
*  END HEAP BLOCK COMPACTION                                            STORMAN   1651
*                                                                       STORMAN   1652
*                                                                       STORMAN   1653
          SX6       120B           . OPEN ALTER NOREWIND CODE           STORMAN   1654
          MX0       60-18          . MASK FOR FILE NAME                 STORMAN   1655
          STREAM    FILLIST        . B2 HAS FIRST FILE BLOCK POINTER    STORMAN   1656
REOPALL   RJ        REOPEN                                              STORMAN   1657
          STREAM    B2             . NEXT FILE BLOCK                    STORMAN   1658
          NZ        B2,REOPALL     . IF ZERO, END OF FILE BLOCKS        STORMAN   1659
          SB1       11                                                  STORMAN   1660
          RJ        CKSFCK         . CHECK IF DO SELFCHECK              STORMAN   1661
          SB1       9              . MAYBE TRACE AFTER HBC              STORMAN   1662
          RJ        HBCTRC                                              STORMAN   1663
          JP        HBC                                                 STORMAN   1664
REOPEN    BSSZ      1              . REOPEN ENTRY POINT                 STORMAN   1665
          SA4       B2+FI.FET+FET.LFN                                   STORMAN   1666
*                                                                       STORMAN   1667
*  SAVE CURRENT STATUS IN X4                                            STORMAN   1668
          BX2    X0*X4                                                  STORMAN   1669
          BX7    X2+X6                                                  STORMAN   1670
          SA7       A4             . UPDATED FET                        STORMAN   1671
          SA1       OPECALL                                             STORMAN   1672
          SX7       A4             . ADDRESS OF FET                     STORMAN   1673
          BX7       X1+X7          . SET UP RA+1 CALL                   STORMAN   1674
          SA7       1                                                   STORMAN   1675
RWAIT     SA1       1                                                   STORMAN   1676
          NZ        X1,*           . WAIT FOR COMPLETION                STORMAN   1677
*                                                                       STORMAN   1678
*  REPLACE STATUS AS OF BEFORE HBC                                      STORMAN   1679
*                                                                       STORMAN   1680
          BX7    X4                                                     STORMAN   1681
          SA7       A4                                                  STORMAN   1682
          JP        REOPEN                                              STORMAN   1683
*                                                                       STORMAN   1684
OPECALL   VFD    18/3LOPE,2/1,40/0                                      STORMAN   1685
*                                                                       STORMAN   1686
*                                                                       STORMAN   1687
*                                                                       STORMAN   1688
*  WHEN HBCTRC IS CALLED, B1 CONTAINS THE SHIFT FOR THE FLAG            STORMAN   1689
*  FOR THE PHASE NOW BEING ENTERED                                      STORMAN   1690
*  PHASE 1: 4; PHASE 2: 5; PHASE 3: 6; PHASE 6: 7; PHASE 5: 8           STORMAN   1691
*  AFTER HBC: 9                                                         STORMAN   1692
*                                                                       STORMAN   1693
HBCTRC    BSSZ      1                                                   STORMAN   1694
          SA1       HBCSTAT                                             STORMAN   1695
          NG     X1,HBCTRC         . NO TRC PACKAGE                     STORMAN   1696
          MX2       1                                                   STORMAN   1697
          LX2       B1,X2                                               STORMAN   1698
          BX2       X2*X1                                               STORMAN   1699
          ZR        X2,HBCTRC      . DON'T TRC THIS PHASE               STORMAN   1700
          TRACE                                                         STORMAN   1701
          TRACE     LIST                                                STORMAN   1702
          EQ        HBCTRC                                              STORMAN   1703
*  CHECK IF THE DEBUG PACKAGE IS IN CORE                                STORMAN   1704
*  IF IT IS, TURN OFF TRACE                                             STORMAN   1705
*                                                                       STORMAN   1706
*                                                                       STORMAN   1707
CHKTRC    BSSZ      1                                                   STORMAN   1708
          SA1       HBCSTAT                                             STORMAN   1709
          NG     X1,CHKTRC   . TRC PACKAGE NOT IN                       STORMAN   1710
          TRACE     NOTRACE        . TURN OFF TRACE                     STORMAN   1711
          EQ        CHKTRC                                              STORMAN   1712
         EJECT                                                          STORMAN   1713
*  CBAS                                                                 STORMAN   1714
*  SUBROUTINE TO FIND THE BASE OF A CODE BLOCK                          STORMAN   1715
*  CONTAINING THE MICOP POINTED TO BY B2.                               STORMAN   1716
*                                                                       STORMAN   1717
*  PARAM:   B2  POINTER TO A MICOP                                      STORMAN   1718
*  RESULT:  X1  POINTER TO WORD 0 OF CHB                                STORMAN   1719
*  X1,B3                                                                STORMAN   1720
*                                                                       STORMAN   1721
*                                                                       STORMAN   1722
 CBAS    DATA  0                                                        STORMAN   1723
         SA1   CODLIST                                                  STORMAN   1724
         SB3   X1                                                       STORMAN   1725
 CBAS1   SA1   B3                  . NEXT CHB                           STORMAN   1726
         SB3   X1                  . LINK IS F1                         STORMAN   1727
         EQ    B3,B0,CBAS2                                              STORMAN   1728
         LT    B3,B2,CBAS1         . NOTE THAT THE LIST OF              STORMAN   1729
CBAS2    SX1   A1                  . CHB-S IS KEPT SORTED               STORMAN   1730
         EQ    CBAS                                                     STORMAN   1731
*                                                                       STORMAN   1732
*  UTILITY ROUTINES FOR HBC PHASE 2...                                  STORMAN   1733
*                                                                       STORMAN   1734
*  WMARK                                                                STORMAN   1735
*  MERGE THE MARK BIT IN X0 INTO THE HB HEADER POINTED                  STORMAN   1736
*  TO BY X1.  IF X1 POINTS INTO A STRUCTURE, THE HEADER IS              STORMAN   1737
*  FOUND BY SCANNING BACKWARDS.                                         STORMAN   1738
*  PARAM:   X0  MARK BIT                                                STORMAN   1739
*           X1  POINTER TO HB WORD 0 OR INTO STRUCTURE                  STORMAN   1740
*  X3,X7                                                                STORMAN   1741
*                                                                       STORMAN   1742
 WMARK   DATA  0                                                        STORMAN   1743
         SA3   X1+0                                                     STORMAN   1744
         NG    X3,WMARK2                                                STORMAN   1745
 WMARK1  SA3   A3-1                                                     STORMAN   1746
         PL    X3,WMARK1                                                STORMAN   1747
 WMARK2  BX7   X3+X0                                                    STORMAN   1748
         SA7   A3                                                       STORMAN   1749
         EQ    WMARK                                                    STORMAN   1750
*                                                                       STORMAN   1751
*  WMARKDP                                                              STORMAN   1752
*  IF THE DOPE VECTOR IS NOT ALREADY MARKED, IT IS MARKED               STORMAN   1753
*  AND THE REFERENCED FUNCTIONS ARE ALSO MARKED.                        STORMAN   1754
*  PARAM:   X0  MARK BIT                                                STORMAN   1755
*           X1  POINTS TO WORD 0 OF THE DOPE VECTOR                     STORMAN   1756
*  X1,X3,X4,X7                                                          STORMAN   1757
WMARKDP  DATA  0                                                        STORMAN   1758
         SA3   X1                                                       STORMAN   1759
         BX7   X3*X0                                                    STORMAN   1760
         NZ    X7,WMARKDP          . RETURN IF ALREADY MARKED           STORMAN   1761
         BX7   X3+X0                                                    STORMAN   1762
         SA7   A3                  . MARK DOPE VECTOR                   STORMAN   1763
         SX4   A3+0                                                     STORMAN   1764
WMDP1    SX4   X4+1                . LOOP TO FETCH DOPE VECTOR          STORMAN   1765
         SA1   X4+0                . WORDS                              STORMAN   1766
         LX1   1                                                        STORMAN   1767
         NG    X1,WMARKDP          . RETURN IF ARRAY DOPE               STORMAN   1768
         LX1   60-1                                                     STORMAN   1769
         RJ    WMARK               . MARK FUNCTION                      STORMAN   1770
         PL    X1,WMDP1                                                 STORMAN   1771
         JP    WMARKDP             . RETURN IF LAST WORD                STORMAN   1772
*                                                                       STORMAN   1773
*  WMARKP                                                               STORMAN   1774
*  PROCESS REFERENCE FROM A PATTERN AS DESCRIBED IN                     STORMAN   1775
*  PHASE 2 COMMENTS.                                                    STORMAN   1776
*  PARAM:   X0  MARK BIT                                                STORMAN   1777
*           X1  VARIABLE REFERENCE FROM A PATTERN-1                     STORMAN   1778
*  X3,X4,X6,X7                                                          STORMAN   1779
*                                                                       STORMAN   1780
WMARKP   DATA  0                                                        STORMAN   1781
         SA3   X1                                                       STORMAN   1782
         BX7   X3+X0               . PREPARE FOR MARKINK                STORMAN   1783
         NG    X3,WMP2             . BRANCH AND MARK SIMPLE VARIABLE    STORMAN   1784
WMP1     SA3   A3-1                . FIND WORD 0 OF STRUCTURE           STORMAN   1785
         PL    X3,WMP1                                                  STORMAN   1786
WMP1A    BX7   X3*X0                                                    STORMAN   1787
         MX6   1                                                        STORMAN   1788
         NZ    X7,WMARKP           . RETURN IF ALREADY MARKED           STORMAN   1789
         LX6   18                  . SET SPECIAL MARK BIT               STORMAN   1790
         BX7   X6+X3                                                    STORMAN   1791
         SA4   MINHS               . BUMP REPEAT COUNT                  STORMAN   1792
         SA7   A3                  . DIRTY TRICK:  ONLY THE SA7 A3      STORMAN   1793
         SA3   X4                  . IS USED BELOW TO STORE THE         STORMAN   1794
         SX7   X3+1                . REPEAT COUNT                       STORMAN   1795
*                                                                       STORMAN   1796
WMP2     BX4   X3                  . BRANCH BACK IF IT WAS THE          STORMAN   1797
         AX4   55                  . FIRST ELEMENT OF A STRUCTURE       STORMAN   1798
         SX4   X4-STRTYP+55+37B                                         STORMAN   1799
         ZR    X4,WMP1A                                                 STORMAN   1800
         SA7   A3                                                       STORMAN   1801
         JP    WMARKP                                                   STORMAN   1802
*                                                                       STORMAN   1803
         EJECT                                                          STORMAN   1804
*  WSVD                                                                 STORMAN   1805
*  EXAMINE SVD RECURSIVELY                                              STORMAN   1806
*  THE RECURSION OF THIS SUBROUTINE IS MADE POSSIBLE                    STORMAN   1807
*  BY THE FACT THAT THE NUMBER OF LOCAL VARIABLES (ONE-B1)              STORMAN   1808
*  IS EQUAL TO THE NUMBER OF UNUSED FIELDS IN SVD-S                     STORMAN   1809
*  WHICH CAUSE RECURSION (ONE-F3 IN ATY, DYT OR NTY).                   STORMAN   1810
*  THREE REGISTERS ARE OF MAJOR INTEREST:                               STORMAN   1811
*    -B1,   POINTS TO THE ATY, DTY OR NTY DESCRIPTOR OF THE             STORMAN   1812
*           STRUCTURE CURRENTLY SCANNED.  IF B1 IS NEGATIVE             STORMAN   1813
*           THE STRUCTURE IS IN FACT A SIMPLE VARIABLE.                 STORMAN   1814
*           THIS IS THE REGISTER WHICH IS SAVED DURING RECURSION        STORMAN   1815
*    -B2,   POINTS TO THE CURRENT SVD.  NOT SAVED.                      STORMAN   1816
*    -B3,   POINTS ONE WORD BEYOND THE LAST SVD IN THE                  STORMAN   1817
*           CURRENT STRUCTURE.  NOT SAVED.                              STORMAN   1818
*    A5,X5,B6,B7  ARE LEFT UNALTERED                                    STORMAN   1819
*    PARAM: B2 POINTS TO AN SVD                                         STORMAN   1820
*                                                                       STORMAN   1821
*                                                                       STORMAN   1822
 WSVD    DATA 0                                                         STORMAN   1823
         SB3   B2+1                . END OF INITIAL STRUCTURE           STORMAN   1824
         SB1   -1                  . NEGATIVE B1 TO MARK OUTERMOST LEVELSTORMAN   1825
*                                                                       STORMAN   1826
 WSVDA   SA1   B2                  . FETCH NEXT SVD                     STORMAN   1827
         SA4   WSVDWD              . DISPATCH ON SVD TYPE               STORMAN   1828
         BX2   X1                  . SVD TO X2, X3                      STORMAN   1829
         BX3   X1                                                       STORMAN   1830
         AX1   55                                                       STORMAN   1831
         LX1   2                                                        STORMAN   1832
         SB4   X1                                                       STORMAN   1833
         AX4   B4,X4                                                    STORMAN   1834
         MX0   56                                                       STORMAN   1835
         BX4   -X0*X4                                                   STORMAN   1836
         MX0   1                                                        STORMAN   1837
         SB4   X4                                                       STORMAN   1838
         LX0   55                  . MARK BIT TO X0                     STORMAN   1839
         JP    B4+WSVDSW                                                STORMAN   1840
WSVDWD   SWITCH  WSVDSW,2,2,2,2,4,4,4,2,2,6,6,0,5,2,2                   STORMAN   1841
+        AX3   18                  . 0, N                               STORMAN   1842
         SX1   X3                                                       STORMAN   1843
         NZ    X1,WSVDC            . BRANCH IF NOT SIMPLE               STORMAN   1844
WSVDA1   SX1   X2                  . MARK SIMPLE N OR C                 STORMAN   1845
         RJ    WMARK                                                    STORMAN   1846
 WSVDB   SB2   B2+1                                                     STORMAN   1847
         LT    B2,B3,WSVDA         . PROCEED TO NEXT SVD IF NOT END     STORMAN   1848
         LT    B1,B0,WSVD          . EXIT IF OUTERMOST LEVEL            STORMAN   1849
         JP    WSVDG               . RETURN TO PREVIOUS LEVEL           STORMAN   1850
+        JP    WSVDD               . 4, PS,PA,PE                        STORMAN   1851
+        AX2   18                  . 5, C                               STORMAN   1852
         JP    WSVDA1                                                   STORMAN   1853
+        SX1   X2                  . 6, A,D                             STORMAN   1854
         RJ    WMARKDP             . MARK DOPE VECTOR                   STORMAN   1855
 WSVDC   MX1   18                  . MASK FOR F3 TO X1                  STORMAN   1856
         LX1   60-6                                                     STORMAN   1857
         BX7   -X1*X2                                                   STORMAN   1858
         AX2   18                                                       STORMAN   1859
         SA2   X2                  . WORD 0 OF STRUCTURE                STORMAN   1860
         BX4   X0*X2                                                    STORMAN   1861
         NZ    X4,WSVDB            . IGNORE IF ALREADY MARKED           STORMAN   1862
         SX4   B1                                                       STORMAN   1863
         LX4   36                                                       STORMAN   1864
         BX4   X1*X4                                                    STORMAN   1865
         BX7   X7+X4               . JAM B1 INTO F3 OF SVD              STORMAN   1866
         BX6   X2+X0               . MARK STRUCTURE                     STORMAN   1867
          SA7       B2                                                  STORMAN   1868
         SA6   A2                                                       STORMAN   1869
         AX2   36                  . SIZE OF STRUCTURE TO X2            STORMAN   1870
          SB1       B2             .ADDRESS OF SVD AS NEW B1            STORMAN   1871
         SB2   A2                  . ADDRESS OF WORD 0 AS NEW B2        STORMAN   1872
         SB3   B2+X2               . LAST WORD OF STRUCTURE +1 TO B3    STORMAN   1873
         JP    WSVDB               . ADVANCE TO FIRST ELT OF STRUC      STORMAN   1874
*  THE FOLLOWING LOOP IS SIMILAR TO THE ONE AT WPH2F                    STORMAN   1875
 WSVDD   SA1   X2                                                       STORMAN   1876
         SX2   X1                                                       STORMAN   1877
         NG    X1,WSVDF                                                 STORMAN   1878
         LX1   18                                                       STORMAN   1879
         ID    X1,WSVDE                                                 STORMAN   1880
         UX1   B4,X1                                                    STORMAN   1881
         NE    B4,B0,WSVDF                                              STORMAN   1882
 WSVDE   SX1   X1-1                                                     STORMAN   1883
         RJ    WMARKP                                                   STORMAN   1884
 WSVDF   NZ    X2,WSVDD                                                 STORMAN   1885
         JP    WSVDB                                                    STORMAN   1886
*                                                                       STORMAN   1887
*  END OF CURRENT STRUCTURE, RESTORE PREVIOUS B1, B2 AND B3             STORMAN   1888
*                                                                       STORMAN   1889
 WSVDG   SA1   B1                  . FETCH SVD AT B1                    STORMAN   1890
         SB2   B1                  . RESTORE OLD B2                     STORMAN   1891
         AX1   36                  . RESTORE OLD B1 FROM F3             STORMAN   1892
         SB1   X1                                                       STORMAN   1893
         LT    B1,B0,WSVD          . EXIT IF OUTERMOST LEVEL            STORMAN   1894
         SA1   B1                  . FETCH OLD SVD                      STORMAN   1895
         AX1   18                                                       STORMAN   1896
         SA2   X1                  . WORD 0 OF OLD STRUCTURE            STORMAN   1897
         AX2   36                                                       STORMAN   1898
         SB3   A2                                                       STORMAN   1899
         SB3   B3+X2               . LAST WORD OF OLD STRUCTURE+1 TO B3 STORMAN   1900
         JP    WSVDB                                                    STORMAN   1901
*                                                                       STORMAN   1902
         EJECT                                                          STORMAN   1903
*                                                                       STORMAN   1904
*  UTILITY ROUTINES FOR HBC PHASE 4...                                  STORMAN   1905
*  WUPF1                                                                STORMAN   1906
*  UPDATE F1 POINTING TO WORD 0 OF A HB UNLESS F1=0                     STORMAN   1907
*  PARAM:   X1 CONTAINS A WORD WITH F1 TO BE UPDATED                    STORMAN   1908
*           X0 CONTAINS MASK FOR 1 (MX0 42)                             STORMAN   1909
*  RESULT:  X7 WILL CONTAIN X1 WITH F1 UPDATED                          STORMAN   1910
*           X2 CONTAINS F1 (X7)                                         STORMAN   1911
*  X2,X7                                                                STORMAN   1912
*                                                                       STORMAN   1913
 WUPF1   DATA  0                                                        STORMAN   1914
         BX7   X0*X1                                                    STORMAN   1915
         SX2   X1                                                       STORMAN   1916
         ZR    X2,WUPF1            . RETURN IF F1=0                     STORMAN   1917
         SA2   X1                  . WORD 0 TO X2                       STORMAN   1918
         AX2   36                  . FUTURE ADDRESS IN F3               STORMAN   1919
         BX2   -X0*X2                                                   STORMAN   1920
         BX7   X7+X2                                                    STORMAN   1921
         EQ    WUPF1                                                    STORMAN   1922
*                                                                       STORMAN   1923
*  WUPF1V                                                               STORMAN   1924
*  UPDATE F1 POINTING TO THE VALUE WORD OF A HBWN                       STORMAN   1925
*  REGISTER USAGE IS THE SAME AS IN WUPF1                               STORMAN   1926
*                                                                       STORMAN   1927
 WUPF1V  DATA  0                                                        STORMAN   1928
         SA2   X1-1                . WORD 0 OF HBWN TO X2               STORMAN   1929
         AX2   36                                                       STORMAN   1930
         BX7   X0*X1                                                    STORMAN   1931
         SX2   X2+1                                                     STORMAN   1932
         BX7   X7+X2                                                    STORMAN   1933
         EQ    WUPF1V                                                   STORMAN   1934
*                                                                       STORMAN   1935
*  WUPF1P                                                               STORMAN   1936
*  UPDATE F1 POINTING TO AN SVD IN A SIMPLE VARIABLE                    STORMAN   1937
*  OR IN A STRUCTURE                                                    STORMAN   1938
*  REGISTER USAGE, IN ADDITION TO THE ONES IN WUPF1                     STORMAN   1939
*     A3 ADDRESS OF THE SVD (SA3 X1)                                    STORMAN   1940
*  X1,X2,X3,X7                                                          STORMAN   1941
*                                                                       STORMAN   1942
 WUPF1P  DATA  0                                                        STORMAN   1943
 WUPA    SA3   A3-1                                                     STORMAN   1944
         PL    X3,WUPA             . FIND BASE OF HB                    STORMAN   1945
         BX3   X1                  . WORD TO BE UPDATED                 STORMAN   1946
         SX1   A3                                                       STORMAN   1947
         RJ    WUPF1                                                    STORMAN   1948
         IX3   X3+X2               . ADD NEW BASE OF HB                 STORMAN   1949
         SX7   A3+0                . SUBTRACT OLD BASE OF HB            STORMAN   1950
         IX7   X3-X7                                                    STORMAN   1951
         EQ    WUPF1P                                                   STORMAN   1952
*                                                                       STORMAN   1953
*  WP4SVD                                                               STORMAN   1954
*  UPDATE SVD (NOT FOR LITERALS)                                        STORMAN   1955
*  PARAM:   B2 POINTS TO THE SVD TO BE UPDATED                          STORMAN   1956
*  X0,X1,X2,X3,X4,X7,B3                                                 STORMAN   1957
*                                                                       STORMAN   1958
 WP4SVD  DATA  0                                                        STORMAN   1959
         SA1   B2                                                       STORMAN   1960
         AX1   55                  . TYPE OF SVD TO X1                  STORMAN   1961
         SX2   X1-PSTY                                                  STORMAN   1962
         NG    X2,WP4SVD           . BRANCH IF SF,SS                    STORMAN   1963
         SX2   X1-ITY                                                   STORMAN   1964
         NG    X2,WP4SD            . IF PS, PA, PE                      STORMAN   1965
         SX2   X1-ATY                                                   STORMAN   1966
         NG    X2,WP4SVD           . IF I OR R                          STORMAN   1967
         SX2   X1-NTY                                                   STORMAN   1968
         NG    X2,WP4SB            . IF A OR D                          STORMAN   1969
         SX4   X1-INTY                                                  STORMAN   1970
*  UPDATE F2 IN INTY OR OUTTY (X4 GE 0) OF F2 AND F1 IN CTY, NTY        STORMAN   1971
         SA1   B2                  . FETCH SVD AGAIN                    STORMAN   1972
         MX0   42                                                       STORMAN   1973
         LX1   60-18                                                    STORMAN   1974
         SX3   X1                  . F2 OF SVD TO X3                    STORMAN   1975
         ZR    X3,WP4SA            . BRANCH IF BASE=0 IN NTY SVD        STORMAN   1976
         RJ    WUPF1               . UPDATE F2                          STORMAN   1977
         PL    X4,WP4SC            . THIS IS ENOUGH FOR INTY/OUTTY      STORMAN   1978
         LX7   18                                                       STORMAN   1979
         IX3   X2-X3               . DECREMENT F1 BY THE SAME AMOUNT    STORMAN   1980
         IX7   X7+X3               . NOTE THAT WUPF COULD NOT BE USED   STORMAN   1981
         SA7   A1                                                       STORMAN   1982
         JP    WP4SVD                                                   STORMAN   1983
*  UPDATE NTY POINTING TO A SIMPLE VARIABLE                             STORMAN   1984
 WP4SA   LX1   18                                                       STORMAN   1985
         RJ    WUPF1               . UPDATE F1                          STORMAN   1986
         SA7   A1                                                       STORMAN   1987
         JP    WP4SVD                                                   STORMAN   1988
*  UPDATE F1 AND F2 IN ATY AND DTY                                      STORMAN   1989
 WP4SB   SA1   B2                                                       STORMAN   1990
         MX0   42                                                       STORMAN   1991
         RJ    WUPF1               . UPDATE F1                          STORMAN   1992
          BX1       X7                                                  STORMAN   1993
         LX1   60-18                                                    STORMAN   1994
         RJ    WUPF1               . UPDATE F2                          STORMAN   1995
 WP4SC   LX7   18                                                       STORMAN   1996
         SA7   A1                  . STORE UPDATED SVD                  STORMAN   1997
         JP    WP4SVD                                                   STORMAN   1998
*  SCAN PATTERN, UPDATE STARPM, PRDPM AND DOLPM                         STORMAN   1999
 WP4SD   SA4   B2+0                . THIS LOOP IS SIMILAR TO            STORMAN   2000
 WP4SE   SA1   X4                  . THE ONE AT WPH2F                   STORMAN   2001
         SX4   X1                                                       STORMAN   2002
         NG    X1,WP4SG                                                 STORMAN   2003
         LX1   19                                                       STORMAN   2004
         ID    X1,WP4SF                                                 STORMAN   2005
         UX7   B3,X1                                                    STORMAN   2006
         NE    B3,B0,WP4SG                                              STORMAN   2007
 WP4SF   SA3   X1                                                       STORMAN   2008
         MX0   42                                                       STORMAN   2009
         RJ    WUPF1P              . UPDATE PM WORD IN X1               STORMAN   2010
         LX7   60-19                                                    STORMAN   2011
         SA7   A1+0                                                     STORMAN   2012
 WP4SG   NZ    X4,WP4SE                                                 STORMAN   2013
         JP    WP4SVD                                                   STORMAN   2014
*                                                                       STORMAN   2015
         EJECT                                                          STORMAN   2016
*                                                                       STORMAN   2017
*  START OF SELF CHECKING...                                            STORMAN   2018
*                                                                       STORMAN   2019
SELFCHK  DATA  0                                                        STORMAN   2020
         SX7   0                                                        STORMAN   2021
         SA1   MINHS                                                    STORMAN   2022
         SA7   VNWLS               . NUMBER OF WORDS IN LIST STORAGE    STORMAN   2023
         SA7   VNFHB               .  -        FREE HEAP BLOCKS         STORMAN   2024
         SA7   VNCODB              .  -        CODE BLOCKS              STORMAN   2025
         SA7   VNFILB              .  -        FILE BLOCKS              STORMAN   2026
         SA1   X1+3                . WORD 0 OF FIRST HB                 STORMAN   2027
*                                                                       STORMAN   2028
*  THE FOLLOWING LOOP FINDS ALL HEAP BLOCKS                             STORMAN   2029
*  FIRST WORD OF NEXT HB IS IN X1.  ADDRESS IS IN A1                    STORMAN   2030
*                                                                       STORMAN   2031
 VL1     BX2   X1                                                       STORMAN   2032
         SX7   A1                  . REMEMBER LAST BLOCK                STORMAN   2033
         SA7   VLASTB                                                   STORMAN   2034
         ZR    X1,VL35                                                  STORMAN   2035
         PL    X1,'VE'             . NO HS TYPE                         STORMAN   2036
         AX1   55                                                       STORMAN   2037
         SB2   X1                  . DISPATCH ON HS TYPE                STORMAN   2038
         JP    B2+VL2                                                   STORMAN   2039
+        JP    'VE'                . 17,  NOT USED                      STORMAN   2040
+        JP    'VE'                . 16,   -                            STORMAN   2041
+        JP    'VE'                . 15,   -                            STORMAN   2042
+        SA3   VNFHB               . 14,  FRETYP                        STORMAN   2043
         JP    VL3                                                      STORMAN   2044
+        AX2   18                  . 13,  CODTYP                        STORMAN   2045
         SB1   X2                                                       STORMAN   2046
         JP    VL5                                                      STORMAN   2047
+        AX2   18                  . 12,  DOPTYP                        STORMAN   2048
         SB1   X2                                                       STORMAN   2049
         JP    VL10                                                     STORMAN   2050
+        SB4   A1                  . 11, FILTYP                         STORMAN   2051
         JP    VL18                . NO CODE TO CHECK FILTYP YET *****  STORMAN   2052
+        AX2   18                  . 10,  STRTYP                        STORMAN   2053
         SA3   X2                                                       STORMAN   2054
         JP    VL13                                                     STORMAN   2055
+        AX2   18                  . 7,  REALTYP                        STORMAN   2056
         SB4   A1                                                       STORMAN   2057
         JP    VL15                                                     STORMAN   2058
+        SX0   SITY                . 6,  INTTYP                         STORMAN   2059
         JP    VL19                                                     STORMAN   2060
+        JP    'VE'                . 5,  NOT USED                       STORMAN   2061
+        SX0   SSTY                . 4,  LITTYP                         STORMAN   2062
         JP    VL20                                                     STORMAN   2063
+        SB4   A1                  . 3,  LBLTYP                         STORMAN   2064
         AX2   18                                                       STORMAN   2065
         JP    VL24                                                     STORMAN   2066
+        SB4   A1                  . 2,  CALLTYP                        STORMAN   2067
         AX2   18                                                       STORMAN   2068
         JP    VL26                                                     STORMAN   2069
+        SB5   A1                  . 1,  VARTYP                         STORMAN   2070
         BX5   X2                                                       STORMAN   2071
         JP    VL34                                                     STORMAN   2072
VL2      JP    'VE'                . 0,  NOT USED                       STORMAN   2073
*                                                                       STORMAN   2074
*  CHECK FREE HEAP BLOCK           . WORD 0 IN X2, ADDR IN A1           STORMAN   2075
VL3      SX6   X3+1                                                     STORMAN   2076
         SB3   A1                                                       STORMAN   2077
         SA6   A3                  . INCREMENT FREE BLOCK COUNTER       STORMAN   2078
         SA1   X2                                                       STORMAN   2079
         AX1   36                                                       STORMAN   2080
         SB2   X1                                                       STORMAN   2081
         AX1   55-36                                                    STORMAN   2082
         NE    B3,B2,'VE'          . BACK POINTER OF NEXT BLOCK         STORMAN   2083
         SX1   X1-FRETYP+37B       . TYPE OF NEXT BLOCK ON FREE LIST    STORMAN   2084
         NZ    X1,'VE'                                                  STORMAN   2085
         AX2   18                                                       STORMAN   2086
         SX1   B3+X2                                                    STORMAN   2087
         SA1   X1-1                                                     STORMAN   2088
         AX1   18                                                       STORMAN   2089
         SX1   X1                                                       STORMAN   2090
         SX7   X2                                                       STORMAN   2091
         BX1   X1-X7                                                    STORMAN   2092
         NZ    X1,'VE1'            . BYPASS IN LAST WORD                STORMAN   2093
         SA1   A1+1                                                     STORMAN   2094
         BX4   X1                                                       STORMAN   2095
         NZ    X1,VL4              . WRAP AROUND IF END OF HS           STORMAN   2096
         SA3   MINHS                                                    STORMAN   2097
         SA4   X3+2                                                     STORMAN   2098
VL4      LX4   5                   . CHECK PREVIOUS FREE BIT SET        STORMAN   2099
         PL    X4,'VE1'            .   IN IMMEDIATELY FOLLOWING BLOCK   STORMAN   2100
         AX2   18                                                       STORMAN   2101
         SA3   X2                                                       STORMAN   2102
         SB2   X3                                                       STORMAN   2103
         AX3   55                                                       STORMAN   2104
         NE    B3,B2,'VE1'         . FORWARD POINTER IN PREVIOUS BLOCK  STORMAN   2105
         SX3   X3-FRETYP+37B                                            STORMAN   2106
         ZR    X3,VL1              . TYPE OF PREV. BLOCK ON FREE LIST   STORMAN   2107
         JP    'VE1'                                                    STORMAN   2108
*                                                                       STORMAN   2109
*  CHECK CODE HEAP BLOCK.  THE FOLLOWING B REGISTERS                    STORMAN   2110
*  CONTAIN CONSTANTS,                                                   STORMAN   2111
*    B1   POINTS TO THE LAST WORD IN THE BLOCK +1                       STORMAN   2112
*    B3   =MAXHS                                                        STORMAN   2113
*    B4   =MINHS                                                        STORMAN   2114
*    B5   =CALL                                                         STORMAN   2115
*                                                                       STORMAN   2116
 VL5     SB1   A1+B1               . PREPARE CONSTANTS                  STORMAN   2117
         SA2   MINHS                                                    STORMAN   2118
         SB4   X2                                                       STORMAN   2119
         SB5   CALL                                                     STORMAN   2120
         SA2   VNCODB              . BUMP NUMBER OF CODE BLOCKS         STORMAN   2121
         SX7   X2+1                                                     STORMAN   2122
         SA7   A2                                                       STORMAN   2123
         SA2   MAXHS                                                    STORMAN   2124
         SB3   X2                                                       STORMAN   2125
 VL6     SA1   A1+1                . NEXT MICOP WORD                    STORMAN   2126
         SX0   A1-B1                                                    STORMAN   2127
         SB2   X1                                                       STORMAN   2128
         ZR    X0,VL1              . BRANCH IF END OF CODE BLOCK        STORMAN   2129
         LT    B5,B2,VL9           . JUMP IF NOT BRANCH MICOP           STORMAN   2130
*  CHECK BRANCH INSTRUCTION                                             STORMAN   2131
         AX1   18                                                       STORMAN   2132
         EQ    B5,B2,VL8           . BRANCH IF CALL                     STORMAN   2133
         SB2   X1                                                       STORMAN   2134
         GE    B0,B2,VL6           . UNLESS RIGHT ADDRESS LE 0          STORMAN   2135
         SX7   LBLTYP-37B          . IT MUST POINT TO LABEL             STORMAN   2136
 VL7     SA2   X1-1                                                     STORMAN   2137
         AX2   55                                                       STORMAN   2138
         IX2   X2-X7                                                    STORMAN   2139
         ZR    X2,VL6                                                   STORMAN   2140
         JP    'VE'                                                     STORMAN   2141
 VL8     SX7   CALLTYP-37B         . IF CALL, IT MUST POINT TO A        STORMAN   2142
         EQ    VL7                 . FUNCTION                           STORMAN   2143
*  CHECK OTHER MICOPS                                                   STORMAN   2144
VL9      GE    B2,B4,'VE'                                               STORMAN   2145
         AX1   18                                                       STORMAN   2146
         SB2   X1                                                       STORMAN   2147
         RJ    VMICAD              . CHECK RIGHT ADDRESS                STORMAN   2148
         AX1   18                                                       STORMAN   2149
         SB2   X1                                                       STORMAN   2150
         RJ    VMICAD              . CHECK LEFT ADDRESS                 STORMAN   2151
         JP    VL6                                                      STORMAN   2152
*                                                                       STORMAN   2153
*  SUBROUTINE USED ABOVE TO CHECK LEFT AND RIGHT                        STORMAN   2154
*  ADDRESSES IN A MICOP                                                 STORMAN   2155
 VMICAD  DATA  0                                                        STORMAN   2156
         GE    B2,B3,'VE1'         . MUST POINT TO HBWN OR HBL          STORMAN   2157
         EQ    B2,B0,VMICAD                                             STORMAN   2158
         LT    B2,B4,'VE1'                                              STORMAN   2159
         SA3   B2-1                                                     STORMAN   2160
         AX3   55                                                       STORMAN   2161
         PL    X3,'VE1'                                                 STORMAN   2162
         SX0   X3-REALTYP+37B                                           STORMAN   2163
         PL    X0,VMICAD                                                STORMAN   2164
         JP    'VE1'                                                    STORMAN   2165
*                                                                       STORMAN   2166
*  CHECK ARRAY OR DATA STRUCTURE DOPE VECTOR                            STORMAN   2167
*  X7=A1, B1=BYPASS                                                     STORMAN   2168
 VL10    SA1   A1+1                . NEXT WORD IN THE VECTOR            STORMAN   2169
         BX2   X1                                                       STORMAN   2170
         LX1   1                                                        STORMAN   2171
         PL    X1,VL11             . BRANCH IF NOT ARRAY                STORMAN   2172
         SX3   X2                  . UPPER BOUND                        STORMAN   2173
         AX2   18                                                       STORMAN   2174
         SX4   X2                  . LOWER BOUND                        STORMAN   2175
         AX2   18                                                       STORMAN   2176
         IX4   X3-X4                                                    STORMAN   2177
         SX3   X2                  . U-L+1                              STORMAN   2178
         SX4   X4+1                                                     STORMAN   2179
         BX3   X3-X4                                                    STORMAN   2180
         ZR    X3,VL12                                                  STORMAN   2181
         JP    'VE'                                                     STORMAN   2182
 VL11    SA3   X2                  . DATA DOPE VECTOR MUST              STORMAN   2183
         AX3   55                  . POINT TO FIELD FUD-S               STORMAN   2184
         SX3   X3-FLDTYP                                                STORMAN   2185
         ZR    X3,VL12                                                  STORMAN   2186
         SX3   X3+FLDTYP-DATATYP   . OR TO DATA CONSTRUCTOR             STORMAN   2187
         NZ    X3,'VE'                                                  STORMAN   2188
 VL12    PL    X2,VL10             . NOT LAST WORD IN BLOCK             STORMAN   2189
         SA1   A1+1                                                     STORMAN   2190
         SB1   X7+B1               . SIGN BIT MAY BE SET ONLY IN        STORMAN   2191
         SB1   A1-B1               . THE LAST WORD.                     STORMAN   2192
         EQ    B1,B0,VL1                                                STORMAN   2193
         JP    'VE1'                                                    STORMAN   2194
*  CHECK STRUCTURE,  INCLUDING THE SVD-S OF THE ELEMENTS                STORMAN   2195
*  A3 = WORD 0 OF DOPE VECTOR                                           STORMAN   2196
 VL13    SB3   X3                                                       STORMAN   2197
         AX3   55                  . CHECK DOPE POINTER                 STORMAN   2198
         SX3   X3-DOPTYP+37B                                            STORMAN   2199
         NZ    X3,'VE'                                                  STORMAN   2200
         AX2   18                                                       STORMAN   2201
         SB2   X2                                                       STORMAN   2202
         NE    B2,B3,'VE'          . CHECK STRUCTURE SIZE               STORMAN   2203
         SX6   A1                                                       STORMAN   2204
         SX5   A1+B2                                                    STORMAN   2205
         SA6   VIPTR                                                    STORMAN   2206
*  LOOP TO CHECK SVD-S BETWEEN VISTR AND VLSTR-1                        STORMAN   2207
 VL14    SA1   VIPTR                                                    STORMAN   2208
         SX7   X1+1                                                     STORMAN   2209
         SA7   A1                                                       STORMAN   2210
         SA1   X7                                                       STORMAN   2211
         IX2   X7-X5                                                    STORMAN   2212
         PL    X2,VL1                                                   STORMAN   2213
         NG    X1,'VE1'                                                 STORMAN   2214
         RJ    VSVD                                                     STORMAN   2215
         JP    VL14                                                     STORMAN   2216
*                                                                       STORMAN   2217
*  CHECK REAL LITERAL AND RTY SVD IN VALUE WORD                         STORMAN   2218
 VL15    SX7   X2-3                                                     STORMAN   2219
         NZ    X7,'VE'             . BYPASS MUST BE 3                   STORMAN   2220
         SA1   A1+1                                                     STORMAN   2221
         SB1   X1-2                                                     STORMAN   2222
         AX1   55                                                       STORMAN   2223
         SX1   X1-RTY              . SVD MUST BE RETY, POINTING         STORMAN   2224
         NE    B1,B4,'VE'          .   TO WORD 2                        STORMAN   2225
         NZ    X1,'VE'                                                  STORMAN   2226
*                                                                       STORMAN   2227
*  CHECK HASH CODE OF HBWN OR HBL AT B4                                 STORMAN   2228
 VL16    SA1   B4                                                       STORMAN   2229
         BX0   X1                                                       STORMAN   2230
         SB5   B4+2                                                     STORMAN   2231
         SB3   B0-B5               . NEGATIVE B3 FLAGS, NO SEARCH       STORMAN   2232
         RJ    SEARCH              . RETURN HASH CODE ONLY              STORMAN   2233
 VL17    SB3   X2                  . TRAVERSE HASH LIST                 STORMAN   2234
         SA2   X2                                                       STORMAN   2235
         EQ    B3,B4,VL18          . ENTRY IS ON THE LIST               STORMAN   2236
         NE    B3,B0,VL17          . ERROR IS END OF LIST               STORMAN   2237
         JP    'VE2'                                                    STORMAN   2238
 VL18    AX2   18                                                       STORMAN   2239
         SA1   B4+X2               . GO TO NEXT HB                      STORMAN   2240
         JP    VL1                                                      STORMAN   2241
*                                                                       STORMAN   2242
*  CHECK INTYP AND LITTYP HBL                                           STORMAN   2243
 VL19    SA3   A1+1                                                     STORMAN   2244
         SB2   X3-3                . SVD FIRST POINTER FOR SITY         STORMAN   2245
         JP    VL21                                                     STORMAN   2246
 VL20    SA3   A1+1                                                     STORMAN   2247
         SB2   X3-2                . SVD FIRST POINTER FOR SSTY         STORMAN   2248
 VL21    SB4   A1                                                       STORMAN   2249
         NE    B2,B4,'VE'          . CHECK FIRST POINTER                STORMAN   2250
         AX3   18                                                       STORMAN   2251
         AX2   18                                                       STORMAN   2252
         SB2   X3+1                                                     STORMAN   2253
         SB1   B4+X2                                                    STORMAN   2254
         NE    B1,B2,'VE'          . CHECK LAST POINTER                 STORMAN   2255
         AX3   55-18                                                    STORMAN   2256
         BX3   X0-X3               . CHECK SVD TYPE                     STORMAN   2257
         NZ    X3,'VE'                                                  STORMAN   2258
         SX3   X0-SITY                                                  STORMAN   2259
         NZ    X3,VL22                                                  STORMAN   2260
         SA3   A3+1                                                     STORMAN   2261
*  CHECK NAME PART OF HBWN OR HBL STARTING AT B4, ENDING                STORMAN   2262
*  AT B1.  NAME STARTS AT A3+1.  CHECK HASH CODE, TOO.                  STORMAN   2263
 VL22    SA3   A3+1                                                     STORMAN   2264
         SB2   X3+0                                                     STORMAN   2265
         SB3   A3+1                                                     STORMAN   2266
         EQ    B2,B0,VL23          . UNLESS LAST WORD                   STORMAN   2267
         EQ    B1,B3,'VE1'                                              STORMAN   2268
         EQ    B2,B3,VL22          . IT MUST POINT TO THE NEXT          STORMAN   2269
         JP    'VE1'                                                    STORMAN   2270
 VL23    EQ    B1,B3,VL16          . LAST WORD MUST HAVE 0 POINTER      STORMAN   2271
         JP    'VE1'                                                    STORMAN   2272
*                                                                       STORMAN   2273
*  CHECK CPD IN LBL HBWN                                                STORMAN   2274
 VL24    SB1   B4+X2               . PREPARE B1 FOR VL22                STORMAN   2275
         SA3   B4+1                . FETCH CPD                          STORMAN   2276
         BX4   X3                                                       STORMAN   2277
         SB2   X3                                                       STORMAN   2278
         AX3   55                                                       STORMAN   2279
         NZ    X3,VL25             . BRANCH IF SPECIAL                  STORMAN   2280
         AX4   18                                                       STORMAN   2281
         RJ    CBAS                                                     STORMAN   2282
         SB2   X4                                                       STORMAN   2283
         SB3   X1                                                       STORMAN   2284
         EQ    B2,B3,VL22          . CHECK IF BASE FIELD IS             STORMAN   2285
         JP    'VE1'               .   CONSISTENT                       STORMAN   2286
 VL25    SB3   CALL                . CHECK SPECIAL LABELS               STORMAN   2287
         LT    B3,B2,'VE1'                                              STORMAN   2288
         AX4   18                                                       STORMAN   2289
         SB2   X4                                                       STORMAN   2290
         EQ    B2,B0,VL22                                               STORMAN   2291
         JP    'VE1'                                                    STORMAN   2292
*                                                                       STORMAN   2293
*  CHECK FUD IN FUNCTION (CALLTYP) HBWN                                 STORMAN   2294
 VL26    SB1   B4+X2               . PREPARE B1 FOR VL22                STORMAN   2295
         SA3   A1+1                . FETCH FUD                          STORMAN   2296
         BX2   X3                                                       STORMAN   2297
         BX4   X3                                                       STORMAN   2298
         AX3   55                                                       STORMAN   2299
         NZ    X3,VL29                                                  STORMAN   2300
*  IT IS A PROCEDURE                                                    STORMAN   2301
         BX3   X4                                                       STORMAN   2302
         AX3   18                                                       STORMAN   2303
         RJ    VLIST               . TRAVERSE FORMAL LIST               STORMAN   2304
         SB2   X7-1                                                     STORMAN   2305
         SB3   X3                                                       STORMAN   2306
         AX3   18                                                       STORMAN   2307
         GE    B3,B2,'VE'          . CHECK NUMBER OF FORMALS            STORMAN   2308
         SB2   B2+B2                                                    STORMAN   2309
         SB3   X3                                                       STORMAN   2310
         SB2   B2+1                                                     STORMAN   2311
         NE    B2,B3,'VE1'         . CHECK APPETITE                     STORMAN   2312
 VL27    SA2   X4                  . ADDRESSES ON FORMAL                STORMAN   2313
         SX4   X2                  . LIST MUST POINT TO SIMPLE          STORMAN   2314
         AX2   18                  . VARIABLES,                         STORMAN   2315
         SA1   X2-1                                                     STORMAN   2316
         AX1   55                                                       STORMAN   2317
         ZR    X4,VL28                                                  STORMAN   2318
         SX1   X1-VARTYP+37B                                            STORMAN   2319
         ZR    X1,VL27                                                  STORMAN   2320
         JP    'VE'                                                     STORMAN   2321
 VL28    SX1   X1-LBLTYP+37B       . EXCEPT THE LAST ONE MUST           STORMAN   2322
         ZR    X1,VL22             . POINT TO A LABEL.                  STORMAN   2323
         JP    'VE'                                                     STORMAN   2324
*  DISPATCH ON FUTY                                                     STORMAN   2325
 VL29    NG    X3,VL33             . BRANCH IF STANDARD PROCEDURE       STORMAN   2326
         SX0   X3-DATATYP                                               STORMAN   2327
         ZR    X0,VL32             .     -     DATA CONSTRUCTOR         STORMAN   2328
         SX0   X3-FLDTYP                                                STORMAN   2329
         ZR    X0,VL30             .     -     FIELD SELECTOR           STORMAN   2330
         SX0   X3-UNDFTYP                                               STORMAN   2331
         ZR    X0,VL22             .     -     UNDEFINED                STORMAN   2332
         JP    'VE'                                                     STORMAN   2333
*  CHECK FIELD FUD, X2=X4=FUD                                           STORMAN   2334
 VL30    RJ    VLIST                                                    STORMAN   2335
 VL31    SX3   X4                                                       STORMAN   2336
         AX4   18                                                       STORMAN   2337
         SA1   X4                  . FETCH WORD 0 OF DOPE VECTOR        STORMAN   2338
         AX4   18                                                       STORMAN   2339
         SB2   X1                  . SIZE OF STRUCTURE                  STORMAN   2340
         AX1   55                                                       STORMAN   2341
         SX1   X1-DOPTYP+37B                                            STORMAN   2342
         NZ    X1,'VE'                                                  STORMAN   2343
         SB3   X4                  . FIELD DISPLACEMENT                 STORMAN   2344
         SA4   X3                                                       STORMAN   2345
         GE    B3,B2,'VE'                                               STORMAN   2346
         SB3   B3+1                                                     STORMAN   2347
         SA1   A1+B3               . BACK POINTER IN DOPE VECTOR        STORMAN   2348
         SB3   X1-1                                                     STORMAN   2349
         NE    B3,B4,'VE'                                               STORMAN   2350
         NZ    X3,VL31                                                  STORMAN   2351
         JP    VL22                                                     STORMAN   2352
*  CHECK DATA CONSTRUCTOR FUD                                           STORMAN   2353
 VL32    SA1   X4                  . WORD 0 OF DOPE VECTOR              STORMAN   2354
         SB2   X1                                                       STORMAN   2355
         AX4   18                                                       STORMAN   2356
         AX1   55                                                       STORMAN   2357
         SX1   X1-DOPTYP+37B                                            STORMAN   2358
         NZ    X1,'VE'                                                  STORMAN   2359
         SB3   X4+1                                                     STORMAN   2360
         NE    B2,B3,'VE'          . CHECK NUMBER OF FIELDS             STORMAN   2361
         JP    VL22                                                     STORMAN   2362
*  CHECK STANDARD PROCEDURE FUD                                         STORMAN   2363
 VL33    SA1   MINHS               . CHECK IF MACHINE CODE              STORMAN   2364
         SB2   X4                  . ADDRESS IS AT ALL REASONABLE       STORMAN   2365
         SB3   X1                                                       STORMAN   2366
         GE    B0,B2,'VE'                                               STORMAN   2367
         GE    B2,B3,'VE'                                               STORMAN   2368
         JP    VL22                                                     STORMAN   2369
*                                                                       STORMAN   2370
*  CHECK SVD IN SIMPLE VARIABLE HBWN                                    STORMAN   2371
 VL34    SA1   A1+1                                                     STORMAN   2372
         RJ    VSVD                . CHECK SVD IN X1                    STORMAN   2373
         AX5   18                                                       STORMAN   2374
         SB4   B5+0                                                     STORMAN   2375
         SB1   B4+X5               . PREPARE B4,B1                      STORMAN   2376
         SA3   B4+1                . GO CHECK NAME AND HASH CODE        STORMAN   2377
         JP    VL22                                                     STORMAN   2378
*  LOOP TO SCAN THE STACK IS SIMILAR TO THE ONE AT                      STORMAN   2379
*  WPH2B OR WPH4U                                                       STORMAN   2380
*                                                                       STORMAN   2381
 VL35    SB5   B6+0                                                     STORMAN   2382
*                                                                       STORMAN   2383
 VL36    SA1   B5                  . NEXT STACK ENTRY HEADER            STORMAN   2384
         ZR    X1,VL43             . BRANCH IF BOTTOM OF STACK          STORMAN   2385
         SB4   X1                  . BYPASS TO B4                       STORMAN   2386
         GE    B0,B4,'VE'          . BYPASS MUST BE NOT LESS THAN 1     STORMAN   2387
*                                                                       STORMAN   2388
         PL    X1,VL38             . BRANCH IF NOT RETURN INFO.         STORMAN   2389
         AX1   18                                                       STORMAN   2390
         SA1   X1                  . RETURN ADDRESS MUST POINT          STORMAN   2391
         SB2   CALL                . TO A CALL MICOP                    STORMAN   2392
         SB3   X1+0                                                     STORMAN   2393
         NE    B2,B3,'VE'                                               STORMAN   2394
         SX5   B4-2                                                     STORMAN   2395
         SB5   B5-1                . PREPARE TO SCAN STACKED SVD-S      STORMAN   2396
 VL37    SA2   B5                  . ADDRESS MUST POINT TO A            STORMAN   2397
         SA2   X2-1                . SIMPLE VARIABLE                    STORMAN   2398
         AX2   55                                                       STORMAN   2399
         SA1   B5-1                . SVD TO X1                          STORMAN   2400
         SX2   X2-VARTYP+37B                                            STORMAN   2401
         NZ    X2,'VE'                                                  STORMAN   2402
         RJ    VSVD                . CHECK SVD                          STORMAN   2403
         SB5   B5-2                                                     STORMAN   2404
         SX5   X5-2                                                     STORMAN   2405
         PL    X5,VL37                                                  STORMAN   2406
         JP    VL36                                                     STORMAN   2407
 VL38    AX1   55                  . NOT RETURN INFO                    STORMAN   2408
         SA2   VWD                 . DISPATCH ON HSTY                   STORMAN   2409
         LX1   2                                                        STORMAN   2410
         SB3   X1                                                       STORMAN   2411
         AX2   B3,X2                                                    STORMAN   2412
         MX0   56                                                       STORMAN   2413
         BX2   -X0*X2                                                   STORMAN   2414
         SB3   X2                                                       STORMAN   2415
         JP    B3+VSW                                                   STORMAN   2416
VWD      SWITCH  VSW,4,0,1,1,2,3,2,0,0,4,4,4,4,0,0                      STORMAN   2417
+        SB5   B5-B4               . 0, S,I,R,SPEC                      STORMAN   2418
         JP    VL36                                                     STORMAN   2419
+        JP    VL39                . 1, SS,SI                           STORMAN   2420
+        SB4   B5-B4               . 2, PS,PE                           STORMAN   2421
         JP    VL41                                                     STORMAN   2422
+        SA1   B5                  . 3, PA                              STORMAN   2423
         AX1   18                                                       STORMAN   2424
         JP    VL40                                                     STORMAN   2425
+        SA1   B5-1                . 4, SF,A,D,N,C                      STORMAN   2426
         SB5   B5-B4               . NOTE ATY MAY BE 4-WORD SELECTOR ENTSTORMAN   2427
         RJ    VSVD                                                     STORMAN   2428
         JP    VL36                                                     STORMAN   2429
*  SI OR SS MAY APPEAR ONLY ON THE TOP OF THE STACK                     STORMAN   2430
VL39     NE    B5,B6,'VE'                                               STORMAN   2431
         SA1   B5-1                . OPERAND MUST POINT TO A            STORMAN   2432
         SA2   X1-1                .   VARIABLE OR LITERAL              STORMAN   2433
         RJ    VVARLIT                                                  STORMAN   2434
         SB5   B5-2                                                     STORMAN   2435
         JP    VL36                                                     STORMAN   2436
*  CHECK PARAM FOR PA (IN X1)                                           STORMAN   2437
 VL40    SB3   X1                                                       STORMAN   2438
         GE    B3,B4,'VE'          . PARAM MUST BE LESS THAN BYPASS     STORMAN   2439
         SB4   B5-B4               . BUT GREATER THAN 0.                STORMAN   2440
         GE    B0,B3,'VE'                                               STORMAN   2441
*  FALL THROUGH TO CHECK STARPM, ETC.  (SEE VSVD3)                      STORMAN   2442
 VL41    SB5   B5-1                                                     STORMAN   2443
         GE    B4,B5,VL36                                               STORMAN   2444
         SA1   B5                                                       STORMAN   2445
         SX2   X1+0                                                     STORMAN   2446
         UX3   B3,X1                                                    STORMAN   2447
         NG    X2,VL41                                                  STORMAN   2448
         ID    X1,VL42                                                  STORMAN   2449
         NE    B3,B0,VL41                                               STORMAN   2450
 VL42    SA2   X1-1                                                     STORMAN   2451
         RJ    VVAR                                                     STORMAN   2452
         EQ    VL41                                                     STORMAN   2453
*                                                                       STORMAN   2454
*  END OF LOOP TO SCAN THE STACK...                                     STORMAN   2455
 VL43    BSS   0                                                        STORMAN   2456
*  CONCLUSION OF SELF-CHECK...                                          STORMAN   2457
*  CHECK MAXHS AND MINSTAK                                              STORMAN   2458
*                                                                       STORMAN   2459
         SA1   MAXHS               . BOTH MUST POINT TO THE             STORMAN   2460
         SA2   MINSTAK             . BOTTOM OF THE STACK                STORMAN   2461
         SB1   X1                                                       STORMAN   2462
         SB2   X2                                                       STORMAN   2463
         NE    B1,B5,'VE3'                                              STORMAN   2464
         NE    B2,B5,'VE3'                                              STORMAN   2465
         SA1   MINHS               . CHECK SAVE LOCATIONS               STORMAN   2466
         SB5   X1                  . FOR LISTS. (MAY BE EMPTY)          STORMAN   2467
         SA2   X1                                                       STORMAN   2468
         RJ    VLIST                                                    STORMAN   2469
         SA2   B5+1                                                     STORMAN   2470
         RJ    VLIST                                                    STORMAN   2471
         SX1   B5+2                . CHECK DUMMY FREE BLOCK ON          STORMAN   2472
         SB3   FRETYP-37B          . CIRCULAR FREE HB LIST              STORMAN   2473
         SA4   VNFHB                                                    STORMAN   2474
         BX2   X1                                                       STORMAN   2475
         SX4   X4+1                                                     STORMAN   2476
         RJ    VHLIST                                                   STORMAN   2477
         SA1   FHBLRP              . CHECK SAME CIRCULAR LIST STARTING  STORMAN   2478
         BX2   X1                  . AT THE ROVING POINTER              STORMAN   2479
         SB5   CODTYP-37B                                               STORMAN   2480
         RJ    VHLIST                                                   STORMAN   2481
         SA1   CODLIST             . CHECK CODE LIST                    STORMAN   2482
         BX2   X2-X2                                                    STORMAN   2483
         SB3   B5                                                       STORMAN   2484
         SA4   VNCODB                                                   STORMAN   2485
         RJ    VHLIST                                                   STORMAN   2486
         SA1   FILLIST             . CHECK FILELIST (MAY BE EMPTY)      STORMAN   2487
         SA4   VNFILB                                                   STORMAN   2488
         BX5   X4                                                       STORMAN   2489
         JP    VL44                . *********** REMOVE IF FILECHECK DONSTORMAN   2490
         ZR    X1,VL44             . IF LIST IS EMPTY                   STORMAN   2491
         BX5   X5-X5                                                    STORMAN   2492
         SB3   FILTYP-37B                                               STORMAN   2493
         RJ    VHLIST                                                   STORMAN   2494
VL44     NZ    X5,'VE3'            . NUMBER OF BLOCKS MUST BE 0         STORMAN   2495
         SA4   MAXLS                                                    STORMAN   2496
         SX2   B7                  . TRAVERSE FREE LIST                 STORMAN   2497
         RJ    VLIST                                                    STORMAN   2498
         ZR    X7,'VE3'            . MUST BE AT LEAST 1 WORD LONG       STORMAN   2499
         NZ    X2,'VE3'            . LAST WORD MUST BE 0                STORMAN   2500
         SA3   MAXSTAK             . NUMBER OF WORDS IN LS MUST         STORMAN   2501
         SA2   VNWLS               . BE MAXLS-MAXSTAK.                  STORMAN   2502
         IX3   X4+X3                                                    STORMAN   2503
         IX2   X2-X3                                                    STORMAN   2504
         NZ    X2,'VE3'                                                 STORMAN   2505
*                                                                       STORMAN   2506
*  END OF SELF-CHECKING...                                              STORMAN   2507
*                                                                       STORMAN   2508
         JP    SELFCHK                                                  STORMAN   2509
*                                                                       STORMAN   2510
         EJECT                                                          STORMAN   2511
*  VCHCNT                                                               STORMAN   2512
*  COUNT THE NUMBER OF NONZERO CHARACTERS IN X2                         STORMAN   2513
*  PARAM:    X2                                                         STORMAN   2514
*  RESULT:   X7                                                         STORMAN   2515
*  X0,X1,X2,X7                                                          STORMAN   2516
*                                                                       STORMAN   2517
 VCHCNT  DATA  0                                                        STORMAN   2518
         MX0   6                                                        STORMAN   2519
         SX7   0                                                        STORMAN   2520
 VCHCA   BX1   X0*X2                                                    STORMAN   2521
         ZR    X1,VCHCNT                                                STORMAN   2522
         LX2   6                                                        STORMAN   2523
         SX7   X7+1                                                     STORMAN   2524
         EQ    VCHCA                                                    STORMAN   2525
*                                                                       STORMAN   2526
*  VLIST                                                                STORMAN   2527
*  TRAVERSE LIST STARTING AT X2.                                        STORMAN   2528
*  PARAM:   X2                                                          STORMAN   2529
*  RESULT:  X2   CONTAINS THE LAST WORD IN THE LIST                     STORMAN   2530
*           X7   NUMBER OF WORDS IN THE LIST                            STORMAN   2531
*  X1,X2,X6,X7,B1,B3                                                    STORMAN   2532
*                                                                       STORMAN   2533
 VLIST1  SA1   VNWLS               . THIS IS NOT THE ENTRY POINT        STORMAN   2534
         IX6   X1+X7               . INCREMENT LS WORD COUNT            STORMAN   2535
         SA6   A1                                                       STORMAN   2536
 VLIST   DATA  0                                                        STORMAN   2537
         SA1   MAXSTAK             .  LS DELIMITER                      STORMAN   2538
         BX7   X7-X7               . INIT WORD COUNT                    STORMAN   2539
         SB2   X1                                                       STORMAN   2540
 VLIST2  SB3   X2                                                       STORMAN   2541
         EQ    B3,B0,VLIST1        . RETURN IF POINTER IS 0             STORMAN   2542
         SB3   B0-B3               . MAXSTAK IN NEGATIVE REPR.          STORMAN   2543
         LT    B2,B3,'VE3'         . WORD NOT IN LS                     STORMAN   2544
         SA2   X2                  . NEXT WORD ON LIST                  STORMAN   2545
         SX7   X7+1                                                     STORMAN   2546
         EQ    VLIST2                                                   STORMAN   2547
*  VVAR                                                                 STORMAN   2548
*  CHECK IF X1 IS A VALID VARIABLE REFERENCE                            STORMAN   2549
*  CALL:   SA2   X1-1                                                   STORMAN   2550
*          RJ   VVAR                                                    STORMAN   2551
*  PARAM:  X1   VARIABLE REFERENCE                                      STORMAN   2552
*  RETURNS:    A2 = WORD 0 OF CONTAINING HB                             STORMAN   2553
*              B1 = 0 IFF THAT BLOCK IS VARTYP                          STORMAN   2554
*  X2,B1                                                                STORMAN   2555
*                                                                       STORMAN   2556
VVAR0    AX2   55                                                       STORMAN   2557
         SB1   X2+B1                                                    STORMAN   2558
         NZ    B1,VVAR2            . NOT SIMPLE VARIABLE                STORMAN   2559
VVAR     DATA  0                   . ENTRY/EXIT                         STORMAN   2560
         SB1   -VARTYP+37B         . EXPECT VARTYP HB                   STORMAN   2561
         NG    X2,VVAR0            . CHECK FOR SIMPLE VARIABLE          STORMAN   2562
 VVAR1   SA2   A2-1                . FIND WORD 0 IN STRUCTURE           STORMAN   2563
         PL    X2,VVAR1                                                 STORMAN   2564
         AX2   55                                                       STORMAN   2565
VVAR2    SB1   -STRTYP+37B         . EXPECT STRUCTURE HB                STORMAN   2566
         SX2   B1+X2               . CHECK HSTY                         STORMAN   2567
         ZR    X2,VVAR             . NOTE B1 .NE. 0                     STORMAN   2568
         JP    'VE2'                                                    STORMAN   2569
*  VVARLIT                                                              STORMAN   2570
*  VERIFY THAT X1 IS A REFERENCE TO:                                    STORMAN   2571
*        A VARIABLE (STRUCTURE ELEMENT OR SIMPLE)                       STORMAN   2572
*        OR A LITERAL (STRING OR INTEGER)                               STORMAN   2573
*  CALL: SA2 X1-1                                                       STORMAN   2574
*        RJ  VVARLIT                                                    STORMAN   2575
*  USES: A2/X2, B1                                                      STORMAN   2576
VVARLIT  DATA  0                   . ENTRY/EXIT                         STORMAN   2577
         PL    X2,VVL1             . X1 MUST POINT TO STRUCTURE ELEMENT STORMAN   2578
         AX2   55                                                       STORMAN   2579
         SB1   X2-LITTYP+37B                                            STORMAN   2580
         ZR    B1,VVARLIT          . LITERAL STRING                     STORMAN   2581
         SB1   X2-INTTYP+37B                                            STORMAN   2582
         ZR    B1,VVARLIT          . LITERAL INTEGER                    STORMAN   2583
VVL1     SA2   A2                                                       STORMAN   2584
         RJ    VVAR                . IF NOT LITERAL, THEN VARIABLE      STORMAN   2585
         JP    VVARLIT                                                  STORMAN   2586
*  VSVD                                                                 STORMAN   2587
*  CHECK SVD IN X1                                                      STORMAN   2588
*  X5,B5 ARE SAVED                                                      STORMAN   2589
*                                                                       STORMAN   2590
 VSVD    DATA  0                                                        STORMAN   2591
         BX2   X1                                                       STORMAN   2592
         BX3   X1                                                       STORMAN   2593
         NG    X1,'VE2'            . SVD MUST BE POSITIVE               STORMAN   2594
         AX1   55                                                       STORMAN   2595
         SB1   X1                  . DISPATCH ON SVTY                   STORMAN   2596
         JP    B1+VSVD1                                                 STORMAN   2597
 VSVD1   JP    VSVD2               . SF                                 STORMAN   2598
+        JP    'VE2'               . S                                  STORMAN   2599
+        JP    VSVD2               . SS                                 STORMAN   2600
+        JP    VSVD2               . SI                                 STORMAN   2601
+        BX0   X0-X0               . PS                                 STORMAN   2602
         JP    VSVD3                                                    STORMAN   2603
+        MX0   1                   . PA                                 STORMAN   2604
         JP    VSVD3                                                    STORMAN   2605
+        BX0   X0-X0               . PE                                 STORMAN   2606
         JP    VSVD3                                                    STORMAN   2607
+        JP    VSVD                . I                                  STORMAN   2608
+        SA1   MAXSTAK             . R                                  STORMAN   2609
         JP    VSVD8                                                    STORMAN   2610
+        AX3   18                  . A                                  STORMAN   2611
         SA4   X3                                                       STORMAN   2612
         JP    VSVD9                                                    STORMAN   2613
+        AX3   18                  . D                                  STORMAN   2614
         SA4   X3                                                       STORMAN   2615
         JP    VSVD9                                                    STORMAN   2616
+        SX1   X2                  . N                                  STORMAN   2617
         AX3   18                                                       STORMAN   2618
         JP    VSVD10                                                   STORMAN   2619
+        JP    VSVD12              . C                                  STORMAN   2620
+        SA1   MAXSTAK             . IN                                 STORMAN   2621
         JP    VSVD13                                                   STORMAN   2622
+        SA1   MAXSTAK             . OUT                                STORMAN   2623
         JP    VSVD13                                                   STORMAN   2624
         JP    'VE2'                 ***** CHARLES, WHAT IS THIS *****  STORMAN   2625
*  CHECK SF, SS TYPES                                                   STORMAN   2626
 VSVD2   RJ    VLIST                                                    STORMAN   2627
         SX7   X7-1                                                     STORMAN   2628
         NG    X7,'VE2'            . LIST MUST CONTAIN AT LEAST         STORMAN   2629
         AX3   18                  . 1 WORD                             STORMAN   2630
         SB3   X3                                                       STORMAN   2631
         SB2   A2                                                       STORMAN   2632
         NE    B2,B3,'VE2'         . CHECK LAST                         STORMAN   2633
         BX6   X7                                                       STORMAN   2634
         LX7   3                   . COUNT NUMBER OF CHARACTERS BY      STORMAN   2635
         IX6   X7-X6               .   COMPUTING 7*(WORDS-1) "7 = 8 - 1!STORMAN   2636
         RJ    VCHCNT                                                   STORMAN   2637
         AX3   18                                                       STORMAN   2638
         IX7   X7+X6               . AND ADDING THE NUMBER OF           STORMAN   2639
         SB3   X3                  . CHARS IN THE LAST WORD             STORMAN   2640
         SB2   X7                                                       STORMAN   2641
         NE    B2,B3,'VE2'         . CHECK CLENGTH                      STORMAN   2642
         JP    VSVD                                                     STORMAN   2643
*  CHECK PATTERNS.  X0 IS NEGATIVE IF PA.                               STORMAN   2644
 VSVD3   BX4   X3                                                       STORMAN   2645
         RJ    VLIST                                                    STORMAN   2646
         AX3   18                                                       STORMAN   2647
         SB3   X3                                                       STORMAN   2648
         SB2   A2                                                       STORMAN   2649
         AX3   18                                                       STORMAN   2650
         NE    B2,B3,'VE2'         . CHECK LAST                         STORMAN   2651
         SB3   X3                                                       STORMAN   2652
         SB2   X7                                                       STORMAN   2653
         PL    X0,VSVD4                                                 STORMAN   2654
         GE    B3,B2,'VE2'         . PARAM IN PA MUST BE LESS           STORMAN   2655
         GE    B0,B3,'VE2'         .   THAN X7 BUT GREATER THAN 1       STORMAN   2656
         EQ    VSVD5                                                    STORMAN   2657
VSVD4    NE    B3,B0,'VE2'         . PARAM=0 IN PS OR PE                STORMAN   2658
*  USUAL LOOP TO FIND STARPM, PRDPM AND DOLPM                           STORMAN   2659
*  SEE ALSO WPH2F                                                       STORMAN   2660
 VSVD5   SA1   X4                                                       STORMAN   2661
         SX4   X1                                                       STORMAN   2662
         NG    X1,VSVD7                                                 STORMAN   2663
         LX1   19                                                       STORMAN   2664
         ID    X1,VSVD6                                                 STORMAN   2665
         UX7   B2,X1                                                    STORMAN   2666
         NE    B2,B0,VSVD7                                              STORMAN   2667
VSVD6    SA2   X1-1                                                     STORMAN   2668
         RJ    VVAR                                                     STORMAN   2669
 VSVD7   NZ    X4,VSVD5                                                 STORMAN   2670
         JP    VSVD                                                     STORMAN   2671
*  CHECK REAL NUMBER (NOT LITERAL).  OPERAND MUST                       STORMAN   2672
*  BE IN LIST STORAGE.  X1=MAXSTAK                                      STORMAN   2673
 VSVD8   SA4   X2                                                       STORMAN   2674
         SB3   X2                                                       STORMAN   2675
         BX1   -X1                                                      STORMAN   2676
         SB2   X1                                                       STORMAN   2677
         LT    B3,B2,'VE2'                                              STORMAN   2678
         SA1   VNWLS               . INCREMENT LS WORD COUNT            STORMAN   2679
         SX7   X1+1                                                     STORMAN   2680
         SA7   A1                                                       STORMAN   2681
         JP    VSVD                                                     STORMAN   2682
*  CHECK ATY AND DTY SVD.  X4=WORD 0 OF STRUCTURE                       STORMAN   2683
 VSVD9   AX4   18                  . DOPE POINTER                       STORMAN   2684
         SB1   X4                                                       STORMAN   2685
         SB2   X2                  . F1 MUST BE A COPY                  STORMAN   2686
         AX4   55-18                                                    STORMAN   2687
         NE    B1,B2,'VE2'                                              STORMAN   2688
         SX4   X4-STRTYP+37B                                            STORMAN   2689
         ZR    X4,VSVD             . BASE MUST POINT TO A               STORMAN   2690
         JP    'VE2'               .   STRUCTURE                        STORMAN   2691
*  CHECK NTY, X1=F1, X3=F2 OF SVD                                       STORMAN   2692
 VSVD10  SA2   X1-1                                                     STORMAN   2693
         RJ    VVAR                . RETURNS B1=0 IFF VARTYP HB         STORMAN   2694
         SB2   A2                  . BASE OF HB                         STORMAN   2695
         SB3   X3                                                       STORMAN   2696
         EQ    B3,B0,VSVD11        . IF F2 IS NOT 0                     STORMAN   2697
         EQ    B0,B1,'VE2'         . NTY POINTS TO A STRUCTURE          STORMAN   2698
         EQ    B2,B3,VSVD          . AND F2=BASE                        STORMAN   2699
         JP    'VE2'                                                    STORMAN   2700
 VSVD11  EQ    B0,B1,VSVD          . OTHERWISE IT POINTS TO A           STORMAN   2701
         JP    'VE2'               .   SIMPLE VARIABLE                  STORMAN   2702
*  CHECKING CTY IS SIMILAR TO VL24                                      STORMAN   2703
 VSVD12  SB2   X3                                                       STORMAN   2704
         AX3   18                                                       STORMAN   2705
         RJ    CBAS                                                     STORMAN   2706
         SB2   X1                                                       STORMAN   2707
         SB3   X3                                                       STORMAN   2708
         NE    B2,B3,'VE2'         . VERIFY BASE                        STORMAN   2709
         SA1   B2                                                       STORMAN   2710
         AX1   55                                                       STORMAN   2711
         SX1   X1-CODTYP+37B       . MUST BE A CODE BLOCK               STORMAN   2712
         ZR    X1,VSVD                                                  STORMAN   2713
         JP    'VE2'                                                    STORMAN   2714
*                                                                       STORMAN   2715
*  CHECK INTY AND OUTTY, THEN CHECK SS TYPE VALUE                       STORMAN   2716
*  X1=MAXSTAK                                                           STORMAN   2717
 VSVD13  SB2   X2                                                       STORMAN   2718
         AX2   18                                                       STORMAN   2719
         BX1   -X1                                                      STORMAN   2720
         SB1   X1                                                       STORMAN   2721
         LT    B2,B1,'VE2'         . SS SVD MUST BE IN LS               STORMAN   2722
         SA4   VNWLS               . INCREMENT LS WORD COUNTER          STORMAN   2723
         SA2   X2                                                       STORMAN   2724
         SA1   B2                  . FETCH SS SVD                       STORMAN   2725
         SX7   X4+1                                                     STORMAN   2726
         AX2   55                                                       STORMAN   2727
         SA7   A4                                                       STORMAN   2728
         SX2   X2-FILTYP+37B       . F2 MUST POINT TO AN I/O            STORMAN   2729
         BX3   X1                  . BUFFER                             STORMAN   2730
         AX1   55                                                       STORMAN   2731
         NZ    X2,'VE2'                                                 STORMAN   2732
         SX1   X1-SSTY             . VERIFY SS TYPE                     STORMAN   2733
         NZ    X1,'VE2'                                                 STORMAN   2734
         BX2   X3                                                       STORMAN   2735
         JP    VSVD2               . GO CHECK SS SVD                    STORMAN   2736
*                                                                       STORMAN   2737
*  VHLIST                                                               STORMAN   2738
*  VERIFY THAT HEAP BLOCK LIST IS INTACT                                STORMAN   2739
*  PARAM:   X1  LIST HEADER (MAY NOT BE EMPTY)                          STORMAN   2740
*           X2  END OF LIST MARK                                        STORMAN   2741
*           X4  NUMBER OF BLOCKS EXPECTED                               STORMAN   2742
*           B3  TYPE OF BLOCKS ON THE LIST                              STORMAN   2743
*  X1,X7,B1,B2,B4                                                       STORMAN   2744
*                                                                       STORMAN   2745
 VHLIST  DATA  0                                                        STORMAN   2746
         BX7   X7-X7                                                    STORMAN   2747
         SB1   X1                                                       STORMAN   2748
         SB2   X2+0                                                     STORMAN   2749
 VHL1    SA1   B1                  . WORD 0 OF NEXT HB                  STORMAN   2750
         SB1   X1                  . LINK IS IN F1                      STORMAN   2751
         AX1   55                                                       STORMAN   2752
         SB4   X1                  . HSTY TO B4                         STORMAN   2753
         NE    B4,B3,'VE3'         . WRONG TYPE                         STORMAN   2754
         SX7   X7+1                                                     STORMAN   2755
         NE    B1,B2,VHL1          . BRANCH IF NOT END                  STORMAN   2756
         IX1   X4-X7                                                    STORMAN   2757
         ZR    X1,VHLIST           . BRANCH IF COUNT IS OK              STORMAN   2758
         JP    'VE3'                                                    STORMAN   2759
*                                                                       STORMAN   2760
*                                                                       STORMAN   2761
         END                                                            STORMAN   2762