DIAGNOSE Code X'08'
--
Virtual
Console Function
DIAGNOSE Code
X'08'
enables a virtual machine running
in supervisor state to issue
CP
commands. The virtual
machine must specify the command, the command
parameters, and whether
CP
is
to return the command
response to the user's terminal
or
to a buffer. In addition to
returning the command response,
CP
sets a completion code
in the Ry register and may set a condition code.
When
DIAGNOSE Code
X'08'
is
issued, the Rx and Ry
registers must be set up
as
follows:
Rx
Ry
Rx must point to the character string in virtual storage
that contains the CP commands and parameters.
If
the
character string contains multiple commands, each
command and its associated parameters must be
separated from adjacent commands by the value X'15'.
The high-order byte contains flag bits; the other three
bytes specify, in bytes, the length of the CP commands
and parameters. The maximum allowable length
is
240
characters.
Set the flag bits as follows.
If
CP
is
to return the command
response in a buffer, set the second flag bit to a value of one
(X'40').
If
the Ry register contains the value
X'OOOOOOOO',
the
DIAGNOSE Code acts as a no-operation (NOP) instruction.
As a consequence, the issuing virtual machine
is
placed into a
"CP-READ"
state.
If
the command response is to be returned in a buffer, Rx
and
Ry
cannot be consecutive registers nor can either be
register 15. In addition, the
Rx+
1 and
Ry+
1 registers must
be
setup as follows:
Appendix
A.
CP
/
CMS
Interface
A-
7