LIO TITLE 'DMSLIO (CMS) VM/370 - RELEASE 6' 00001000 SPACE 2 00002000 *. 00003000 * 00004000 * 00005000 * 00006000 * MODULE NAME: 00007000 * 00008000 * DMSLIO 00009000 * 00010000 * FUNCTION: 00011000 * 00012000 * CREATES THE LOAD MAP ON DISK AND TYPES IT AT THE 00013000 * TERMINAL; PERFORMS DISK AND TYPEWRITER OUTPUT FOR 00014000 * DMSLDR. 00015000 * 00016000 * ATTRIBUTES: 00017000 * 00018000 * REENTRANT, NUCLEUS RESIDENT 00019000 * 00020000 * ENTRY POINTS: 00021000 * 00022000 * DMSLIO 00023000 * 00024000 * ENTRY CONDITIONS: 00025000 * 00026000 * R5 - FUNCTION CODE 00027000 * R11 - ADDRESS OF DMSLIO 00028000 * R14 - RETURN 00029000 * 00030000 * EXIT CONDITIONS: 00031000 * 00032000 * NORMAL - RETURN VIA R14 00033000 * 00034000 * ERROR - MESSAGES RETURN CODE 00035000 * 00036000 * 001E NO FILENAME SPECIFIED (FROM DMSLOA) 24 00037000 * 002E FILE 'FN FT' NOT FOUND 28 00038000 * 003E INVALID OPTION 'OPTION' 24 00039000 * 005E NO 'OPTION' SPECIFIED 24 00040000 * 021E ENTRY POINT 'NAME' NOT FOUND 40 00041000 * 029E INVALID PARAM IN OPTION FIELD 24 00042000 * 055E NO ENTRY POINT DEFINED 40 00043000 * 056E FILE CONTAINS INVALID RECORD FORMATS 32 00044000 * 099E CMS/DOS ENVIRONMENT ACTIVE 40 00045000 * 104S ERROR READING FILE ON DISK 100 00046000 * 105S ERROR WRITING FILE ON DISK 100 00047000 * 109S VIRTUAL STORAGE CAPACITY EXCEEDED 104 00048000 * 116S LOADER TABLE OVERFLOW 104 00049000 * 168S PSEUDO REGISTER TABLE OVERFLOW 104 00050000 * 169S ESDID TABLE OVERFLOW 104 00051000 * 201W THE FOLLOWING NAMES ARE UNDEFINED: 4 00052000 * 202W DUPLICATE IDENTIFIER 'IDENTIFIER' 4 00053000 * 203W 'SET LOCAT COUNTER ' NAME UNDEFINED 4 00054000 * 206W PSEUDO REGISTER ALIGNMENT ERROR 4 00055000 * 740I EXECUTION BEGINS.. (FROM DMSLDR) -- 00056000 * 907T I/O ERROR ON FILE 'FN FT FM' 256 00057000 * 00058000 * CALLS TO OTHER ROUTINES: 00059000 * 00060000 * DMSERS - TO ERASE OLD LOAD MAP 00061000 * DMSBTSA- TO WRITE NEW LOAD MAP 00062000 * DMSCWRB- TO TYPE A LINE AT THE TERMINAL 00063000 * DMSFNS - TO CLOSE WRITING 00064000 * 00065000 * EXTERNAL REFERENCES: 00066000 * 00067000 * NUCON, LDRST 00068000 * 00069000 * TABLES/WORKAREAS: 00070000 * 00071000 * NONE 00072000 * 00073000 * REGISTER USAGE: 00074000 * 00075000 * R11 - BASE 00076000 * R14 - RETURN 00077000 * R13 - LDRST 00078000 * R0-10,15 - WORK 00079000 * R12 - NOT USED 00080000 * 00081000 * OPERATION: 00082000 * 00083000 * THE DMSLIO ROUTINE IS ENTERED BY SEVERAL CMS ROUTINES. 00084000 * AT EACH ENTRY, IT WRITES DATA FOR THE LOAD MAP ON DISK 00085000 * (UNLESS THE NOMAP OPTION SPECIFIED BY THE USER). IF 00086000 * THE USER HAS SPECIFIED THE TYPE OPTION, TYPES OUT THE 00087000 * MAP AT THE USER'S TERMINAL. AT THE END OF LOADING 00088000 * DMSLIO CLOSES THE MAP FILE AND RETURNS TO THE USER. 00089000 *. 00090000 EJECT 00091000 SPACE 2 00092000 DMSLIO START 00093000 USING NUCON,R0 00094000 USING *,BASE 00095000 USING LDRST,R13 00096000 SPACE 2 00097000 STM 14,10,APSV SAVE REGISTERS 00098000 LA R4,OUTBUF ADDRESS OF MESSAGE SUBSTITUTIONS 00099000 TABLEAD LH AD,MESSTBL(INDEX) GET ROUTINE ADDRESS FROM TABLE 00100000 BAL RET,0(AD,BASE) GO TO SPECIFIRD ROUTINE 00101000 SPACE 2 00102000 RETURN LM 14,10,APSV RESTORE REGISTERS 00103000 LA 11,1 RESET 11 FOR LDR 00104000 BR 14 BACK TO USER 00105000 CODERET CH R15,LDRADDR+6 IS THIS ERROR CODE HIGHER 00106000 BNH NOSTORE NO, LEAVE CODE ALONE 00107000 STH R15,LDRADDR+6 SAVE NEW ERROR CODE 00108000 NOSTORE LM R14,R10,APSV RESTORE REGS 00109000 LA R11,1 00110000 BR R14 RETURN 00111000 EJECT 00112000 DSKMESS LH AD,MESSTBL+2(INDEX) GET MESSAGE ADDRESS FROM TABLE 00113000 LA AD,0(AD,BASE) FORM COMPLETE ADDRESS 00114000 SR 7,7 GET MESSAGE LENGTH FOR MOVE 00115000 IC 7,0(0,AD) ... 00116000 EX 7,MESSMVC MOVE MESSAGE TO BUFFER 00117000 BAL RET,DSKMAP PUT MESSAGE IN MAP 00118000 B RETURN V0304 00119000 SPACE 2 00120000 CMSET EQU * PRINT HEADING FOR COMMON 00121000 PRSET BAL RET,DSKMAP & PR'S. BLANK LINE 00122000 LH ADX,MESSTBL+2(INDEX) GET MESS ADDR FROM TABLE 00123000 LA ADX,0(ADX,BASE) FORM COMPLETE ADDRESS 00124000 LM FIRST,LAST,0(ADX) MESSAGE INTO GPR'S 00125000 STM FIRST,LINE1,OUTBUF FIRST LINE 00126000 BAL RET,DSKMAP WRITE IT OUT 00127000 STM LINE2,LAST,OUTBUF SECOND LINE 00128000 BAL RET,DSKMAP WRITE IT OUT 00129000 BAL RET,DSKMAP BLANK LINE 00130000 B RETURN V0304 00131000 SPACE 3 00132000 PRVAL EQU * 00133000 CMVAL EQU * LIST COMMON & PR ENTRIES 00134000 CLI 0(PTR),X'FF' CHECK FOR CXD ENTRY (STARTS FF) 00135000 BNE PRGO NOT CXD, PROCEED 00136000 LA INDEX,CXD SET FOR CXD 00137000 B TABLEAD BACK TO BEGINNING 00138000 PRGO EQU * 00139000 LH AD,MESSTBL+2(INDEX) GET MVC ADD FROM TABLE 00140000 LA NUM,12(0,PTR) GET ADDRESS OF VALUE 00141000 BAL RET,HEXSUB GO CONVERT FOR HEX PRINTOUT 00142000 EX 0,0(AD,BASE) MOVE VALUE TO BUFFER 00143000 LA NUM,8(0,PTR) GET ADDRESS OF LENGTH 00144000 BAL RET,HEXSUB GO CONVERT FOR HEX PRINTOUT 00145000 EX 0,6(AD,BASE) MOVE LENGTH TO BUFFER 00146000 MVC OUTBUF(8),0(PTR) MOVE NAME TO BUFFER 00147000 BAL RET,DSKMAP WRITE LINE OUT 00148000 B RETURN V0304 00149000 EJECT 00150000 ENTPNT LM 0,1,0(PTR) GET NAME INTO GPR'S 00151000 L 2,=C' ' BLANK AFTER NAME 00152000 TM 16(PTR),X'02' IS THIS A SECTION DEFINITION 00153000 BNO ENTPNT1 NO 00154000 L R2,=C' SD ' YES, USE ' SD ' 00155000 ENTPNT1 STM 0,2,OUTBUF PUT 'NAME AT' IN BUFFER 00156000 LA NUM,12(0,PTR) ADDR. OF VALUE OF ENTRY 00157000 BAL RET,HEXSUB CONVERT TO HEX GRAPHUCS 00158000 MVC OUTBUF+12(6),UNPACK+2 MOVE TO OUT BUFFER V0143 00159000 BAL RET,DSKMAP WRITE IT OUT 00160000 TM OSSFLAGS,DYLD DYNAMIC LOAD @V1D1705 00161000 BNO RETURN NO @V1D1705 00162000 L R2,PARMLIST GET REQUESTED PHASE NAME @V1D1705 00163000 SH R2,=H'8' @V1D1705 00164000 CLC 0(8,PTR),0(R2) IS THIS REQ. NAME @V1D1705 00165000 BNE RETURN NO @V1D1705 00166000 MVC ALIASENT(4),12(PTR) SAVE ADDR FROM LDR TBL @V1D1705 00167000 OI OSSFLAGS,X'04' INDICATE EP NAME FND IN TEXT @V1D1705 00168000 B RETURN V0304 00169000 SPACE 2 00170000 CXDVAL BAL RET,DSKMAP BLANK LINE 00171000 LA NUM,12(0,PTR) ADDRESS OF VALUE 00172000 BAL RET,HEXSUB CONVERT TO HEX GRAPHICS 00173000 MVC OUTBUF+24(4),UNPACK+4 VALUE TO BUFFER 00174000 B DSKMESS GO PROCESS MESSAGE 00175000 SPACE 2 00176000 HEXSUB MVC PACK(4),0(NUM) MOVE NO TO TEMP LOCATION 00177000 UNPK UNPACK(9),PACK(5) UNPACK IT 00178000 TR UNPACK(8),CONHEX CONVERT TO GRAPHICS 00179000 BR RET BACK TO CALLER 00180000 EJECT 00181000 LDRSET MVC TYPLIN(DSECTN-DSECTS),TYPSET PUT P LISTS INTO FREE STOR 00182000 LA AD,OUTPUT GET ADDRESS OF OUT BUFFER 00183000 ST AD,DSKAD PUT ADDRESS INTO DISK P LIST 00184000 MVC TYPEAD+1(3),DSKAD+1 PUT ADDRESS INTO TYPE P LIST 00185000 OUTMOV MVC OUTBUF(99),OUTPUT BLANK OUT BUFFER 00186000 TM FLAG1,NOERASE DO WE ERASE LOAD MAP 00187000 BC 1,RETURN V0304 00188000 OI FLAG1,NOERASE DON'T ERASE UNLESS RESET 00189000 LA 1,DSKLIN GO ERASE LOAD MAP 00190000 L R15,AERASE V0304 00191000 BALR R14,R15 V0304 00192000 MVC DSKLIN(5),DSKSET RESET CALL TO WRBUF 00193000 B RETURN BACK TO CALLER V0304 00194000 SPACE 2 00195000 LDRFIN L R15,AFINIS CLOSE LOAD MAP V0304 00196000 LA R1,DSKLIN FINIS LOAD MAP V0304 00197000 BALR R14,R15 V0304 00198000 B RETURN V0304 00199000 SPACE 3 00200000 TYPMAP LA 1,TYPLIN ADDRESS OF P LIST 00201000 SVC X'CA' GO TYPE 00202000 DC AL4(*+4) NO ERRORS 00203000 B DSKWRT 00204000 SPACE 1 00205000 DSKMAP TM OSSFLAGS,DYLD DYNAMIC LOAD @V1D1705 00206000 BO CLRBUF YES, NOMAP NOTYPE @V1D1705 00207000 TM FLAG2,TYPE TYPE MAP AT TERMINAL @V1D1705 00208000 BO TYPMAP YES TYPE ONLINE 00209000 DSKWRT EQU * V0304 00210000 TM FLAG2,NOMAP WAS NOMAP SPECIFIED 00211000 BO CLRBUF CLEAR OUTPUT BUFF, NO WRITE 00212000 LA 1,DSKLIN GET P LIST ADD FOR LMAP WRITE 00213000 L R15,AWRBUF WRITE TO MAP V0304 00214000 BALR R14,R15 V0304 00215000 BZ CLRBUF IF NO ERROR FROM WRBUF, BRANCH @VM03062 00216000 LR R2,R15 SAVE RETURN CODE IN REG. 2 @VM03062 00217000 LA R4,8(,R1) POINT TO FILEID FOR ERROR MSG. @VM03062 00218000 OI FLAG2,NOMAP SUPPRESS MAP FILE (LET LDR END) @VM03062 00219000 B ERR105S GIVE ERROR MESSAGE... @VM03062 00220000 CLRBUF EX 0,OUTMOV BLANK OUT BUFF 00221000 BR RET BACK TO CALLER 00222000 SPACE 2 00223000 *********************************************************************** 00224000 * 00225000 * TERMINAL MESSAGES 00226000 * 00227000 *********************************************************************** 00228000 SPACE 00229000 ERR056E LA R2,FNAME POINT TO FILE ID 00230000 DMSERR TEXT=('FILE ''....................''', @V1D1705X00231000 ' CONTAINS INVALID RECORD FORMATS'), P3009X00232000 NUM=56,LET=E,SUB=(CHAR8A,(R2)),TYPCALL=BALR @V305614 00233000 LA R15,32 RETURN CODE 00234000 B CODERET 00235000 SPACE 00236000 ERR201W DMSERR TEXT='THE FOLLOWING NAMES ARE UNDEFINED:', X00237000 DOT=NO, *00238000 LET=W,NUM=201,TYPCALL=BALR @V305614 00239000 MVC OUTBUF(34),=C'THE FOLLOWING NAMES ARE UNDEFINED:' 00240000 BAL RET,DSKWRT PUT IN LOAD MAP 00241000 B RETURN 00242000 SPACE 2 00243000 ERR202W DMSERR TEXT='DUPLICATE IDENTIFIER ''........''', P3009X00244000 SUB=(CHARA,(R4)),NUM=202,LET=W,TYPCALL=BALR @V305614 00245000 LA R15,4 RETURN CODE 00246000 B CODERET 00247000 SPACE 2 00248000 ERR203W DMSERR TEXT='SET LOCATION COUNTER X00249000 NAME ''........'' UNDEFINED', P3009X00250000 SUB=(CHARA,(R4)),NUM=203,LET=W,TYPCALL=BALR @V305614 00251000 LA R15,4 RETURN CODE 00252000 B CODERET 00253000 SPACE 2 00254000 ERR002E DMSERR TEXT='FILE ''........ TXTLIB'' NOT FOUND', P3009X00255000 SUB=(CHARA,(R4)),NUM=2,LET=E,TYPCALL=BALR @V305614 00256000 LA R15,28 RETURN CODE 00257000 B CODERET 00258000 SPACE 2 00259000 ERR005E DMSERR TEXT='NO ''................'' SPECIFIED', X00260000 NUM=5,LET=E,SUB=(CHAR8A,(R4)),TYPCALL=BALR @V305614 00261000 LA R15,24 00262000 B CODERET 00263000 SPACE 00264000 ERR206W DMSERR TEXT='PSEUDO REGISTER ALIGNMENT ERROR',NUM=206,LET=W, X00265000 TYPCALL=BALR @V305614 00266000 LA R15,4 RETURN CODE 00267000 B CODERET 00268000 SPACE 2 00269000 ERR004E DMSERR TEXT='ENTRY POINT ''........'' NOT FOUND', P3009X00270000 SUB=(CHARA,(R4)),NUM=21,LET=E,TYPCALL=BALR @V305614 00271000 LA R15,40 RETURN CODE 00272000 B CODERET 00273000 SPACE 2 00274000 ERR003E DMSERR TEXT='INVALID OPTION ''........''', P3009X00275000 SUB=(CHARA,(R4)),NUM=3,LET=E,TYPCALL=BALR @V305614 00276000 LA R15,24 RETURN CODE 00277000 B CODERET 00278000 SPACE 2 00279000 ERR029E DMSERR TEXT=('INVALID PARAMETER ''........''', P3009X00280000 ' IN THE OPTION ''ORIGIN'' FIELD'), P3009X00281000 NUM=29,LET=E,SUB=(CHARA,(R4)),TYPCALL=BALR @V305614 00282000 LA R15,24 RETURN CODE 00283000 B CODERET 00284000 SPACE 2 00285000 ERR055E DMSERR TEXT='NO ENTRY POINT DEFINED',NUM=055,LET=E, @V305614X00286000 TYPCALL=BALR @V305614 00287000 LA R15,40 RETURN CODE 00288000 B CODERET 00289000 SPACE 2 00290000 ERR099E DMSERR TEXT='CMS/DOS ENVIRONMENT ACTIVE',LET=E,NUM=99, X00291000 TYPCALL=BALR @V305614 00292000 LA R15,RC40 RETURN CODE @V305066 00293000 B CODERET RETURN @V305066 00294000 SPACE 00295000 ERR104S LR R3,R15 V0314 00296000 DMSERR TEXT=('ERROR ''..'' READING FILE', X00297000 ' ''....................'' FROM DISK'), X00298000 NUM=104,LET=S,TYPCALL=BALR, X00299000 SUB=(DEC,(R3),CHAR8A,(R4)),MF=(E,PLISTSAV) 00300000 LA R15,100 RETURN CODE 00301000 B CODERET 00302000 SPACE 2 00303000 ERR105S DMSERR TEXT=('ERROR ''..'' WRITING FILE ', P3009X00304000 '''....................'' ON DISK'),NUM=105,LET=S, X00305000 SUB=(DEC,(R2),CHAR8A,(R4)), X00306000 MF=(E,PLISTSAV),TYPCALL=BALR @V305614 00307000 EX R0,OUTMOV CLEAR THE OUTPUT BUFFER. @VM03062 00308000 LA R15,100 RETURN CODE 00309000 B CODERET 00310000 SPACE 2 00311000 ERR109S DMSERR TEXT='VIRTUAL STORAGE CAPACITY EXCEEDED',NUM=109,LET=S,X00312000 TYPCALL=BALR @V305614 00313000 LA R15,104 RETURN CODE 00314000 B CODERET 00315000 SPACE 2 00316000 ERR116S DMSERR TEXT='LOADER TABLE OVERFLOW',NUM=116,LET=S, @V305614X00317000 TYPCALL=BALR @V305614 00318000 LA R15,104 RETURN CODE 00319000 B CODERET 00320000 ERR168S DMSERR TEXT='PSEUDO REGISTER TABLE OVERFLOW',NUM=168,LET=S, X00321000 TYPCALL=BALR @V305614 00322000 LA R15,104 00323000 B CODERET 00324000 SPACE 2 00325000 ERR169S DMSERR TEXT='ESDID TABLE OVERFLOW',LET=S,NUM=169, @V305614X00326000 TYPCALL=BALR @V305614 00327000 LA R15,104 00328000 B CODERET 00329000 SPACE 2 00330000 ERR907T DMSERR TEXT='I/O ERROR ON FILE ''....................''', X00331000 SUB=(CHAR8A,(R4)),NUM=907,LET=T,TYPCALL=BALR 00332000 LA R15,256 RETURN CODE 00333000 B CODERET 00334000 EJECT 00335000 DS 0F 00336000 DSECTS EQU * 00337000 TYPSET DC CL8'TYPLIN' NAME OF SVC 00338000 DC X'01' CONSOLE # 00339000 DC AL3(0) BUFFER ADDRESS 00340000 DC C'B' COLOR SHIFT 00341000 DC AL3(100) BUFFER LENGTH 00342000 DSKSET DC CL8'WRBUF' NAME OF SVC 00343000 DC CL8'LOAD' FILE NAME 00344000 DC CL8'MAP' FILE TYPE 00345000 DC CL2'A5' MODE 00346000 DC H'0' ITEM NO 00347000 DC A(*) ADDRESS OF BUFFER 00348000 DC F'100' LENGTH OF BUFFER 00349000 DC CL2'F' FIXED VARIABLE FLAG 00350000 DC H'1' NO. OF ITEMS 00351000 DC X'00' SPACE FILLER 00352000 HEXPSET DC XL4'00' FOR 'PACK' 00353000 DC X'FF' ... 00354000 HEXUSET DC XL8'00' FOR 'UNPACK' 00355000 DC X'FF' ... 00356000 BUFSET DC C' ' BLANK FOR BUFF CLEAR 00357000 DSECTN EQU * 00358000 SPACE 2 00359000 MESSMVC MVC OUTBUF(1),1(AD) TO MOVE MESSAGE INTO BUFFER 00360000 SPACE 2 00361000 FIRST EQU 0 00362000 LINE1 EQU 3 00363000 LINE2 EQU 4 00364000 INDEX EQU 5 00365000 AD EQU 6 00366000 NUM EQU 8 00367000 ROUT EQU 9 00368000 LAST EQU 9 00369000 ADX EQU 9 00370000 RET EQU 10 00371000 BASE EQU 11 00372000 PTR EQU 12 00373000 CXD EQU 24 IO INDEX FOR FUDGE 00374000 RC40 EQU 40 RETURN CODE @V305066 00375000 EJECT 00376000 DS 0F FOR LM 00377000 PRMESS DC CL16'PSEUDO-REGISTERS' FIRST LINE 00378000 DC CL24'NAME VALUE LENGTH' SECOND LINE 00379000 CMMESS DC CL16'COMMON:' FIRST LINE 00380000 DC CL24'NAME VALUE LENGTH' SECOND LINE @VA10393 00381000 PRMVC MVC OUTBUF+11(3),UNPACK+5 FIRST MOVE 00382000 MVC OUTBUF+17(4),UNPACK+4 SECOND MOVE 00383000 CMMVC MVC OUTBUF+9(6),UNPACK+2 MOVE VALUE TO BUFFER @VA05526 00384000 MVC OUTBUF+16(6),UNPACK+2 SECOND MOVE @VA10393 00385000 CXDMESS DC AL1(L'CXDTXT-1) 00386000 CXDTXT DC C'PR CUMULATIVE LENGTH -' 00387000 INVCRD DC AL1(L'INVTXT-1) 00388000 INVTXT DC C'INVALID CARD -' 00389000 PTERR DC AL1(L'PTTXT-1) 00390000 PTTXT DC C'POINT ERROR ON -' 00391000 CTLCRD DC AL1(L'CTLTXT-1) 00392000 CTLTXT DC C'CONTROL CARD -' 00393000 SPACE 2 00394000 DROP 11 00395000 EJECT 00396000 USING DMSLIO,R0 00397000 DS 0H 00398000 MESSTBL EQU * MESSAGE NO (INDEX IN 5) 00399000 DC S(ENTPNT) 0 (ERRORL) 00400000 DC S(TYPMAP) 2 (OUTR) 00401000 DC S(LDRSET) 4 00402000 DC S(LDRFIN) 6 00403000 DC S(PRSET,PRMESS) 8 00404000 DC S(CMSET,CMMESS) 12 00405000 DC S(PRVAL,PRMVC) 16 00406000 DC S(CMVAL,CMMVC) 20 00407000 DC S(CXDVAL,CXDMESS) 24 00408000 DC S(ERR203W) 28 00409000 DC S(ERR004E) 30 00410000 DC S(DSKMESS,INVCRD) 32 (ERRORA) 00411000 DC S(ERR002E) 36 00412000 DC S(ERR168S) 38 00413000 DC S(ERR003E) 40 00414000 DC S(ERR029E) 42 00415000 DC S(ERR116S) 44 (ERRORR) 00416000 DC S(ERR105S) 46 00417000 DC S(ERR202W) 48 (ERRORM) 00418000 DC S(ERR055E) 50 00419000 DC S(ERR201W) 52 (ERRORS) 00420000 DC S(ERR056E) 54 00421000 DC S(ERR169S) 56 00422000 DC S(ERR005E) 58 00423000 DC S(DSKMAP) 60 (CRDIMJ) 00424000 DC S(ERR104S) 62 00425000 DC S(0) 64 00426000 DC S(ERR907T) 66 00427000 DC S(0) 68 00428000 DC S(ERR206W) 70 00429000 DC S(0) 72 00430000 DC S(0) 74 00431000 DC S(0) 76 00432000 DC S(DSKMESS,CTLCRD) 78 00433000 DC S(ERR109S) 82 00434000 DC S(0) 84 00435000 DC S(ERR099E) 86 (ERR0RD) @V305066 00436000 SPACE 2 00437000 DC C'0123456789ABCDEF' 00438000 CONHEX EQU *-X'FF'-1 ORIGIN OF TRANSLATE TABLE 00439000 SPACE 2 00440000 LTORG 00441000 EJECT 00442000 LDRST 00443000 EJECT 00444000 NUCON 00445000 EJECT 00446000 REGEQU 00447000 END 00448000