         PCC      0                                                     CVM    1
         TITLE    'D E S C R I P T I O N'                               CVM    2
************************************************************************CVM    3
*                                                                       CVM    4
*  IN FORTRAN, VIA THE M:CVM SERVICE CALL, EXECUTE BASIC 'LOAD'         CVM    5
*  INSTRUCTIONS THAT REFERENCE MEMORY THAT IS NOT NORMALLY ACCESSIBLE   CVM    6
*  TO THE USER.                                                         CVM    7
*                                                                       CVM    8
*  FORMAT:  IN FORTRAN, EVALUATE THE FOLLOWING:                         CVM    9
*                                                                       CVM   10
*     CALL            FUNCTION           INDEX RESOLUTION               CVM   11
*                                                                       CVM   12
*     LB(ADR,INDEX)   LOAD BYTE          BYTE                           CVM   13
*     LH(ADR,INDEX)   LOAD HALFWORD      HALFWORD                       CVM   14
*     LW(ADR,INDEX)   LOAD WORD          WORD                           CVM   15
*     LD(ADR,INDEX)   LOAD DOUBLEWORD    DOUBLEWORD                     CVM   16
*                                                                       CVM   17
*  'ADR' IS THE 'REFERENCE' ADDRESS, ALWAYS HAS WORD RESOLUTION, AND    CVM   18
*  IS OBTAINED AS FOLLOWS:                                              CVM   19
*                                                                       CVM   20
*     IF DECLARED AS 'EXTERNAL' IN FORTRAN, 'ADR' IS THE REFERENCE      CVM   21
*     ADDRESS.  (IN THIS CASE, BYTE 0 OF THE ARGUMENT DESCRIPTOR        CVM   22
*     IS 0.)                                                            CVM   23
*     IF NOT DECLARED AS 'EXTERNAL', 'ADR' CONTAINS THE REFERENCE       CVM   25
*     ADDRESS.  (IN THIS CASE, BYTE 0 OF THE DESCRIPTOR IS >0 AND       CVM   26
*     <X'80'.)                                                          CVM   27
*                                                                       CVM   28
*     'ADR' CAN BE A DUMMY (I.E., DOUBLY INDIRECT).  (IN THIS           CVM   29
*     CASE, THE DESCRIPTOR BYTE IS =>X'80'.)                            CVM   30
*                                                                       CVM   31
*  'INDEX' IS AN OPTIONAL BYTE, HALFWORD, WORD, OR DOUBLEWORD           CVM   32
*  INDEX, AND IS OBTAINED IN A SIMILAR FASHION:                         CVM   33
*                                                                       CVM   34
*     IF DECLARED AS 'EXTERNAL', 'INDEX' IS THE VALUE OF THE DEF'D      CVM   35
*     LABEL.                                                            CVM   36
*                                                                       CVM   37
*     IF NOT DECLARED AS 'EXTERNAL', 'INDEX' IS THE LABEL OF A CELL     CVM   38
*     CONTAINING THE ACTUAL INDEX VALUE.                                CVM   39
*                                                                       CVM   40
*     'INDEX' CAN BE A DUMMY.                                           CVM   41
*                                                                       CVM   42
*     IF 'INDEX' IS NOT SPECIFIED, 0 IS USED.                           CVM   43
*                                                                       CVM   44
*  WARNINGS -                                                           CVM   45
*                                                                       CVM   46
*     I.E., THE DESCRIPTOR IS GEN'D AS:   GEN,15,17  0,LABEL            CVM   48
*                                                                       CVM   49
*     IF THE LD FUNCTION IS USED, IT SHOULD BE DECLARED AS DOUBLE       CVM   50
*     PRECISION.                                                        CVM   51
*                                                                       CVM   52
************************************************************************CVM   53
*                                                                       CVM   54
*  EXAMPLE:                                                             CVM   55
*                                                                       CVM   56
*  THE FOLLOWING COULD BE USED TO OBTAIN THE NAME OF THE CURRENT        CVM   57
*  USER'S COMMAND PROCESSOR:                                            CVM   58
*                                                                       CVM   59
*     EXTERNAL PNAME, SCUN, UBACP                                       CVM   60
*     DOUBLE PRECISION LD, NAME                                         CVM   61
*     NAME = LD(PNAME,LB(UBACP,LW(SCUN)))                               CVM   62
*                                                                       CVM   63
*     (SYMCON CAN BE USED TO CHANGE THE NAMES OF THE DEF'S TO           CVM   64
*     EXCLUDE CHARACTERS THAT ARE NOT ACCEPTED BY FORTRAN,              CVM   65
*     E.G., CHANGE P:NAME TO PNAME TO DROP THE ':'.  MRDS.X MAY         CVM   66
*     ALSO BE USED, AND WILL AUTOMATICALLY MAKE ALL SYMBOLS CONFORM     CVM   67
*     TO FORTRAN NAMING CONVENTIONS.)                                   CVM   68
*                                                                       CVM   69
*                                                                       CVM   71
*  PROGRAMMER - PAUL STENDAL.                                           CVM   72
*                                                                       CVM   73
************************************************************************CVM   74
         TITLE    'C O M M E N T A R Y   S Y M B O L S'                 CVM   75
