Type ASSEMBLE
Source Lines : 474
Fixes Applied : 0
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [Unmodified]
Module
DMSFET ( FETCH )
Function
PROVIDE THE FACILITY TO BRING INTO STORAGE A SPECIFIED PHASE FROM THE SYSTEM/PRIVATE CORE IMAGE LIBRARY OR FROM A CMS 'DOSLIB' LIBRARY. ALSO, TO START EXECUTION OF THE PHASE, IF THE START OPTION WAS SPECIFIED. IF 'START' WAS NOT SPECIFIED, TO INFORM THE USER WHERE THE PHASE ENTRY POINT IS.
Attributes
NUCLEUS RESIDENT MODULE REENTRANT
Operation
1. SET UP NECESSARY ADDRESSABILITIES AND SAVE THE RETURN REGISTER. INITIALIZE THE DOSFLAGS FIELD, AND VERIFY IF IN CMS/DOS ENVIRONMENT. 2. CHECK THE COMMAND LINE FOR VALID ARGUMENTS AND OPTIONS. ENSURE THAT A PHASE NAME WAS SPECIFIED. SET INTERNAL FLAG IF THE 'START' OPTION WAS SPECIFIED. IF THE 'COMP' OPTION WAS SPECIFIED, SET FLAG 'DOSCOMP' IN FLAG BYTE 'DOSFLAGS' (DOSFLAGS IS IN NUCON). IF THE 'ORIGIN' OPTION WAS SPECIFIED, THEN CONVERT THE ADDRESS IN THE COMMAND LINE TO A BINARY VALUE. IF THE 'INSTAL' OPTION WAS SPECIFIED, SET FLAG 'VSMINSTL' IN THE FLAG BYTE 'DOSFLAGS'. (DOSFLAGS IS IN NUCON). 3. INITIALIZE THE CMS'S ( USER AREA ) STORAGE POINTERS. COMPUTE THE SIZE OF THE VIRTUAL MACHINE AND ACQUIRE ALL STORAGE ( LESS SIX PAGES FOR SYSTEM USE ). INITIALIZE LOCATION 'PPEND' IN 'BGCOM' TO POINT TO THE END OF THE USER'S VIRTUAL PARTITION. ALSO INITIALIZE THE THE DATE FIELD IN 'BGCOM'. 4. ISSUE FILEDEF FOR THE 'DOSLIB' LIBRARIES, AND ISSUE AN SVC 4 TO LET DMSFCH LOAD, AND IF NE- CESSARY RELOCATE THE REQUESTED PHASE. ONCE THE PHASE HAS BEEN LOADED, DMSFCH RETURNS THE ENTRY POINT OF THE PHASE IN REGISTER 1. 5. A LOADER TABLE ENTRY ( NUMBER 3 ) IS SETUP TO POINT AT THE PHASE JUST LOADED, SO DMSLDR CAN NOW WHERE THE PHASE IS IN CORE. IF THE 'START' WAS SPECIFIED, A PLIST IS BUILT TO CALL 'START' (DMSLDR) AND BEGIN EXECUTING THE PHASE. 6. IF 'START' WAS NOT SPECIFIED, AN INFORMATION MESSAGE IS ISSUED TO INFORM THE USER WHERE THE ENTRY POINT OF THE PHASE IS. HE MAY SETUP ADDR. STOPS OR BREAKPOINTS AND HE CAN START EXECUTING THE PHASE BY ISSUING THE CMS 'START' COMMAND. 7. WHEN ALL PROCESSING HAS BEEN DONE, A RETURN TO CALLER IS MADE PASSING BACK IN REGISTER 15 THE RETURN CODE OF THE COMMAND. IF THE PHASE WAS EXECUTED BY SPECIFYING THE 'START' OPTION, THE RETURN CODE MAY BE THAT OF THE PHASE JUST RUN.
Calls to Other Routines
DMSSMN, DMSFCH, DMSFLD, DMSDOS DMSFRE, DMSLDR, DMSERR