<< LINES .001/.009 ARE RESERVED FOR SYSTEMS INTEGRATION>>               00000001
$PAGE "DOMRJEDIT: Format MRJE DIT"                                      50000000
$CONTROL SEGMENT=TABLESMR                                               50002000
COMMENT                                                                 50004000
                                                                        50006000
Purpose:                                                                50008000
                                                                        50010000
Input parameters:                                                       50012000
                                                                        50014000
Output parameters:                                                      50016000
                                                                        50018000
Globals Referenced:                                                     50020000
                                                                        50022000
Globals Altered:                                                        50024000
                                                                        50026000
Data Structures:                                                        50028000
                                                                        50030000
Algorithm:                                                              50032000
                                                                        50034000
;                                                                       50036000
PROCEDURE DO'MRJE'DITS;                                       <<MRJE>>  50038000
BEGIN                                                         <<MRJE>>  50040000
                                                              <<MRJE>>  50042000
DOUBLE SCRATCH,DITPTR,LPDTBASE:=%1010D;                       <<MRJE>>  50044000
LOGICAL ARRAY SCR0(*)=SCRATCH;                                <<MRJE>>  50046000
LOGICAL ARRAY SCR1(*)=SCR0(1);                                <<MRJE>>  50048000
LOGICAL WORK1,SIZE,DTYPE;                                     <<MRJE>>  50050000
INTEGER INDX,LDEV,MAX'LDEV;                                   <<MRJE>>  50052000
                                                              <<MRJE>>  50054000
<< START OF PRINTING THE MRJE DITS >>                         <<MRJE>>  50056000
                                                              <<MRJE>>  50058000
<< TEST FOR MRJE INSTALLED >>                                 <<MRJE>>  50060000
                                                              <<MRJE>>  50062000
 SCRATCH := %1000D + %375D;  << ABS MEM FOR CONSMRJE PLABEL>> <<MRJE>>  50064000
 IF CORE( SCRATCH ) = 0 THEN RETURN;  << MRJE NOT INSTALLED>> <<MRJE>>  50066000
                                                              <<MRJE>>  50068000