************************************************************************CVM   76
*                                                                       CVM   77
*  COMMENTARY PREFIXES:                                                 CVM   78
*                                                                       CVM   79
*  SYMBOL         MEANING                                               CVM   80
*                                                                       CVM   81
*  L/             'LOAD'                                                CVM   82
*  S/             'STORE'                                               CVM   83
*  X/             'EXCHANGE'                                            CVM   84
*  XVALUE         'MULTIPLY BY (VALUE)'                                 CVM   85
*  &              'AND' (LOGICAL OPERATION)                             CVM   86
*  G/             'GET'                                                 CVM   87
*  C/             'COMPARE'                                             CVM   88
*  W/             'WITH'                                                CVM   89
*  B/             'BRANCH IF' OR 'BRANCH AND'                           CVM   90
*  0/             'ZERO (CLEAR)' OR 'IF ZERO, THEN'                     CVM   91
*  NZ/            'IF NON-ZERO, THEN'                                   CVM   92
*  -              'SUBTRACT' OR 'IF NEGATIVE, THEN'                     CVM   94
*  M/             'MULTIPLY BY' OR 'MOVE'                               CVM   95
*  /              'DIVIDE' OR 'DIVIDE BY'                               CVM   96
*  LJ/            'LEFT JUSTIFY'                                        CVM   97
*  RJ/            'RIGHT JUSTIFY'                                       CVM   98
*  MNEMONIC       LITERAL                                               CVM   99
*  VALUE/         'IF (VALUE), THEN'                                    CVM  100
*                                                                       CVM  101
************************************************************************CVM  102
         TITLE    'C V M   -   L D ,   L W ,   L H ,   L B'             CVM  103
VERSION  EQU      X'D00'            SYSTEM VERSION, IN HEX              CVM  104
         SPACE    3                                                     CVM  105
************************************************************************CVM  106
*                                                                       CVM  107
*  C O M M A N D   D E F I N I T I O N S                                CVM  108
*                                                                       CVM  109
************************************************************************CVM  110
         SYSTEM   SIG7FDP                                               CVM  111
         SPACE    3                                                     CVM  112
ERR      CNAME                      PROC TO PRINT ' CVM - ' FOLLOWED    CVM  113
         PROC                       .. BY THE ARGUMENT FIELD THRU       CVM  114
LF       BAL,R5   PRNTER2           .. M:DO, THEN EXECUTE AN M:ERR      CVM  115
         PEND                                                           CVM  117
         SPACE    3                                                     CVM  118
DATA0    CNAME    4,2,,1                                                CVM  119
         PROC                                                           CVM  120
LF       DATA                                                           CVM  121
         LIST     0                                                     CVM  122
         DO1      ((AF(1)+NAME(CF(2))-1)/NAME(CF(2)))-1                 CVM  123
         DATA                                                           CVM  124
         LIST     1                                                     CVM  125
         PEND                                                           CVM  126
         SPACE    3                                                     CVM  127
