DEBUG Subcommands-CSW csw Use the CSW subcommand to display at the terminal the contents CSW status word), as it existed at the time the
environment was entered. The format of the csw subcommand is:
of the
debug
r I CSW L- -.I 1. The CSW indicates the status of the channel or an input/output
device, or the conditions under which an I/O operation terminated.
The CSW is formed in the channel and stored in storage location when an I/O interruption occurs. If I/O interruptions are
suppressed, the CSW is stored when the next Start Test I/O, or
Halt I/O instruction is executed.
2. Whenever an 1/0 operation abnormally terminates, issue the
subcommand. The status and residual count information in the
is very useful in debugging. Also, use the CSW to calculate
address of the last executed CCW (subtract eight bytes from
command address to find the address of the last ccw executed). CSW CSW the
the contents of the CSW are displayed at the terminal in hexadecimal
representation. Its format is:
r , I KEY 10000 I Command Address Sta tus Byte Count
L __ _ jl o 3 7 8 31 32 47 48 63 4_7 8-31
32-41 The protection key is moved to the CSW from the CAW. It shows
the protection key at the time the 110 operation started. The
contents of this field are not affected by programming errors
detected by the channel or by the condition causing
termination of the operation. field is not used and must contain binary zeros.
The command address contains a storage address (in hexadecimal
representation) that is eight bytes greater than the address
of the last CCW executed.
The status bits indicate the conditions in the device or
channel that caused the csw to be stored.
48-63 The residual count is the difference between the number of
bytes specified in the last executed ccw and the number of
bytes that were actually transferred. When an input operation
is terminated, the -difference between the original count in
the CCW and the residual count in the CSW is equal to the
number of bytes transferred to storage; on an output
operation, the difference is equal to the number of bytes
transferred to the I/O device.
266 VM/310 eMS Command Rnd Macro Reference
DEBUG Subcommands-DEFINE DEFINE Use the DEFINE subcommand to assign a symbolic name to a specific
storage address. Once a symbolic name is assigned to a storage address
r
that symbolic name can be used to refer to that address in any of the
other DEBUG subcommands. The format of the DEFINE subcom.and is: .- I I DEFine symbol hexloc .- , Ibytecountl I I I I L .J L- symbol
hexloc
bytecoun t
is the name to be assigned to the storage address derived from
the second operand r hexloc. Symbol may be from one to eight
characters long r and must contain at least one nonhexadecimal
character. Any symbolic name longer than eight characters is
left-justified and truncated on the right after the eighth
character.
is the hexadecimal storage location
r
in relation to the
current origin r to which the name specified in the first
operand (symbol) r is assigned.
is a decimal number
r
between and 56 inclusive
r
which
specifies the length in bytes of the field whose name is
specifed by the first operand (symbol) and whose starting
location is specified by the second operand (hexloc). When bytecount is net specified
r
4 is assumed. 1. Issuing the DEFINE subcommand creates an entry in the debug symbol
table. The entry consists of the symbol name
r
the storage address
r
and the length of the field. A maximum of 16 symbols can be
defined in the debug symbol table at any given time.
2. When a DEFINE subcommand specifies a symbol that already exists in
the debug symbol table, the storage address derived from the
current request replaces the previous storage address. Several
symbols may be assigned to the same storage address
r
but each of
these symbols constitutes one entry in the debug symbol table. The
symbols remain defined until they are redefined or until an IPL
subcommand loads a new copy of CKS. 3. When you assign a symbolic name to a storage location
r
you must
know the current origin (set by the ORIGIN subcommand). The hexloc
you specify is added to the current origin to create the entry in
the symbol table used by DEBUG subcommands. If you change the
current origin, existing entries are not changed.
4. You can use symbolic names to refer to storage locations when you
issue the DEBUG subcommands BREAK r DUKP, GO, ORIGIN, STORE, and X. None.
Section 4. DEBUG Subcommands 267
Previous Page Next Page