When Ry contains a code of X'OO 1 0', and if both the virtual address and the length
are valid, DMKFREE is called to obtain storage for an account buffer (ACNTBLOK) which is then initialized to blanks. The userid of the user issuing
the DIAGNOSE instruction is placed in columns 1 through 8 and an accounting
record identification code of "CO" is placed in columns 79 and 80. The user data
pointed to by the address in Rx is moved to the accounting record starting at col­
umn 9 for a length equal to the value in Ry+ 1. A call to DMKACOQU collects
the accounting records on the system accounting chain (DMKRSP AC) and puts
them in spool format. DMKHVC then returns control to the user with a condition
code of zero.
If Ry contains other than a X'OOlO' code, control is passed to DMKCPV to gener­
ate the record. DMKCPV passes control to DMKACO to complete the "charge to" information; either from the User Accounting Block (ACCTBLOK), if a point­
er to it exists, or from the user's VMBLOK. DMKCPV passes control back to
DMKHVC to release the storage for the ACCTBLOK, if one exists. DMKHVC
then checks the parameter list address for the following conditions:
If zero, control is returned to the user with a condition code of zero.
If invalid, an addressing exception is generated.
If not aligned on a doubleword boundary, a specification exception is gener­
ated.
For a parameter list address that is nonzero and valid, the userid in the parameter
list is checked against the directory list and if not found, control is returned to the
user with a condition code of two. If the function hexadecimal code is invalid, con­
trol is returned to the user with a condition code of three. If both userid and func-
. tion hexadecimal code are valid, the User Accounting Block (ACCTBLOK) is built
and the userid, account number, and distribution number are moved to the block
from the parameter list or the User Machine Block belonging to the userid in the
parameter list. Control is then passed to the user with a condition code of zero.
DIAGNOSE Code X'50' -- Save the 370X Control Program Image I Privilege class A, B, or C DIAGNOSE Code X'50' invokes the CP module DMKSNC to validate the param­
eter list and write the page-format image of the 370X control program to the
appropriate system volume.
When a 370X control program load module is created, the CMS service program SAVENCP builds a communications controller list (CCPARM) of control informa­
tion. It passes this information to CP via a DIAGNOSE Code X'50'. Entry Values: The register specified as Rx contains the virtual address of the
parameter list (CCPARM). The Ry register is ignored on entry.
Exit Values: Upon return, the Ry register contains the following error codes: DIAGNOSE Instruction in a Virtual Machine 245
Code Meaning 044 'ncpname' was not found in system name table.
171 System volume specified not currently available.
178 Insufficient space reserved for program and system control information.
179 System volume specified is not a CP-owned volume.
435 Paging error while writing saved system. DIAGNOSE Code X'54' --Control The Function of the PA2 Function Key I Privilege class G DIAGNOSE Code X'54' controls the function of the PA2 function key. The PA2 function key can be used either to simulate an external interrupt to a virtual
machine or to clear the output area of a display screen.
Entry Values: The function performed depends upon how Rx is specified when DIAGNOSE Code X'54' is issued. If Rx contains a nonzero value, the PA2 key
simulates an external interrupt to the virtual machine. If Rx contains a value of
zero, the P A2 key clears the output area of the display screen.
Usage: The external interrupt is simulated only when the display screen is in the
VM READ, HOLD, or MORE status and the TERMINAL APL ON command has
been issued. DIAGNOSE Code X'58' -- 3270 Virtual Console Interface
Privilege class G DIAGNOSE Code X'58' enables a virtual machine to communicate with 3270 dis­
play stations. Using DIAGNOSE Code X'58', a virtual machine may: Display up to a full screen of data using only one write operation. Provide attribute characters along with data that is sent to the display station.
An attribute character provides control information for the data, for example, a
request to intensify the data when it is displayed. Place a 3270 display station under control of the virtual machine (full screen
mode).
Entry Values: When a virtual machine issues DIAGNOSE Code X'58', the virtual
machine must provide one or more channel command words (CCWs). These
CCWs specify the 3270 operation to be performed, provide control information for
the display station, and specify the address of data to be displayed during a write
operation or the address of a buffer where data is to be stored during a read opera­
tion. If only one CCW is used, the Rx register must contain its address. If CCWs
are chained, the Rx register must contain the address of the first CCW in the chain.
The Ry register must contain the virtual address of the display station where the
operation is to be performed. This value must be right-justified.
246 VM/SP System Programmer's Guide
Previous Page Next Page