CX       COM,1,1,1,5,4,3,17    AFA(1),1,1-:BIG,X'11',CF(2),AF(2),AF(1)  CVM  128
LX       COM,1,1,1,5,4,3,17    AFA(1),1,1-:BIG,X'12',CF(2),AF(2),AF(1)  CVM  129
STX      COM,1,1,1,5,4,3,17    AFA(1),1,1-:BIG,X'15',CF(2),AF(2),AF(1)  CVM  130
         PAGE                                                           CVM  131
************************************************************************CVM  132
*                                                                       CVM  133
*  E X T E R N A L   R E F E R E N C E S                                CVM  134
*                                                                       CVM  135
************************************************************************CVM  136
         REF      FPMC              FREE PAGE MAPPING CONSTANT          CVM  137
         REF      JB:BCP            BYTE IN JIT CONTAINING PAGE # OF    CVM  138
         REF      JB:TDP            BYTE IN JIT CONTAINING PAGE # OF    CVM  140
*                                   .. THE TOP DYNAMIC PAGE             CVM  141
         REF      JX:CMAP           BYTE OR HALFWORD TABLE IN JIT       CVM  142
*                                   .. CONTAINING VIRTUAL TO REAL MAP   CVM  143
         REF      JB:LMAP           BYTE TABLE IN JIT; IF A PAGE IS     CVM  144
*                                   .. M:CVM'D, LMAP WILL CONTAIN A 1   CVM  145
         REF      :BIG              0/JX:CMAP IS BYTE TABLE             CVM  146
*                                   1/JX:CMAP IS HALFWORD TABLE         CVM  147
         REF      JB:PRIV           PRIVILEGE LEVEL IN JIT              CVM  148
         REF      PRNTER2           PRINT ERROR MESSAGE THRU M:DO,      CVM  149
*                                   .. EXECUTE M:ERR                    CVM  150
         PAGE                                                           CVM  151
************************************************************************CVM  152
*                                                                       CVM  153
*  E X T E R N A L   D E F I N I T I O N S                              CVM  154
*                                                                       CVM  155
************************************************************************CVM  156
         DEF      LD                FUNCTION ENTRY POINT; LOAD DOUBLEWORCVM  157
         DEF      LW                FUNCTION ENTRY POINT; LOAD WORD     CVM  158
         DEF      LH                FUNCTION ENTRY POINT; LOAD HALFWORD CVM  159
         DEF      LB                FUNCTION ENTRY POINT; LOAD BYTE     CVM  160
         DEF      LX                FUNCTION ENTRY POINT; LOAD BYTE IF  CVM  161
*                                   .. :BIG IS 0, LOAD HALFWORD IF :BIG CVM  162
         DEF      CVM               DEF BASE OF THIS MODULE             CVM  163
         PAGE                                                           CVM  164
************************************************************************CVM  165
*                                                                       CVM  166
*  S Y M B O L I C   R E G I S T E R   D E F I N I T I O N S            CVM  167
*                                                                       CVM  168
************************************************************************CVM  169
R0       EQU      0                                                     CVM  170
R1       EQU      1                                                     CVM  171
R2       EQU      2                                                     CVM  172
R3       EQU      3                                                     CVM  173
R4       EQU      4                                                     CVM  174
R5       EQU      5                                                     CVM  175
R6       EQU      6                                                     CVM  176
R7       EQU      7                                                     CVM  177
R8       EQU      8                                                     CVM  178
R9       EQU      9                                                     CVM  179
R10      EQU      10                                                    CVM  180
R11      EQU      11                                                    CVM  181
R12      EQU      12                                                    CVM  182
R13      EQU      13                                                    CVM  183
R14      EQU      14                                                    CVM  184
R15      EQU      15                                                    CVM  185
CVM      EQU      $                                                     CVM  187
CVMMNP   DSECT    0                                                     CVM  188
         DATA     500               MAXIMUM NUMBER OF PAGES TO ACQUIRE  CVM  189
