Type SVC 202 or 203 Other o -1 Same as
caller Same as
caller
2 -11 I I I IUnpredict-1 lable I I I I I Same as
caller
12 13 14
Address User Return
of save address
called area to
routine DftSITS Address User Return
of save address
called area to
routine DftSITS Figure 11. Register Contents when Called Routine is Started 15
Address
of
called
routine Same as
caller possibly modifying the address field. How the address field is modified depends upon the type of SVC call, and on whether the called routine
indicated an error return address.
For SVC 202 and 203, the called routine indicates a normal return by means of a zero returned in register and an error return by means of
a nonzero in register 15. If the called routine indicates a normal return, then DftSITS makes a normal return to the caller. If the called
routine indicates an error return, then DftSITS returns to the caller's
error return address, if one was specified, and abnormally terminates if
none was specified.
For SVC 202 not followed by "DC AL4(address}ft, a normal return is made to the instruction following the SVC instruction, and an error
return causes an abnormal termination. For SlC 202 followed by nDC lL4 (address)", a normal return is made to the instruction following the
DC, and an error return is made to the address specified in the DC. In
either case, register 15 contains the return code passed by the called
routine.
For SVC 203 with a positive halfword code, a normal return is made to the instruction following the halfword code, and an error return
causes an ahnormal termination. For SVC 203 with a negative halfword
code, both normal and error returns are made to the instruction
following the halfword code. In any case, register 15 contains the
return code passed hack by the called routine.
For OS macro simulation SVC calls, and for user-handled SVC calls, no
error return is recognized by DftSITS. As a result, DftSITS always
returns to the caller by loading the SVC old PSi that was saved when DMSITS was first entered. Upon entry to DMSITS, all registers are saved as
they were when the SVC instruction was first executed. Upon exiting from DMSITS, all registers are restored to the values that were saved at entry_ The exception to this is register
return to the caller, register 15
register 15 when the called routine
completed processing. SYSTEM AND USER SAVE AREA FORMATS 15 for SVC 202 and 203. Upon contains the value that was in
returned to DftSITS after it had
Whenever an SVC call is made, DMSITS allocates two save areas for that
particular SVC call. 2-70 IBM VM/370 System Logic and Program 2
D!SITS uses the system save area (DSECT SSAVE) to save the value of
the SVC old PSi at the time of the SVC call# the caller's registers at
the time of the call, and any other necessary control information. Since SVC calls can be nested, there can be several of these save areas
at one time. The system save area is allocated in protected free
storage.
The user save area contains (DSECT EXTUAREA) fullwords), allocated in unprotected free storage.
this area at all, but simply passes to the called
this area in register 13. Thus, the called routine
a temporary work area, or as a register save area.
save area for each system save area, and the latter
to the former in the USAVEPTR field.
Load and Execute Text Files 12 doublewords (24 D!SITS does not use
routine a pointer to
can use this area as
There is one user
contains a pointer
The CMS loader consists of a nucleus resident loader (DMSLDR), a file
and message handler program (DMSLIO), a library search program (DMSLIB), and other subroutine programs. DMSLDR starts loading at the user first
location (AUSRAREA) specified in NUCON or at a user specified location. When performing an INCLUDE function, loading resumes at the next
available location after the previous LOAD, INCLUDE, or LOADMOD. The loader reads in the entire user's program, which consists of one
or more control sections, each defined by a type 0 ESD record ("card"). Each control section a type 1 ESD card for each entry point and
may contain other control cards. Once the user's program is in storage, the loader begins to search
his files for library subprograms called by the program. The loader
reads the library subprograms into storage, re1ecating and linking them
as required. To relocate programs, the loader analyzes information on
the SLC, ICS, ESD, TXT, and REP cards. To establish linkages, it
operates on ESD, and RLD cards. Information for end-of-load transfer of
control is provided by the END and LDT cards, the ENTRY control card, START command, or RESET option.
The loader also INCLUDE commands.
analyzes the options specified on the LOAD In response to specified optiens, the loader can: Set the load area to zeros before loading (CLEAR option). Load the program at a specified location (ORIGIN option) Suppress creation of the load-map file on disk (NOMAP option).
and Suppress the printing of invalid card images in the load map (NOINV option). Suppress the printing of REP card i.ages in the load map (NOREP option). Load program into "transient area" (ORIGIN TRANS option) Suppress TXTLIB search (NOLIBE option). Suppress text file search (NO AUTO option) Execute the loaded program (START option) eMS Method of operation and program Organization 2-71
Previous Page Next Page