ibm:vm370-lib:cms:dmsloa.assemble_src
Table of Contents
DMSLOA Source
References
- Fixes Applied : 1
- This Source Date : Tuesday, December 12, 1978
- Last Fix ID : [HRC006DS]
Source Listing
- DMSLOA.ASSEMBLE.txt
- LOA TITLE 'DMSLOA (CMS) VM/370 - RELEASE 6' 00001000
- SPACE 2 00002000
- *. 00003000
- * 00004000
- * 00005000
- * MODULE NAME: 00006000
- * 00007000
- * DMSLOA 00008000
- * 00009000
- * FUNCTION: 00010000
- * 00011000
- * LOAD AND INCLUDE COMMANDS TO INVOKE THE RELOCATING LOADER. 00012000
- * 00013000
- * ATTRIBUTES: 00014000
- * 00015000
- * REENTRANT, NUCLEUS RESIDENT 00016000
- * 00017000
- * ENTRY POINTS: 00018000
- * 00019000
- * DMSLOA 00020000
- * 00021000
- * ENTRY CONDITION: 00022000
- * 00023000
- * GPR1 = ADDRESS OF PLIST 00024000
- * 00025000
- * PLIST DS 0F 00026000
- * DC CL8'LOAD'|'INCLUDE' 00027000
- * DC CL8'FNAME1' 00028000
- * . 00029000
- * . 00030000
- * . 00031000
- * DC CL8'FNAMEN' 00032000
- * 00033000
- * *OPTIONS: 00034000
- * DC CL8'(' 00035000
- * CL8'START' 00036000
- * CL8'RESET', CL8'ENTRY'|'*' ('*', INCLUDE ONLY) 00037000
- * CL8'CLEAR'|'NOCLEAR' 00038000
- * CL8'SAME' (INCLUDE ONLY) 00039000
- * CL8'TYPE'|'NOTYPE' 00040000
- * CL8'MAP|'NOMAP' 00041000
- * CL8'LIBE|'NOLIBE' 00042000
- * CL8'NOINV'|'INV' 00043000
- * CL8'NOREP'|'REP' 00044000
- * CL8'NOAUTO'|'AUTO' 00045000
- * CL8'ORIGIN', CL8'ADDRESS OR TRANS' 00046000
- * (TRANS ON LOAD ONLY) 00047000
- * 00048000
- * EXIT CONDITIONS 00049000
- * 00050000
- * NORMAL - RETURN TO CALLER, R15=0. 00051000
- * PROGRAM IS LOADED INTO USER STORAGE 00052000
- * 00053000
- * ERROR - RETURN TO CALLER 00054000
- * R15=ERROR CODE (SEE BELOW) 00055000
- * 00056000
- * ALL ERROR MESSAGES AND RETURN CODES ARE GENERATED BY 00057000
- * THE LOADER (DMSLDR), BUT ARE PRESENTED HERE AS PART OF 00058000
- * THE LOAD AND INCLUDE COMMANDS: 00059000
- * 00060000
- * | GPR15 = : 00061000
- * | 28 FILE NOT FOUND 00062000
- * | 24 OPTION ERROR 00063000
- * | 4 UNRESOLVED REFERENCES 00064000
- * | 104 REFERENCE TABLE OVERFLOW 00065000
- * | 4 SLC NAME UNDEFINED 00066000
- * | 4 DUPLICATE IDENTIFIER 00067000
- * | 104 STORAGE EXCEEDED 00068000
- * | 4 PR ALIGNMENT ERROR 00069000
- * | 24 NO FILE NAME SPECIFIED 00070000
- * | 40 ENTRY POINT NOT FOUND 00071000
- * | 32 INVALID TXTLIB 00072000
- * | 100 READ ERROR 00073000
- * | 100 WRITE ERROR 00074000
- * | 256 POINT ERROR 00075000
- * 00076000
- * CALLS TO OTHER ROUTINES: 00077000
- * 00078000
- * DMSLDRB - TO LOAD SPECIFIED FILES. 00079000
- * DMSERR - TO ISSUE ERROR MESSAGE 00080000
- * 00081000
- * EXTERNAL REFERENCES: 00082000
- * 00083000
- * NUCON,LOADER TABLES 00084000
- * 00085000
- * TABLES/WORKAREAS: 00086000
- * 00087000
- * NONE 00088000
- * 00089000
- * REGISTER USAGE: 00090000
- * 00091000
- * LOAD - 00092000
- * 00093000
- * R1 PLIST 00094000
- * R2,6,14,15 WORK 00095000
- * R12 BASE 00096000
- * 00097000
- * INCLUDE - 00098000
- * 00099000
- * R1,2 PLIST 00100000
- * R12 BASE 00101000
- * R14,15 WORK 00102000
- * 00103000
- * NOTES: 00104000
- * 00105000
- * NONE 00106000
- * 00107000
- * OPERATION: 00108000
- * 00109000
- * LOAD 00110000
- * 00111000
- * 1. ZERO THE STARTING ADDRESS WORD IN NUCON. 00112000
- * 00113000
- * 2. ZERO OPTION FLAGS. 00114000
- * 00115000
- * 3. SET THE LOCATION COUNTER TO THE FIRST USER 00116000
- * LOCATION. SET LDR TBL COUNT TO TWO. 00117000
- * 00118000
- * 4. BALR TO DMSLDRB TO LOAD THE SPECIFIED PROGRAMS. 00119000
- * 00120000
- * 5. PUT THE RETURN CODE IN REG 15. 00121000
- * 00122000
- * 6. RETURN TO CALLER. 00123000
- * 00124000
- * INCLUDE 00125000
- * 00126000
- * 2. IF COMMAND WAS REUSE OR INCLUDE (RESET), CHECK IF 00129000
- * IT IS AN INTERFACE RETURN. IF SO, SAVE STADDR IN 00130000
- * THE RETURN + 12. IF NOT, INTERFACE, ZERO STADDR. 00131000
- * 00132000
- * 3. SET A LOADER FLAG TO PREVENT ERASING THE LOADMAP. 00133000
- * RESET THE OPTIONS BITS IF SAME NOT SPECIFIED. 00134000
- * 00135000
- * 4. BALR TO DMSLDRB TO CONTINUE LOADING. 00136000
- * 00137000
- * 5. RETURN TO CALLER. R15=ERROR CODE 00138000
- * 00139000
- * * OPTION PROCESSING IS DESCRIBED UNDER DMSLSB. 00140000
- *. 00141000
- EJECT 00142000
- DMSLOA START 0 00143000
- USING NUCON,R0 00144000
- LR R12,R15 SET BASE 00145000
- USING DMSLOA,R12 00146000
- SR R6,R6 GET A ZERO 00147000
- ST R14,LDRADDR SAVE RETURN ADDRESS 00148000
- CLI 0(R1),C'L' IS THIS A LOAD COMMAND ? 00149000
- BNE INCLUDE NO, TRY INCLUDE USE OR REUSE 00150000
- MVI UNRES,X'00' CLEAR INRESOLVED FLAG @VA02829 00150100
- ST R6,PRHOLD ZERO PR COUNT 00151000
- ST R6,STRTADDR ZERO STARTING ADDRESS 00152000
- STH R6,TBENT SET LDR TBL COUNT TO ZERO 00153000
- STH R6,LDRFLAGS ZERO LDRFLAGS 00154000
- MVC LOCCNT(4),AUSRAREA SET LOC CTR TO 1ST USER LOCATION 00155000
- TM SUBFLAG,SUBACT IS CMS SUBSET ACTIVE? @VA07964 00155200
- BO SUBACTIV YES, DON'T RESET MAINHIGH @VA07964 00155350
- MVC MAINHIGH(4),AUSRAREA RESET USER LAST LOCATION @VA05937 00155500
- SUBACTIV EQU * @VA07964 00155750
- L R2,ALDRTBLS GET TOP OF LOADER TABLE 00156000
- SH R2,=H'40' DOWN TWO ENTRIES 00157000
- MVC 0(40,R2),LTINIT PUT NUCON AND SYSREF IN LDRTBL 00158000
- LA R2,2 TWO ENTRIES IN LDRTBL 00159000
- STH R2,TBENT STORE IN NUCON 00160000
- COMMON1 CLI 8(R1),X'FF' ANY FILENAME SPECIFIED 00161000
- BE ERR001E NO, ERROR 00162000
- CLI 8(R1),C'(' OPTIONS WITH NO INTERVENING FNAME 00163000
- BE ERR001E YES, ERROR 00164000
- L R15,ADMSLDRB COMMON CODE 00165000
- BALR R14,R15 CALL THE LOADER 00166000
- USING *,R14 00167000
- L R12,ALOAD REESTABLISH ADDRESSIBILITY 00168000
- DROP R14 00169000
- L R15,LDRADDR+4 PICK UP LOADER'S ERROR CODE 00170000
- RETURN L R14,LDRADDR GET RETURN LOCATION 00171000
- BR R14 RETURN TO DMSISC 00172000
- SPACE 00173000
- INCLUDE LR R2,R1 COPY PLIST ADDRESS 00174000
- CHKSAM CLI 0(R2),C'(' IS IT LEFT PAREN 00175000
- BE CHKSAM1 YES, NOW LOOK FOR SAME OPTION 00176000
- CLI 0(R2),X'FF' END OF PLIST ? 00177000
- BE NOSAME YES, NO SAME OPTION 00178000
- LA R2,8(0,R2) NO, NEXT ITEM 00179000
- B CHKSAM CHECK IT 00180000
- CHKSAM1 CLC 0(8,R2),=CL8'SAME' IS THIS THE 'SAME' OPTION 00181000
- BE SAME YES 00182000
- CLI 0(R2),X'FF' IS IT END OF PLIST 00183000
- BE NOSAME YES, SAME OPTION NOT USED 00184000
- LA R2,8(0,R2) NEXT OPTION 00185000
- B CHKSAM1 CHECK IT 00186000
- SAME MVC 0(8,R2),=CL8'NOCLEAR' REPLACE SAME OPTION FOR NOP 00187000
- B CHKREUSE CONTINUE 00188000
- NOSAME NI LDRFLAGS+1,255-(NOMAP+NOAUTO+TYPE+NOREP+NOINV+NOLIBE) 00189000
- * RESET ALL USER OPTIONS 00190000
- CHKREUSE OI LDRFLAGS,NOERASE+FSTXTADR @V1D1705 00191125
- * INITIALIZE FLAGS 00192000
- B COMMON1 CONTINUE 00193000
- ERR001E DMSERR TEXT='NO FILENAME SPECIFIED',NUM=001,LET=E,CSECT=LIO 00194000
- LA R15,24 ERROR CODE 00195000
- B RETURN 00196000
- ADMSLDRB DC V(DMSLDRB) 00197000
- ALOAD DC A(DMSLOA) 00198000
- LTINIT DC CL8'SYSREF' 00199000
- DC V(SYSREF) 00200000
- DC V(SYSREF) 00201000
- DC F'0' 00202000
- DC CL8'NUCON' 00203000
- DC 3F'0' 00204000
- EJECT 00205000
- REGEQU 00206000
- SPACE 2 00207000
- NUCON 00208000
- EJECT 00209000
- LDRST 00210000
- END 00211000
ibm/vm370-lib/cms/dmsloa.assemble_src.txt ยท Last modified: 2023/08/06 13:35 by Site Administrator