*                                   .. WITH CVM FUNCTIONS               CVM  190
CVMCNP   DSECT    0                                                     CVM  191
         DATA     0                 CURRENT NUMBER OF PAGES USED FOR CVMCVM  192
         SPACE    3                                                     CVM  193
************************************************************************CVM  194
*  CVMVPA, WHEN INDEXED BY REAL PAGE #, YIELDS THE PAGE # OF            CVM  195
*  THE M:CVM'D PAGE (I.E., THE PAGE # TO USE WHEN EXECUTING             CVM  196
*  THE OBJECT INSTRUCTION).                                             CVM  197
************************************************************************CVM  198
CVMNPP   EQU      320*2             # OF PHYSICAL PAGES ON MACHINE (MAX)CVM  199
CVMVPA   DSECT    0                                                     CVM  200
         DATA0,1  CVMNPP                                                CVM  201
*                                                                       CVM  202
CVMVPAE  EQU      $                 END OF CVMVPA TABLE                 CVM  203
         USECT    CVM               GO BACK TO CSECT                    CVM  204
CVMQHEAD DATA     -1                HEAD POINTER TO PAGE USAGE Q        CVM  205
CVMQTAIL DATA     0                 TAIL POINTER TO PAGE USAGE Q        CVM  206
BIAS     EQU      X'A000'           ADR OF LOWEST PAGE THAT COULD       CVM  207
*                                   .. POSSIBLY BE IN COMMON PAGE AREA  CVM  208
*                                   .. ENTRIES FOR ADR 0 THRU BIAS-1    CVM  210
*                                   .. AREN'T ACTUALLY IN TABLES.       CVM  211
#VPGS    EQU      (X'20000'-BIAS)/512                                   CVM  212
*                                                                       CVM  213
CVMQFL   EQU      $-BIASDISP                                            CVM  214
         DATA0,1  #VPGS             FLINK BY VIRTUAL PAGE #             CVM  215
CVMQBL   EQU      $-BIASDISP                                            CVM  216
         DATA0,1  #VPGS             BLINK BY VIRTUAL PAGE #             CVM  217
         LIST     0                                                     CVM  218
         DATA     0                                                     CVM  219
         LIST     1                                                     CVM  220
         PAGE                                                           CVM  221
************************************************************************CVM  222
*                                                                       CVM  223
*  THE FOLLOWING INSTRUCTIONS ARE USED AS FOLLOWS:                      CVM  224
*                                                                       CVM  225
*  1  THEY ARE USED WITH AN INDEXED ANLZ TO OBTAIN THE REAL             CVM  226
*     EFFECTIVE ADDRESS OF THE OBJECT INSTRUCTION.                      CVM  227
*  2  THE ARE USED WITH AN INDEXED EXU TO EXECUTE THE OBJECT            CVM  228
*     INSTRUCTION THRU THE MAP AFTER THE PAGE ADDRESS PORTION OF THE    CVM  229
*     ADDRESS IS CONVERTED FROM REAL TO VIRTUAL.                        CVM  230
*                                                                       CVM  231
         LD,R8    0,R6              EXECUTE LD (LOAD DOUBLEWORD)        CVM  233
         LW,R9    0,R6              EXECUTE LW (LOAD WORD)              CVM  234
         LH,R9    0,R6              EXECUTE LH (LOAD HALFWORD)          CVM  235
INANLZ   LB,R9    0,R6              EXECUTE LB (LOAD BYTE)              CVM  236
         PAGE                                                           CVM  237
************************************************************************CVM  238
*  DETERMINE WHICH FUNCTION IS BEING CALLED, PUT THE FUNCTION TYPE      CVM  239
*  INDEX IN R4.                                                         CVM  240
************************************************************************CVM  241
LX       LI,R4    :BIG              L/FUNCTION TYPE INDEX; 0 FOR SMALL  CVM  242
*                                   .. CORE SYSTEMS, 1 FOR BIG CORE     CVM  243
         B        M015              B                                   CVM  244
