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
theDIAGNOSE 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 toDMKACOQU 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 aX'OOlO' code, control is passed to DMKCPV to gener
ate the record. DMKCPV passes control toDMKACO to complete the "charge to" information; either from the User Accounting Block (ACCTBLOK), if a point
er to it exists, or from the user'sVMBLOK. DMKCPV passes control back to
DMKHVC to release the storage for theACCTBLOK, 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 CodeX'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 the370X control program to the
appropriate system volume.
When a370X 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 aDIAGNOSE 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.
ExitValues: Upon return, the Ry register contains the following error codes: DIAGNOSE Instruction in a Virtual Machine 245
are valid, DMKFREE is called to obtain storage for an account buffer
the
record identification code of
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
the accounting records on the system accounting chain
them in spool format. DMKHVC then returns control to the user with a condition
code of zero.
If Ry contains other than a
ate the record. DMKCPV passes control to
er to it exists, or from the user's
DMKHVC to release the storage for the
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
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
eter list and write the page-format image of the
appropriate system volume.
When a
tion. It passes this information to CP via a
parameter list (CCPARM). The Ry register is ignored on entry.
Exit