2. DMSITS allocates a system and user save area. The user save area is used as a
register save area (or work area) by the called routine.
3. The called routine is called (via a LPSW or BALR).
4.Upon return from the called routine, the save areas are released.
5. Control is returned to the caller (the routine that originally made the SVC
call).
SVC Types and Linkage ConventionsSVC 202 SVC conventions are important to any discussion of CMS because the system is
driven by SVCs (supervisor calls). SVCs202 and 203 are the most common CMS
SVCs.
SVC202 is used for calling nucleus-resident routines, and for calling routines writ
ten as commands (for example, disk resident modules). SVC202 can also be used
for calling nucleus extensions.
A typical coding sequence for an SVC202 call is the following:
LA R1,PLIST SVC 202 DC AL4(ERRADD)
The "DCAL4(address)" instruction following the SVC 202 is optional, and may
be omitted if the programmer does not expect any errors to occur in the routine or
command being called. If included, an error return is made to the address specified
in the DC unless the address is equal to 1. If the address is 1, return is made to the
next instruction after the "DCAL4(1)" instruction. DMSITS determines whether
this DC was inserted by examining the next byte following the SVC call. A nonze
ro byte indicates an instruction, a zero value indicates that "DCAL4(address)" or
"DCAL4(1)" follows.
If you want to ignore errors, you can use the following sequence:
LAR1,PLIST SVC 202 DC AL4(1) Whenc ver an SVC 202 is issued, the contents of general purpose register 0 and 1 (GPR0 and GPRl) are passed intact to the called routine. GPR1 must point to an
eight-character string, which may be the start of a tokenized plist. This character
string must contain the symbolic name of the routine or command being called.
The SVC handler only examines the name and the high-order byte of GPRl. The
called routine decides whether to use the extended PLIST or the tokenized PLIST
by examining the high-order byte of GPR1.
Note: Although an extended PLIST is provided, the called routine might not be set
up to use the extended PLIST.
The following values may be found in the high-order byte of register 1:
Functional Information 335'
register save area (or work area) by the called routine.
3. The called routine is called (via a LPSW or BALR).
4.
5. Control is returned to the caller (the routine that originally made the SVC
call).
SVC Types and Linkage Conventions
driven by SVCs (supervisor calls). SVCs
SVCs.
SVC
ten as commands (for example, disk resident modules). SVC
for calling nucleus extensions.
A typical coding sequence for an SVC
LA R1,
The "DC
be omitted if the programmer does not expect any errors to occur in the routine or
command being called. If included, an error return is made to the address specified
in the DC unless the address is equal to 1. If the address is 1, return is made to the
next instruction after the "DC
this DC was inserted by examining the next byte following the SVC call. A nonze
ro byte indicates an instruction, a zero value indicates that "DC
"DC
If you want to ignore errors, you can use the following sequence:
LA
eight-character string, which may be the start of a tokenized plist. This character
string must contain the symbolic name of the routine or command being called.
The SVC handler only examines the name and the high-order byte of GPRl. The
called routine decides whether to use the extended PLIST or the tokenized PLIST
by examining the high-order byte of GPR1.
Note: Although an extended PLIST is provided, the called routine might not be set
up to use the extended PLIST.
The following values may be found in the high-order byte of register 1:
Functional Information 335'