ASMB,R,L,C
* 
*     NAME:   $MOP
*     SOURCE: 92064-18022 
*     RELOC:  92064-16010 
*     PROGMR: E.J.W.
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
* 
      NAM $MOP   92064-16010  REV.1650  761118
* 
      ENT $LUPR,$EQST,$BLRQ,$PRRQ 
      EXT $EQCK,$CVT1,$CVT3,$INER,$XEQ,$MSEX
      EXT $BLUP,$BLLO,$MSBF,$WORK,$LIST 
      EXT $UNLK,$XXUP,$DLAY,$DMEQ,$SCD3,$ETEQ 
      EXT $CKLO,$BITB 
* 
A     EQU 0 
B     EQU 1 
* 
* 'LOGICAL UNIT' STATEMENT   (OPTIONAL) 
* 
* FORMAT:  LU,N1(,N2(,N3))   WHERE: 
* 
*           N1 = LOGICAL UNIT # 
*           N2 = 0, EQT ENTRY #, OR NOT PRESENT 
*           N3 = SUBCHANNEL # OR NOT PRESENT IN WHICH 
*                CASE IT DEFAULTS TO ZERO 
* 
* ACTION:  1) N2 AND N3 NOT INPUT;  THE ASSIGNMENT OF 
*                LOGICAL UNIT N1 IS PRINTED AS: 
*                   ' LU #N1 = #XX,U Y'   XX = EQT
*                ENTRY # OF ASSIGNED DEVICE.
*                Y = SUBCHANNEL #;  ,U Y PRINTED IF Y NON-ZERO
* 
*          2) N2 = 0;  THE ASSIGNMENT IS RELEASED,
*                      I.E, THE CORRESPONDING 
*                          WORD IN THE DEVICE 
*                          REFERENCE TABLE (DRT)
*                          IS SET = 0.
* 
*          3) N2 = EQT ENTRY # OF I/O DEVICE TO 
*                  BE ASSIGNED TO LOGICAL UNIT N1;
*                   IF N2 IS A LEGITIMATE EQT #,
*                   THEN N2 AND N3 ARE STORED IN WORD N1
*                   IN THE DRT - ASSIGNMENT OF
*                   LOGICAL UNIT TO PHYSICAL UNIT 
*                   IS MADE.
* 
* CALL (FROM MESSAGE PROCESSOR):
* 
*      (A) = N1 (LOGICAL UNIT) IN BINARY
*   (P)  JMP  $LUPR 
* 
*      RETURN IS TO MESS,I WITH A=0 FOR ACTION
*       TAKEN OR (A) = ADDRESS OF MESSAGE IN 1).
* 
*     THE FOLLOWING LOCATIONS ARE USED AS TEMPORARIES BY LUPR:
*       <P1>:= LU NUMBER              <P2>:= P3,P2   NEW SUBCH-EQT WORD 
*       <DRT1A>:=DRT WORD 1 ADDRESS   <DRT2A>:=DRT WORD 2 ADDRESS 
*       <OEQT1>:=EQT1 ADDRESS OF OLD  <NEQT#>:=NEW DEVICE'S EQT NUMBER
*                DEVICE 
*       <TTEMP>:="NEW DEVICE'S EQT IS <WORD2>:=NEW DEVICE SPLIT SUB.
*                DOWN" FLAG.
*             :=NEW DEVICE'S MAJOR LU 
*       <NINTF>:#0 INITIATE REQUEST   <XLUS>:#0 MORE THAN ONE LU FOR
*                 ON NEW DEVICE                UP OLD DEVICE
*       <SDRT8>:=SEE SUB. SDRT2 
*       <OSBEQ>:=OLD SUBCH-EQT WORD   <OMJLU>:=OLD DEVICE MAJOR-LU
*       <ODML1>:=OLD DEVICE MAJOR-LU  <ODML2>:=OLD DEVICE MAJOR-LU
*                DRT WORD 1 ADDRESS            DRT WORD 2 ADDRESS 
*       <NDML1>:=NEW DEVICE MAJOR-LU  <NDML2>:=NEW DEVICE MAJOR-LU
*                DRT WORD 1 ADDRESS            DRT WORD 2 ADDRESS 
* 
* 
* 
$LUPR STA P1    SAVE  'N1'
      CMA,CLE,INA,SZA,RSS 
      JMP $INER     ERROR IF N1<0 
      ADA LUMAX     OR N1>DRT 
      CCA,SEZ,RSS 
      JMP $INER     YES, UNDEFINED N1.