LB       BAL,R4   M010              B; FUNCTION TYPE INDEX + M005 IN R4 CVM  245
M005     EQU      $                                                     CVM  246
LH       BAL,R4   M010              B; FUNCTION TYPE INDEX + M005 IN R4 CVM  247
LW       BAL,R4   M010              B; FUNCTION TYPE INDEX + M005 IN R4 CVM  248
LD       BAL,R4   M010              B; FUNCTION TYPE INDEX + M005 IN R4 CVM  249
M010     SW,R4    =M005             -M005; G/FUNCTION TYPE INDEX        CVM  250
************************************************************************CVM  251
*  PICK UP THE ARGUMENTS:                                               CVM  252
*  1  GET THE BASE ADDRESS IN R6.                                       CVM  253
*  2  GET THE INDEX VALUE (IF ANY) IN R7.                               CVM  254
M015     LW,R6    *R15              L/1ST ARG DESCRIPTOR; BASE ADR      CVM  256
         CW,R6    =X'FF000000'      C/ARG DESCRIPTOR W/.FF000000        CVM  257
         BAZ      M020              BAZ; EXTERNAL TYPE                  CVM  258
         BG       $+2               BG; NOT INDIRECT (DUMMY) ARG        CVM  259
         LW,R6    0,R6              L/ADR OF CELL CONTAINING ADR        CVM  260
         LW,R6    0,R6              L/ADR                               CVM  261
M020     AI,R15   1                 INC ARG LIST POINTER                CVM  262
         LI,R7    0                 L/0; INDEX IF NONE SPECIFIED        CVM  263
         AI,R14   -1                -1 FROM # OF ARGS                   CVM  264
         BEZ      M040              BEZ; 1 ARG; NO INDEX                CVM  265
         LW,R7    *R15              L/2ND ARG DESCRIPTOR; INDEX VALUE   CVM  266
         AI,R15   1                 INC ARG LIST POINTER                CVM  267
         CW,R7    =X'FF000000'      C/ARG DESCRIPTOR W/.FF000000        CVM  268
         BAZ      M040              BAZ; EXTERNAL TYPE                  CVM  269
         BG       $+2               BG; NOT INDIRECT (DUMMY) ARG        CVM  270
         LW,R7    0,R7              L/ADR OF CELL CONTAINING ADR        CVM  271
         LW,R7    0,R7              L/ADR                               CVM  272
M040     LCW,R1   R4                L/COMPLEMENT OF RESOLUTION INDEX    CVM  273
         SLS,R6   2,R1              PUT REF ADR IN SAME RESOLUTION      CVM  274
*                                   .. AS INDEX                         CVM  275
         AW,R6    R7                BASE ADR + INDEX ADR                CVM  276
         SLD,R6   -11,R4            G/PAGE ADR IN R6, PAGE DISPLACEMENT CVM  277
         LB,R4    CVMVPA,R6         XLATE REAL PAGE # TO VIRTUAL PAGE # CVM  279
************************************************************************CVM  280
*                                                                       CVM  281
*  WARNING -                                                            CVM  282
*     IF/WHEN THE Q TABLES ARE SET UP, THE FOLLOWING INSTRUCTION        CVM  283
*     WILL BE REPLACED WITH A 'BNEZ M230' INSTRUCTION.                  CVM  284
************************************************************************CVM  285
M045     BNEZ     M250              BNEZ; ALREADY M:CVM'D THIS PAGE     CVM  286
         PAGE                                                           CVM  287
         LW,R4    CVMQTAIL          L/TAIL OF Q                         CVM  288
         BGZ      M160              BGZ; Q EXISTS, USE TAIL             CVM  289
         LW,R2    CVMCNP            L/CURRENT # OF PAGES CVM'D          CVM  290
         CW,R2    CVMMNP            C/CURRENT # W/MAX NUMBER            CVM  291
         BGE      M130              BGE; AT MAX; DON'T GET MORE PAGES   CVM  292
         LI,R2    BA(JB:BCP)        L/BA OF JB:BCP; PAGE # OF BOTTOM    CVM  293
*                                   .. COMMON PAGE                      CVM  294
         LI,R4    BA(JB:TDP)        L/BA OF JB:TDP; PAGE # OF TOP       CVM  295
