When the SVC-called routine returns, the save areas are not released,
but are kept for the next SVC. At the completion of each command, all SVC save areas allocated by that command are released.
The System Save Area is used by DMSITS to save the value of the SVC old PSi at the time of the SVC call, the calling routine'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 12 doublewords (24 words), allocated in
unprotected free storage. DKSITS does not use this area at all, but simply passes a pointer to this area (via register 13.) The called
routine can use this area as a temporary work area, or as a register
save area. There is one user save area for each system save area. The USAVEPTR field in the system save area points to the user save area.
The exact format of the system save area can be found in the Data Areas and 199!£. The most important fields, and their-uses, are as follows: CALLER CALLER CODE OLDPSi (Fullword) The address of the SVC instruction that resulted in
this call.
(Doubleword) Eight-byte symbolic name of the called routine.
For as and user-handled SVC calls, this field contains a
character string of the form SVC nnn, where nnn is the SVC nu.ber in decimal.
(Halfword) For SVC 203, this field contains the halfword code
following the SVC instruction line.
(Doubleword) The SVC old PSi at the time that DMSITS was
entered. (Fullword) The address of the calling routine to which control
is to be passed in the case of a normal return from the called
routine.
ERRET (Fullword) The address of the calling routine to which control
is to be passed in the case of an error return from the called
routine. EGPRS (16 Fullwords, separately labeled EGPRO, EGPR1, EGPR2, EGPR3, ••• , EGPR15) The entry registers. The contents of the
general registers at entry to DMSITS are stored in these
fields. EFPRS (4 Doublewords, separately labeled EFPRO, EFPR2, EFPR4, EFPR6) The entry floating-point registers. The contents of the
floating-point registers at entry to DMSITS are stored in
these fields. SSAVENY.T (Fullword) The address of the next system save area in the chain. This points to the system save area that is being
used, or will be used, for any SVC call nested in relation to
the current one. SSAVEPRV (Fullword) The address of the previous system save
the chain. This points to the system save area for
call in relation to which the current call is nested.
area in
the SVC USAVEPTR (Fullword) Pointer to the user save area for this SVC call. CMS Introduction 2-33
eMS Interface for Display Terminals CMS has an interface that allows it to display large amounts of data in
a very rapid fashion. This interface for 3270 display terminals (also
3138, 3148, and 3158) is much faster and has less overhead than the
normal write because it displays up to 1760 characters in one operation,
instead of issuing 22 individual writes of 80 characters each (that is
one write per line on a display terminal). Data that is displayed in
the screen output area with this interface is net placed in the console
spool file.
The DISPW macro allows you to use this display terminal interface.
It generates a calling sequence for the CMS display terminal interface
module, DMSGIO. DMSGIO creates a channel program and issues a DIAGNOSE instruction (Code X'58') to display the data. DMSGIO is a TEXT file
which must be loaded in order to use DISPW. The format of the CMS DISPW macro is: .- --------------------------------------------------------------------, I I (label] I I I where: "fa bel bufad
r , I L INE=n I ILINE=OI L J r , I BYTES=bbbb I L J DISPW r ,
bufad "LINE=n I L J r , I,BYTES=bbbbl L J [ERASE=YES] [ CANCEL=YES] I I , I , ________________________ J is an optional macro statement label.
is the address of a buffer containing the data to be
written to the display terminal.
is the number of the line, 0 to 23, on the
display terminal that is to be written. Line
number 0 is the default.
is the
on the
number of bytes
display terminal. (0 to 1760) to be written 1760 bytes is the default. [EHASE=YES] specifies that the display screen is to be erased before
the current data is written. The screen is erased
regardless of the line or number of bytes to be
displayed. Specifying ERASE=YES causes the screen to go
into "MORE" status.
[ CANCEL=YES ] causes the CANCFL oppration to be performed: the output
area is erased. It is advisable for the user to save registers before issuing the tISPW macro and to restore them after the macro, because neither the
macro nor its called modules save the user's registers.
2-34 IBM VM/370 System Logic and Program Determination--Volume 2
Previous Page Next Page