* 
      ADA P1     LOCATION OF N1 
      ADA DRT        IN DRT.
      STA DRT1A     (SAVE DRT ADDRESS)
      ADA LUMAX 
      STA DRT2A      (SAVE DRT SECOND WORD ADDR)
* 
      LDB $MSBF+8 
      SZB,RSS       ONLY 1 PARAM? 
      JMP LUPR3      YES, PRINT CURR ASSIGNMENT 
* 
      LDA $MSBF+9    NO, GET 'N2' 
      AND B377
      STA TEMP2 
      LDA $MSBF+13  GET 'N3'
      AND B37 
      ALF,ALF       PUT 'N3' IN BITS 11-15
      ALF,RAR 
      ADA TEMP2     PUT 'N2' IN BITS 0-7
      STA P2
* 
* ASSIGN L.U. TO PHYSICAL DEVICE
* 
* 
      CLE           CLEAR (E) FOR LATER 
      LDA P2     CONSTRUCT I/O
      AND B174K      SUBCHANNEL WORD
      ELA,RAL         FOR NEW DEVICE(E WAS
      ALF,RAL          CLEARED)WITH LOWER 
      CLB,SEZ           BITS IN BITS 2-5
      ADA B20K           AND UPPER BIT IN 
      STA WORD2           BIT 13(CLEAR B REG).
* 
      STB NINTF     CLEAR "NEW DEVICE I/O INITIATE" FLAG. 
      STB TTEMP     CLEAR "NEW DEVICE EQT IS DOWN" FLAG.
* 
      LDA DRT1A,I   SAVE
      AND C3700      OLD SUBCH-EQT
      STA OSBEQ      WORD AND 
      AND B77        EQT1 
      SZA,RSS 
      JMP LUP25 
      ADA M1          OF
      MPY .15          OLD(CLEAR B REG.)
      ADA EQTA          DEVICE'S
LUP05 STA OEQT1          EQT. 
* 
      LDA P2     CHECK LEGALITY OF
      AND B77        N2(NEW EQT)AND 
      STA NEQT# 
      SZA,RSS         SET THE EQT 
      JMP LUPR2 
      JSB $EQCK        ADDRESSES. 
* 
*     SPECIAL TEST TO SEE IF MOVING I/O TO A DISK.  ERROR IF SO.
* 
      LDA EQT1
      ADA .4
      LDA A,I 
      AND B36K
      CPA B14K      IS NEW DEVICE A DISK? 
      JMP LU100      YES, CHECK MORE. 
* 
****************************************************************
*     DETERMINE IF THE OLD DEVICE IS UP OR DOWN.
****************************************************************
* 
LUPR1 LDA DRT2A,I   CHECK IF OLD
      SSA            DEVICE IS
      JMP DNXX        UP OR DOWN. 
      SKP 
****************************************************************
*     OLD DEVICE IS UP. IS THERE MORE THAN ONE LU FOR IT? 
****************************************************************
UPXX  LDA LUMAX     SET UP TO SCAN THE LUS
      CMA,INA 
      STA XLUS      IF COUNT GOES TO ZERO THERE IS BUT ONE. 
      LDB DRT       GET ADDRESS OF THE FIRST ONE
LUCO  LDA B,I       GET AN ENTRY
      AND C3700     DROP POSSIBLE LOCK BITS 
      CPA OSBEQ     IF NOT THE SAME 
      CPB DRT1A     OR IF SAME ENTRY
      INB,RSS       SKIP TO GO ROUND AGAIN
      JMP MLUS      ELSE THERE ARE MORE THAN ONE
* 
      ISZ XLUS      COUNT DOWN THE ENTRIES
      JMP LUCO      AROUND WE GO
*************************************************************** 
*  IF THE DEVICE IS UP AND HAS MORE THAN ONE LU THEN ITS
*  QUEUE IS NOT MOVED.  THIS PREVENTS UNWANTED LOSS OF DATA 
*  CAUSED BY UNRELATED LU CHANGES.
*************************************************************** 
* 
*     DETERMINE IF THE NEW DEVICE IS UP OR DOWN.
****************************************************************
MLUS  LDA NEQT#     CHECK IF NEW
      SZA,RSS        DEVICE IS THE
      JMP UPBIT       BIT BUCKET. 