*                                   .. DYNAMIC PAGE                     CVM  296
         LB,R4    0,R4              L/PAGE # OF TOP DYNAMIC PAGE        CVM  297
         LI,R14   1                 L/1; JB:LMAP ENTRY FOR CVM'D PAGES  CVM  298
         LI,R13   FPMC              L/FPMC; FREE PAGE MAPPING CONSTANT  CVM  299
         LI,R12   M120              L/RETURN ADR FOR BAD M:CVM          CVM  300
         BNE      M120              BNE; PAGE NOT FREE                  CVM  302
         CB,R14   JB:LMAP,R4        C/1 W/JB:LMAP ENTRY                 CVM  303
         BNE      M200              BNE; PAGE IS FREE                   CVM  304
M120     AI,R4    1                 INC CMAP POINTER                    CVM  305
         CB,R4    0,R2              C/CMAP POINTER W/JB:BCP             CVM  306
         BLE      M100              BLE; MORE PAGES TO CHECK            CVM  307
M130     LW,R4    CVMQTAIL          L/Q TAIL POINTER                    CVM  308
         BNEZ     M160              BNEZ; Q EXISTS, IS NOT NULL         CVM  309
         BAL,R14  BUILDQ            BUILD Q TABLES                      CVM  310
         LW,R4    CVMQTAIL          L/Q TAIL POINTER                    CVM  311
         BNEZ     M160              BNEZ; Q EXISTS, NOT NULL OR AT END  CVM  312
M140     ERR      'NO PAGES AVAILABLE'    ERROR - NO PAGES AVAILABLE IN CVM  313
*                                   .. COMMON PAGE AREA                 CVM  314
M150     LB,R4    CVMQBL,R4         L/VPA OF NEXT PAGE BACK IN Q        CVM  315
         BEZ      M140              BEZ; END OF Q, CAN'T FIND ANY PAGES CVM  316
M160     LX,R3    JX:CMAP,R4        L/REAL PAGE ADR OF PAGE BEING FREED CVM  317
         DO       VERSION<X'D00'    DO IF PRE D00 CPV                   CVM  318
         CI,R3    FPMC              C/REAL PAGE ADR W/FPMC              CVM  319
         BE       M150              BE; CAN'T FREE FPMC (.20) PAGE      CVM  320
         FIN                                                            CVM  321
         DO       VERSION<X'C01'    DO IF PRE C01 CPV                   CVM  322
         LW,R9    R4                L/CURRENT VPA                       CVM  323
         SLS,R9   9                 SHIFT; G/WA OF VPA                  CVM  324
         CAL1,8   =X'85000009'      M:FVP *R9; FREE VIRTUAL PAGE        CVM  325
         BCS,8    M150              B/RELEASE WASN'T SUCCESSFULL        CVM  326
         FIN                                                            CVM  327
         MTW,-1   CVMCNP            DEC CURRENT # OF CVM'D PAGES        CVM  328
         LI,R2    0                 L/0                                 CVM  329
         STB,R2   CVMVPA,R3         0/VPA ENTRY FOR PAGE FREED          CVM  330
         LI,R12   M150              L/RETURN ADR FOR BAD M:CVM          CVM  331
M200     LW,R8    R6                L/REAL PAGE ADR                     CVM  332
         LW,R9    R4                L/VIRTUAL (FREE) PAGE #             CVM  333
         SLD,R8   9                 SHIFT; G/WORD ADRS                  CVM  334
         MTB,7    R8                PUT FPT CODE IN                     CVM  335
         CAL1,8   R8                M:CVM; R8 IS REAL PAGE ADR, R9 IS   CVM  336
*                                   .. VIRTUAL PAGE ADR                 CVM  337
         BCR,8    M225              B/CC1 RESET; OK                     CVM  338
         LB,R3    JB:PRIV           L/PRIVILEGE LEVEL FROM JIT          CVM  339
         CI,R3    X'80'             C/PRIV LEVEL W/.80                  CVM  340
         BGE      *R12              BGE; PRIV OK, TRY NEXT PAGE         CVM  341
         ERR      'PRIVILEGE LEVEL LESS THAN X''80'''                   CVM  342
         PAGE                                                           CVM  343
