A significant deviation from DOS/VS code is the use of OS macros, in S08e instances, rather than DOS/VS macros. To take advantage of CflS support of partitioned data sets, the OS OPEN, FIND, READ, CHECK, and CLOSE macros are issued rather then their DOS/VS counterparts. SIMULATE DOS SVC FUNCTIONS All SVC functions supported for CMSjDOS are handled by the CMS module DMSDOS. DMSDOS receives control from DMSITS (the CMS SVC handler) when
that routine intercepts a DOS SVC code and finds that the Dossve flag in DOSFLAGS is set in NUCON. DMSDOS acquires the specified SVC code from the OLDPSW field of the
current SVC save area. Using this code, DMSDOS computes the address of
the routine where the SVC is to be handled. Many CMS/DOS routines (including DMSDOS) are contained in a
discontiguous shared segment (DCSS) e Most SVC cedes are executed within DMSDOS, but some are in separate modules external to DMSDOS. If tpe SVC code requested is external to DMSDOS, its address is computed using a
table called DCSSTAB; if the code requested is executed within DMSDOS, the table SVCTAB is used to the address of the code to handle
the SVC. The items below show the SVCs supported by CMS/DeS simulation
routines, the name of the macro that invokes a SVC code, the .odule that executes the code, and a brief statement describing how the SVC function is performed. Q: EICf -- Handled by .odule DMSICP ••• reads from CftS or DOS/VS formatted disks. CCis are converted to appropriate CflS I/O requests,
for example, RDBUF/WRBUF, C!RDRD/CARDPH. The ceE is posted (indicating I/O completion) using CMS return infor.ation. If a non-zero return code
is returned, a CANCEL is performed. I/O requests to DOS disks are
handled using CP DIAGNOSE instructions. SVC 1: -- Handled by DMSFCH ••• loads a problem program phase into
core and executes it, if execution is requested. For details on how FETCH works, see the section "Bring a Phase into Storage fer Execution: DMSFET and DMSFCH." SVC 2: FETCH -- Handled by DMSFCH ••• loads a $$$$B-Transient phase into core-and--executes it, if execution is requested. For details on how FETCH works, see the section "Bring a Phase into Storage for Execution: DMSF.T and DftSFCH." !: -- Handled by DMSFCH ••• loads a problem program phase into
user storage and executes it, if execution is requested. Fer details en
how FETCH works, see the section "Bring a Phase into Storage fer
Execution: DMSFET and DMSFCH." SVC 5: -- Handled by DMSDOS ••• provides the user with a way of altering bytes 12 through 23 of the partition communication region (BGCOM). Checks to ensure that the specified field is correct length
and then moves the information to the specified field. SVC 6: CANCL Handled by DMSDOS ••• cancels a CMS/DOS sessione Processing-depends on value in register 15 on entry; if above 256 the
request is from a system program. If below 256, request is from a user
program. processing continues with control passing to EOJ code,
described below.
2-144 IBM VM/310 System Logic and program Determination--Volume 2
1: !AI± -- Handled by DMSDOS ••• informs system programs to wait for a
system event to take place before processing can continue. WAIT is an
effective NOP for CMS/DOS. 8: Handled by DMSDOS ••• temporarily returns control to a problem program. The address of the problem to which control is being passed is
contained in register O. This address is stored in the SVC save area OLDPSW field and control is passed to the CMS SVC handler (DMSlTS). 2: Handled by DMSDOS ••• returns control to system program (i.e. a
user program has been given control, as in the case of SVC 8, and must
return control to the system routine, a $$$$B-Transient routine, that
called it). SVC 11: Handled by DMSDOS ••• returns control $$$$=B transient routine. Uses the SiC save
to the calling program.
to a problem program from a
area OLDPSW field to return ll: Handled by DMSDOS ••• resets flags in the linkage control byte of
the Partition Communication Region (BGCOM) to zero; also, provides the
user the capability to use a mask to set the value of this same byte.
In both cases, the SVC routine that handles the request performs an AND operation to accomplish the function. 1!: -- Handled by DMSDOS ••• normally terminates execution of a
problem program. Clears control blocks and resets control words. SiC 16: Handled by ••• establishes linkage with or terminates IInkage to a user's program check routine. Locates the appropriate PC option table entry. If contents of register 0 is zero, terminates
linkage: stores a zero into the routine address field of the PC option
table. If register 0 is non-zero, the address of the PC routine and the
save area address is passed to the STIlT macro. If a STXlT PC routine
is already active, the complement of the new routine address is placed
in the PC option table; if no STXIT PC routine is active, both the new
routine address and the save area address are Flaced in the PC option
table. 11: Handled by DMSDOS ••• provides supervisory support for the EXIT macro. Locates appropriate PC option table entry and restores user's
registers and PSi. Stores the address of the PC routine in the PC option table and returns to the next sequential address in the
interrupted program. l§: Handled by DMSDOS ••• validates address limits. Checks the limits
passed in registers 1 and 2 and either returns control to the caller or
writes an error message. JJ: Handled by DMSDOS ••• provides the address of the
partition communication region (BGCOM). Returns the address of BGCOM in
register 1. Handled by DMSDOS ••• supports the GETlME macro. Updates the date
field in the partition communications region Jl: Handled by DMSDOS ••• establishes linkage to or terminates linkage
from a user's abnormal termination routine. Locate the AB table entry_ If register 0 contains zeros, terminates linkage: if the AB routine is
active, stores zeros into the routine address field of the AB option
table. If the AB routine is net active, stores zeros into both the
routine address field and the save area field of the AB option table.
If register 0 is non-zero, establishes linkage: passes the address of
the AB routine and the save area address to the STXIT AB macro. If STXlT AB is active, the complement of the AB routine address is stored CMS Method of Operation and program Organization 2-145
Previous Page Next Page