* 
      JSB CKNLU     CHECK IF NEW DEVICE IS UP OR DOWN.
      JMP UPDN       NEW DEVICE IS DOWN.
      ISZ TTEMP      NEW DEVICE'S EQT IS DOWN.
****************************************************************
*     THE OLD AND NEW DEVICE ARE UP OR THE OLD DEVICE IS UP 
*         AND THE NEW DEVICE'S EQT IS DOWN. 
      SKP 
******************************************************************* 
UPUP  LDA P1     NEW DEVICE IS UP.
      CPA .1        CHECK IF OLD
      JMP UPLU1      DEVICE IS LU 1.
* 
UPUP5 LDA XLUS      IF ANOTHER LU EXISTS
      SZA           THEN
      JMP UPMU      DON'T MOVE THE QUEUE
* 
      LDB OEQT1,I    UNLINK I/O REQUESTS FROM THE 
      RBL,CLE,ERB    OLD DEVICE.  SKIP THE
      SZB,RSS 
      LDB OEQT1 
      LDA DRT2A       FIRST I-O REQUEST.
      JSB $UNLK 
      DEF OSBEQ 
* 
      LDB DRT2A,I   RESET WORD 2 OF THE I/O REQUESTS
      JSB FXWD2      TO THE SUBCHANNEL OF THE NEW DEVICE. 
      LDA OEQT1 
      LDB DRT2A,I   LINK THE I/O REQUESTS 
      JSB $XXUP      ON THE NEW DEVICE. 
      STB DRT2A,I   CLEAR UP THE CURRENT LU 
      STA NINTF     SET THE MUST START NEW I/O FLAG 
UPMU  LDA TTEMP     IS THE NEW DEVICE'S 
      SZA,RSS        EQT DOWN?
      JMP LUP50     NO, SO CONTINUE.
* 
      LDB EQT1,I     YES, SO
      RBL,CLE,ERB     UNSTACK 
      SZB,RSS          NORMAL USER
      LDB EQT1          I/O(SKIP FIRST
      JMP DNDE5          ENTRY)AND CONTINUE.
* 
XLUS  NOP 
      SKP 
UPLU1 LDA EQT5,I    GET DEVICE
      AND B374C      TYPE OF THE
      SZA,RSS         NEW DEVICE AND SEE
      JMP UPLU2        IF IT IS LEGAL 
      CPA B2400         (00 OR 05 SUB 0)
      RSS                FOR A SYSTEM 
      JMP $INER            CONSOLE. 
      LDA WORD2 
      SZA 
      JMP $INER 
* 
UPLU2 LDA TTEMP     MAKE SURE NEW DEVICE'S
      SZA            EQT IS NOT DOWN. 
      JMP $INER 
      LDA EQT1      SET NEW SYSTEM CONSOLE
      STA SYSTY      ADDRESS IN BASE PAGE.
      JMP UPUP5     GO TRANSFER I/O.
* 
UPBIT LDA P1        CHANGING AN UP DEVICE TO
      CPA .1         THE BIT BUCKET.  ERROR 
      JMP $INER        IF THE OLD DEVICE IS 
      JMP UPUP5        THE SYSTEM CONSOLE.
* 
* 
B374C OCT 37400 
      SKP 
******************************************************************
*     THE OLD DEVICE IS UP AND THE NEW DEVICE IS DOWN.
********************************************************************* 
UPDN  STB TTEMP     SAVE LU# OF FIRST LU(MAJOR LU)OF NEW DEVICE.
      STA NDML2     SAVE DRT WORD 2 ADDRESS OF NEW-MAJOR-LU.
      ADB M1        COMPUTE NEW-
      ADB DRT        MAJOR-LU 
      STB NDML1       DRT WORD 1. 
* 
      LDB P1     CHECK IF THIS
      CPB .1         WILL SET LU
      JMP $INER        1 DOWN.
* 
      LDB TTEMP     CHECK IF LU IS
      CMB,INB        LOWER THEN THE 
      ADB P1       MAJOR LU FOR 
      SSB,RSS          THE NEW DOWNED 
      JMP UPDN5         DEVICE. 
* 
      LDB A,I       LU IS BELOW NEW DEVICE'S MAJOR LU.
      STB DRT2A,I   MOVE I/O FROM MAJOR LU TO LU. 
      LDB XLUS      IF CURRENT DEVICE STILL HAS AN LU 
      SZB            THEN SKIP THE MOVE 
      JMP DNDN6 