M225     MTW,1    CVMCNP            INC CURRENT # OF CVM'D PAGES        CVM  344
         STB,R4   CVMVPA,R6         S/VIRTUAL PAGE # INTO               CVM  345
*                                   .. REAL-TO-VIRTUAL CONVERSION TABLE CVM  346
M230     CW,R4    CVMQHEAD          C/VPA W/HEAD OF Q                   CVM  347
         LW,R2    CVMQHEAD          L/HEAD POINTER                      CVM  349
         BLZ      M250              BLZ; WE'RE NOT Q'ING YET            CVM  350
DQ       LB,R3    CVMQBL,R4         L/BLINK FOR CURRENT Q ENTRY         CVM  351
         LB,R2    CVMQFL,R4         L/FLINK FOR CURRENT Q ENTRY         CVM  352
         BNEZ     $+3               BNEZ; CURRENT ENTRY NOT AT TAIL     CVM  353
         STW,R3   CVMQTAIL          S/BLINK OF CURRENT ENTRY AS TAIL    CVM  354
         B        $+2               B; SKIP NEXT INST                   CVM  355
         STB,R3   CVMQBL,R2         S/BLINK                             CVM  356
         STB,R2   CVMQFL,R3         S/FLINK                             CVM  357
QHEAD    LW,R2    CVMQHEAD          L/Q HEAD POINTER                    CVM  358
         BNEZ     $+3               BNEZ; Q NOT EMPTY                   CVM  359
         STW,R4   CVMQTAIL          Q EMPTY, POINT TAIL TO NEW Q ENTRY  CVM  360
         B        $+2               B; SKIP NEXT INST                   CVM  361
         STB,R4   CVMQBL,R2         POINT OLD HEAD BLINK TO NEW HEAD    CVM  362
         STB,R2   CVMQFL,R4         POINT NEW HEAD FLINK TO OLD HEAD    CVM  363
         STW,R4   CVMQHEAD          S/NEW HEAD POINTER                  CVM  364
M250     LW,R6    R4                L/VIRTUAL PAGE # FOR THIS REAL PAGE CVM  365
         SLD,R6   11,R1             SHIFT PAGE DISPLACEMENT INTO R6 WITHCVM  366
*                                   .. PAGE ADR; G/VIRTUAL ADR FOR EXU  CVM  367
         EXU      INANLZ,R1         EXU OBJECT INSTRUCTION              CVM  368
         B        *R15              RETURN                              CVM  369
         PAGE                                                           CVM  370
         LB,R5    CVMVPAE,R3        L/VPA ENTRY; SEE IF IT'S BEEN USED  CVM  372
         BNEZ     $+3               BNEZ; THIS IS FIRST USED PAGE       CVM  373
         BIR,R3   $-2               BIR/CHECK NEXT PAGE                 CVM  374
         B        *R14              RETURN; NOTHING TO Q                CVM  375
         STW,R5   CVMQHEAD          S/HEAD POINTER                      CVM  376
         B        BUILDQ30          B                                   CVM  377
BUILDQ20 LB,R2    CVMVPAE,R3        L/VPA ENTRY                         CVM  378
         BEZ      BUILDQ30          BEZ; NOT IN USE                     CVM  379
BUILDQ25 STB,R2   CVMQFL,R5         S/FLINK                             CVM  380
         STB,R5   CVMQBL,R2         S/BLINK                             CVM  381
         LW,R5    R2                L/CURRENT VPA; SAVE AS LAST VPA     CVM  382
BUILDQ30 BIR,R3   BUILDQ20          BIR/CHECK NEXT CVMVPA ENTRY         CVM  383
         STW,R5   CVMQTAIL          S/TAIL POINTER                      CVM  384
         LW,R3    BINST1            L/'BNEZ M230' INST                  CVM  385
         STW,R3   M045              S/'BNEZ M230' INST                  CVM  386
         B        *R14              RETURN                              CVM  387
BINST1   BNEZ     M230              INST USED TO REPLACE ANOTHER INST   CVM  388
         END                                                            CVM  389