<< GET HIGHEST LDEV >>                                        <<MRJE>>  50070000
 WORK1:=CORE(LPDTBASE);   <<GET LPDT BASE>>                   <<MRJE>>  50072000
 SCR0:=0;                                                     <<MRJE>>  50074000
 SCR1 := WORK1 + %1000;                                       <<MRJE>>  50076000
 MAX'LDEV := CORE( SCRATCH ).(0:8);                           <<MRJE>>  50078000
                                                              <<MRJE>>  50080000
 FOR LDEV := 1 UNTIL MAX'LDEV DO                              <<MRJE>>  50082000
  BEGIN                                                       <<MRJE>>  50084000
                                                              <<MRJE>>  50086000
   WORK1:=CORE(LPDTBASE); <<GET LPDT BASE>>                   <<MRJE>>  50088000
   SCR0:=0;                                                   <<MRJE>>  50090000
   SCR1:=(LOGICAL(LDEV*2)+%1000+WORK1); <<DITPTR,SYSDB REL>>  <<MRJE>>  50092000
   SCR1:=CORE(SCRATCH);<<GET THE DIT PTR FM LPDT>>            <<MRJE>>  50094000
   SCR1:=SCR1+%1000;                                          <<MRJE>>  50096000
   IF INTEGER(SCR1) <=0 THEN                                  <<MRJE>>  50098000
      GO NOT'MRJE'DEVICE;  << VIRTUAL DEV >>                  <<MRJE>>  50100000
   DITPTR:=SCRATCH;                                           <<MRJE>>  50102000
   SCR1:=CORE(DITPTR+4D);<<GET DLT PTR>>                      <<MRJE>>  50104000
   SCR1:=SCR1+%1000;<<MAKE IT ABSOLUTE>>                      <<MRJE>>  50106000
   WORK1:=CORE(SCRATCH+5D);<<DLT WORD 5/DITSIZE/DEVTYPE>>     <<MRJE>>  50108000
   SIZE:=WORK1.(0:8);                                         <<MRJE>>  50110000
   DTYPE:=WORK1.(8:8);                                        <<MRJE>>  50112000
   IF DTYPE <> 22 THEN GO NOT'MRJE'DEVICE;                    <<MRJE>>  50114000
   MOVE BBUF := "(MRJE DEVICE)";                               <<01791>>50116000
   PRINTLINE;                                                 <<MRJE>>  50118000
   SKIPLINES(1);                                              <<MRJE>>  50120000
   MOVE BBUF(12):="UNIT";                                     <<MRJE>>  50122000
   @PBUF:=@BBUF+17;                                           <<MRJE>>  50124000
   WORK1:=CORE(DITPTR+3D);                                    <<MRJE>>  50126000
   WORK1:=WORK1.(0:8);                                        <<MRJE>>  50128000
   ASCII(WORK1,10,PBUF);                                      <<MRJE>>  50130000
   @PBUF:=@BBUF+32;                                           <<MRJE>>  50132000
   MOVE BBUF(20):="LOGICAL DEV";                              <<MRJE>>  50134000
   ASCII(LDEV,10,PBUF);                                       <<MRJE>>  50136000
   MOVE BBUF(37):="FLAGS =";                                  <<MRJE>>  50138000
   @PBUF:=@BBUF+45;                                           <<MRJE>>  50140000
   WORK1:=CORE(DITPTR);                                       <<MRJE>>  50142000
   PUTNUM(WORK1);<<FLAGS>>                                    <<MRJE>>  50144000
   MOVE BBUF(55):="NEXT DIT =";                               <<MRJE>>  50146000
   WORK1:=CORE(DITPTR+1D);                                    <<MRJE>>  50148000
   @PBUF:=@BBUF+66;                                           <<MRJE>>  50150000
   PUTNUM(WORK1);<<NEXT DIT>>                                 <<MRJE>>  50152000
   MOVE BBUF(74):="DLTP =";                                   <<MRJE>>  50154000
   WORK1:=CORE(DITPTR+4D);                                    <<MRJE>>  50156000
   @PBUF:=@BBUF+81;                                           <<MRJE>>  50158000
   PUTNUM(WORK1);<<DLTP>>                                     <<MRJE>>  50160000
   MOVE BBUF(104):="IOQP =";                                  <<MRJE>>  50162000
   WORK1:=CORE(DITPTR+2D);                                    <<MRJE>>  50164000
   @PBUF:=@BBUF+111;                                          <<MRJE>>  50166000
   PUTNUM(WORK1);<<IOQP>>                                     <<MRJE>>  50168000
   PRINTLINE;                                                 <<MRJE>>  50170000
   SKIPLINES(1);                                              <<MRJE>>  50172000
   IF SIZE=0 THEN RETURN;                                     <<MRJE>>  50174000
   SCRATCH:=DITPTR-%1000D;                                    <<MRJE>>  50176000
                                                               <<03752>>50178000
<< NOW PRINT THE ACTUAL DIT >>                                 <<03752>>50180000
   PRINT'OCTAL'DIT( DITPTR, SCR1, INTEGER( SIZE ));            <<03752>>50182000
                                                               <<03752>>50184000
   SKIPLINES(2);                                              <<MRJE>>  50186000
 NOT'MRJE'DEVICE:                                             <<MRJE>>  50188000
   END;   << END OF LDEV FOR-LOOP >>                          <<MRJE>>  50190000
                                                              <<MRJE>>  50192000
 BBUF:=" ";                                                   <<MRJE>>  50194000
 MOVE BBUF(1):=BBUF,(40);                                     <<MRJE>>  50196000
END  << DO'MRJE'DIT >>;                                       <<MRJE>>  50198000