* 
      LDB DRT2A     CHASE DOWN ENTRIES IN THE 
      JSB CHASE      DOWNED I/O QUEUE TO ITS END
      LDA B 
* 
      LDB OEQT1,I    UNLINK I/O REQUESTS FOR THE
      RBL,CLE,ERB    OLD DEVICE AND ADD TO
      SZB,RSS 
      LDB OEQT1 
      JSB $UNLK       THE I-O QUEUE. SKIP FIRST ENTRY.
      DEF OSBEQ 
      JMP DNDN6     GO MODIFY LU'S FOR THE NEW DEVICE.
* 
* 
UPDN5 LDB XLUS      IF STILL HAVE AN LU FOR THIS DEVICE 
      SZB            THEN SKIP THE MOVE 
      JMP UPDN6 
* 
      LDB NDML2     NEW DEVICE'S MAJOR LU IS BELOW LU.
      JSB CHASE     CHASE DOWN THIS I-O QUEUE 
      LDA B          TO ITS END.
* 
      LDB OEQT1,I    UNLINK I/O REQUESTS
      RBL,CLE,ERB    FOR THE OLD DEVICE 
      SZB,RSS         (SKIP FIRST REQUEST)AND 
      LDB OEQT1        ADD TO DOWNED LU I/O 
      JSB $UNLK         QUEUE.
      DEF OSBEQ 
* 
UPDN6 LDA TTEMP     SET 
      ADA MSIGN      THE LU 
      STA DRT2A,I     DOWN. 
      JMP LUP50     GO FINISH.
      SKP 
****************************************************************
*     THE OLD DEVICE IS DOWN. 
******************************************************************* 
*     DETERMINE IF THE NEW DEVICE IS UP OR DOWN.
* 
DNXX  LDA NEQT#     CHECK IF
      SZA,RSS        NEW DEVICE 
      JMP DNUP        IS BIT BUCKET.
* 
      JSB CKNLU     CHECK IF NEW DEVICE IS UP OR DOWN.
      JMP DNDN       NEW DEVICE IS DOWN.
      JMP DNDNE      NEW DEVICE'S EQT IS DOWN.
****************************************************************
*     THE OLD DEVICE IS DOWN AND THE NEW DEVICE IS UP(OR BIT BUCKET)
**********************************************************************
DNUP  JSB DETOL     DETERMINE THE OLD-MAJOR-LU. 
      LDB ODML2,I   RESET WORD 2 OF I/O REQUESTS
      JSB FXWD2      TO THE SUBCHANNEL OF THE NEW DEVICE. 
* 
      LDA OEQT1 
      LDB ODML2,I   LINK OLD DEVICE'S I/O REQUESTS
      JSB $XXUP      ON THE NEW DEVICE. 
      STA NINTF 
* 
      JSB FOLDD     FIX ALL OLD DOWNED LU'S THAT NEED IT. 
      JMP LUP52 
******************************************************************
*     THE OLD DEVICE IS DOWN AND THE NEW DEVICE'S EQT IS DOWN.
********************************************************************* 
DNDNE JSB DETOL     DETERMINE OLD DEVICE'S MAJOR-LU 
      LDA OEQT1     LINK OLD DEVICE'S I/O REQUESTS ON THE 
      LDB ODML2,I    NEW DEVICE'S EQT.
      JSB $XXUP 
      STA NINTF 
* 
      JSB FOLDD     FIX OLD DOWNED DEVICE'S LU'S THAT NEED IT.
* 
      LDB EQT1      UNLINK ANY NORMAL USER
DNDE5 CLA            I/O FROM THE NEW DEVICE'S EQT. 
      JSB $UNLK 
      DEF P2
      JMP LUP50 
      SKP 
****************************************************************
*     THE OLD AND NEW DEVICES ARE DOWN. 
********************************************************************* 
DNDN  STB TTEMP     SAVE NEW DEVICE MAJOR-LU AND
      STA NDML2      ITS DRT WORD 2 ADDRESS.
      ADB M1        SAVE ITS
      ADB DRT        DRT WORD 
      STB NDML1       2 ADDRESS.
* 
      JSB DETOM     DETERMINE THE OLD DEVICE'S MAJOR LU 
* 
      LDB TTEMP     CHECK IF NEW
      CMB,INB        NEW DEVICE'S MAJOR 
      ADB P1          LU IS < LU. 
      SSB,RSS       LU < NEW DEVICE'S MAJOR LU. 
      JMP DNDN5 
