DMSITS handles the situation in the
return fro. a legitimate SVC routine. same way it handles an error
The error code is -3. Invalid SVC 203 code. If an illegal code follows SVC message is displayed, and the ABEND routine is called
execution.
203, an error
to terminate SEARCH HIERARCHY FOR SVC 202 When a program issues SVC 202, and passes a routine or command name in
the parameter list, DMSITS must search for the specified routine or cOllmand. (In the case of SVC 203 with a zero in the table entry for the
specified index, the same logic must be applied.)
The search order is as follows:
i. A check is made to see if there is a routine with the specified
name currently in the system transient area. If so, then tontrol is transferred there.
2. The system function name table is searched to see if a command by
this name is nucleus resident. If successful, control goes to the
specified nucleus routine. 3. A search is made for a disk file with the specified name as the
filename, and MODULE as the filetype. The search is made in the
standard disk search order. If this search is successful, then the
specified module is loaded by LOADMOD and control passes to the
storage location now occupied by the command. 4. If all searches so far have failed, then rftSINA (ABBREV) is called
to see if the specified routine name is a valid system abbreviation
for a system com.and or function. User-defined abbreviations and
synonyms are checked at the same time. If this search is
successful, then steps 2 through 4 are repeated with the full
nonabbreviated name. 5. If all searches fail, then an error code of -3 is forced. USER AND TRANSIENT PROGRAM AREAS There are two areas which can hold program modules which LOADMOD from the disk. These are called the user program
transient program area.
are loaded by
area and the
The user program area starts at location X'2COOO' and extends upward
to the loader tables. However, the high-address end of that area can be
allocated as free storage by DMSFREE. Generally, all user programs and
certain system commands, such as EDIT and COPYFILE, execute in the user
program area. Because only one program can be executing in the user
program area at one time, unless it is an overlay structure, it is
impossible for one program in the user program area to invoke, by means
of SVC 202, a module which is also intended to execute the user program area.
The transient program area is two pages, running X'EOOO' to location X'10000'. It provides an area for
that may also be invoked from the user program area by
from location
system commands
means of an SVC 2-68 IBM VM/370 System Logic and Program Determination--Volume 2
202 call. For example, a program in the user program area may invoke
the RENAME command, because this command is loaded into the transient
program area.
The transient program area also handles certain as macro simulation SVC calls. If DMSITS cannot find the address of a supported as macro
simulation SVC handling routine, it calls LOADMOD to load the file DMSSVT module into the transient area, and lets that routine handle the SVC. A program in the transient program area may not invoke another
program intended to execute in the transient program area, including os
macro simulation SVC calls that are handled by DMSSVT. Thus, for
example, a program in the transient program area may not invoke the RENAME command. In addition, it may not invoke the as macro iTO, which
generates an svc 35, which is handled by nMSSVT. There is one further functional difference between the use of the two
program areas. DMSITS starts a program in the user program area so
that it is enabled for all interruptions. It starts a program in the
transient program area so that it is disabled for all interruptions.
Thus, the individual program may have to use the SSM (Set System Mask) instruction to change the current status of its system mask.
CALLED ROUTINE START-UP TABLE
Figures 10 and 11 show how the PSi and registers are set up when the
called routine is entered.
r I System Storage Problell I Called Type Mask Key Bit SVC 202 or 203 I Disabled System Off - Nuc resident I SVC 202 or 203 Disabled User Off - Transient
area MODULE SVC 202 or 203 Enabled User Off - User Area U ser-handled Enabled User Off as -Nuc res Disabled System Off as -in DMSSVT Disabled Systell Off Figure 10. PSi Fields when Called Routine is Started RETURNING TO THE CALLER ihen the called routine is finished processing it returns control to DMSITS, which then must return control to the caller. RETURN LOCATION: The return is effected by loading the original SVC old psW--cwhich-was saved at the time DMSITS was first entered), after CMS Method of Operation and Program Organization 2-69
Previous Page Next Page