Table of Contents

DMSFET Abstract

Statistics

Type ASSEMBLE
Source Lines : 474
Fixes Applied : 0
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [Unmodified]

Synopsis

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