* 
DNDN9 LDB DRT2A     LU IS BELOW NEW DEVICE'S MAJOR LU.
      JSB CHASE     CHASE DOWN THE LU'S I/O 
      LDA NDML2,I    QUEUE TO ITS END AND 
      RAL,CLE,ERA     ADD THERE THE NEW DEVICE'S
      STA B,I          MAJOR-LU I/O QUEUE.
* 
      LDA OMJLU     IF OLD MAJOR LU EQUALS TO 
      CPA P1         LU, THEN FIX UP OLD DEVICE'S 
      RSS             LU'S TO INCLUDE THE NEW OLD-
      JMP DNDN6        MAJOR-LU.  OTHERWIZE, CONTINUE.
* 
      LDA OSBEQ     A=OLD SUBCHANNEL-EQT WORD.
      LDB DRT1A 
      INB           B=LU WORD 1 ADDRESS + 1.
      JSB FXOLD     GO FIX OLD DEVICE'S LU'S. 
* 
DNDN6 LDA P2        MODIFY ALL LU'S 
      STA SSBEQ      FOR NEW DEVICE 
      LDA P1          TO POINT TO 
      IOR MSIGN        LU.
      LDB NDML1 
      CLE 
      JSB SDRT2 
      JMP LUP50 
      SKP 
DNDN5 SZB,RSS       CASE WHERE OLD AND NEW DEVICES ARE
      JMP LUP60      BOTH DOWN AND EQUAL. 
* 
      LDB NDML2     LU > NEW DEVICE MAJOR-LU. 
      JSB CHASE     CHASE DOWN THE NEW MAJOR-LU'S.
      CCA            I/O QUEUE TO ITS END.
* 
      ADA DRT       CALCULATE DRT 
      ADA OMJLU      WORD 2 OF
      STA ODML1       OLD MAJOR-LU. 
* 
      ADA LUMAX     LINK OLD MAJOR LU I/O 
      LDA A,I 
      RAL,CLE,ERA    QUEUE TO END OF NEW
      STA B,I         MAJOR I/O QUEUE.
* 
      LDA TTEMP     MAKE LU POINT TO
      IOR MSIGN      NEW DEVICE MAJOR-LU. 
      STA DRT2A,I 
* 
      LDA OMJLU     IF LU = OLD 
      CPA P1         MAJOR-LU,
      RSS             THEN CONTINUE,
      JMP LUP50        ELSE DONE. 
* 
      LDA OSBEQ     FIX OLD 
      LDB ODML1      DEVICE'S 
      INB             LU'S. 
      JSB FXOLD 
      SKP 
******************************************************************
*     FINISH SWITCHING LU 
******************************************************************* 
LUP50 LDA DRT1A,I   SET UP DRT
      AND B3700      WORD 1 WITH
      ADA P2       NEW DEVICE AND 
      STA DRT1A,I      OLD LOCK FLAG. 
* 
LUP52 LDA NINTF     CHECK IF AN I/O 
      SZA,RSS        OPERATION MUST BE
      JMP LUP55       INITIATED ON THE NEW EQT. 
      CPA $DMEQ     YES, IF THE NEW DEVICE IS THE BIT BUCKET, 
      JMP LUP80      THEN SET A FLAG FOR IOCX.
      JSB $DLAY     IF NOT,SET A TIMEOUT FOR INITIATION.
* 
LUP55 LDA .4        SCHEDULE ANY WAITERS ON 
      JSB $SCD3      DOWNED DEVICES.
      LDA OEQT1     SET UP THE OLD DEVICE'S 
      JSB $ETEQ      EQT ADDRESSES, CHECK BUFFER
      JSB $CKLO       LIMITS AND SCHED WAITERS. 
* 
      LDA P1     IF LU CHANGED WAS
      CPA .1         SYSTEM CONSOLE THEN
      JMP LUP70       ISSUE A MESSAGE.
* 
LUP60 CLA 
      JMP EXT2      OTHERWIZE, RETURN.
* 
LUP70 LDA NSYSM     ISSUE '**' MESSAGE. 
      JMP EXT2
* 
LUP80 ISZ $BITB     SET A FLAG FOR IOCX SO THAT 
      JMP LUP55      IT WILL CLEAN OUT THE BIT BUCKET.
* 
LUPR2 LDA $DMEQ     SET UP DUMMY
      JSB $ETEQ      EQT ADDRESES FOR 
      JMP LUPR1       THE BIT BUCKET. 
* 
LUP25 LDA $DMEQ 
      JMP LUP05 
      SKP 
* 
*     SPECIAL TEST TO DISALLOW SWTCHING AN LU TO A DISK IF THE
*       LU HAS I/O STACKED ON IT(OR IT'S EQT).
* 
LU100 LDA DRT2A,I   DOES THE LU 
      RAL,CLE,ERA    HAVE ANY I/O 
      SZA             HUNG ON IT? 
      JMP $INER      YES, ISSUE ERROR MESSAGE.
* 
      SEZ           IF NO I/O AND LU IS DOWN, 
      JMP LUPR1      THEN ALLOW SWTCH.
      LDA OEQT1,I   OTHERWIZE, IF UP AND I/O IS 
      SZA,RSS        HUNG ON THE OLD EQT, THEN
      JMP LUPR1       ALLOW SWITCH. 
* 
      LDA OEQT1     OTHERWISE, IF UP WITH I/O HUNG ON 
      ADA .4         OLD EQT AND OLD EQT IS A DISC, 
      LDA A,I        THEN ALLOW SWITCH. 
      AND B36K      OTHERWISE, OLD EQT IS UP WITH I/O HUNG
      CPA B14K       ON IT AND IT ISN'T A DISC.  THEREFORE, 
      JMP LUPR1      CAN'T ALLOW SWITCH SINCE WE CAN'T
      JMP $INER      ALLOW ANY CLASS I/O TO A DISC. 
* 
* 
******************************************************************
*     DISPLAY LU AND IT'S STATUS
******************************************************************
* 
LUPR3 LDA P1     GET AND
      JSB $CVT1      SAVE THE 
      STA LUMSG+2     ASCII LU #. 
      LDA DRT1A,I   GET AND 
      AND B77        SAVE 
      JSB $CVT1       THE ASCII 
      STA LUMSG+5      EQT #. 
      LDA DRT1A,I   CHECK IF
      AND B174K      A SUBCHANNEL 
      CCE,SZA         IS SPECIFIED. 
      JMP LUP14 
      LDA DBLBK     IF SUBCHANNEL=0,
      STA LUMSG+6    THEN DO NOT DISPLAY
      JMP LUP15       THE SUBCHANNEL. 
* 
LUP14 LDB BLS       IF SUBCHANNEL#0,
      STB LUMSG+6    THEN DISPLAY 
      ALF,RAL         THE ASCII 
      JSB $CVT1        SUBCHANNEL.
LUP15 STA LUMSG+7 
      LDB DBLBK     CHECK IF
      LDA DRT2A,I    THE DEVICE 
      SSA             IS UP OR
      LDB EQBD         DOWN. IF 
      STB LUMSG+8       DOWN, 
      LDA LUMGA          PRINT A "D". 
EXT2  JMP $MSEX     RETURN
* 
      SKP 
* 
*     VARIABLES, CONSTANTS AND BUFFERS FOR LUPR 
* 
NSYSM DEF *+1 
      DEC -2
      ASC 1,**
* 
LUMGA DEF *+1 
      DEC -18 
LUMSG ASC  9,LU #N1 = EXX SYY 
* 
B174K OCT 174000
B176K OCT 176000
B20K  OCT 20000 
B14K  OCT 14000 
B36K  OCT 36000 
B77   OCT 77
B377  OCT 377 
B3700 OCT 3700
C3700 OCT 174077
MSIGN OCT 100000
.1    DEC 1 
.4    DEC 4 
.15   DEC 15
M1    DEC -1
* 
DBLBK ASC 1,
BLS   ASC 1, S
* 
DRT1A NOP 
DRT2A NOP 
NINTF NOP 
TTEMP NOP 
OEQT1 NOP 
NEQT# NOP 
WORD2 NOP 
OSBEQ NOP 
OMJLU NOP           OLD DEVICE MAJOR LU.
ODML1 NOP           OLD DEVICE MAJOR-LU DRT WORD 1 ADDRESS. 
ODML2 NOP           OLD DEVICE MAJOR-LU DRT WORD 2 ADDRESS. 
NDML1 NOP           NEW DEVICE MAJOR-LU DRT WORD 1 ADDRESS. 
NDML2 NOP           NEW DEVICE MAJOR-LU DRT WORD 2 ADDRESS. 
* 
P1    NOP 
P2    NOP 
B37   OCT 37
                                                                                                                                                                                                                                