CALL DZSNAP (CHTEXT,IXDIV,CHOPT)
Action: DZSNAP provides a snapshot of one or more divisions in a ZEBRA store. The kind of information provided is controlled by CHOPT.
IQCRIT
set;
bit IQCRIT
will be reset to zero in each bank
(option C
is implied by option T
)
IQMARK
set;
bit IQMARK
will be reset to zero in each bank
The first part of the output of DZSNAP refers to the store, and contains the following information:
-1
of the store
A map output in DZSNAP (selected by the option letter M )
gives a comprehensive overview of all banks in the one or more divisions in a ZEBRA dynamic store. One or two (MAP-)line(s) are printed per bank. They contain the following information:
NX
link)
1,2....N
are printed in this order with N
the smaller of the
the following 2 numbers:
ID
of that
bank is also printed, preceded by (
if this bank has been dropped.
If the link does not point to a status word, then a -
or
****
is printed against it for legal or illegal link content.
Normally, the map is at the same time a printout of the more
interesting links in the banks.
However, banks may have more than the N2
links, the maximum printed in the map.
If it is desired to print all the links,
the option letter E
should be given and
then an internal call to DZSHOW is generated.
To avoid confusion about the format of a data word, an extra symbol may be printed on its left:
CALL DZVERI (CHTEXT,IXDIV,CHOPT)
Action: DZVERI checks the structure of one or more divisions in a ZEBRA store. The verification detail depends on the settings in CHOPT.
CHTEXT=' '
: No message is output unless an error is detected.
In the latter case a message detailing the problem is
always output, irrespective of CHTEXT.
(implies C )
(implies C )
When an error is detected the variable \IQUEST(1)
in common /\QUEST/
will be non zero. When everything is correct it will contain zero.
Example of the use of DZSTOR to check store parameters
CALL DZVERI('Check store layout',IXSTOR,'S')The previous example only checks the store parameters for store
IXSTOR
.
Example of the use of DZSTOR to make a complete check
CALL DZVERI('Check everything',IXDIVI,'CFLSU')This example checks the store parameters of the store containing the divisions
IXDIVI
,
verifies the chaining of the banks and the correctness of all
links (structural, next, up and origin links). When an error is
detected an exit is forced via ZFATAL.
It should be noted that in the MZ package, developped by J.Zoll, a routine ZVERIF, with a functionality similar to DZVERI is available. This routine has two somewhat different modes of operation: one in which all data in and relevant to a complete store are checked and a call to ZFATAL is generated if it finds trouble, and a second one in which, in case of trouble, control is returned to the user, who can find information about the error condition in the communication vector .
ZVERIF is used by the automatic verification procedure ZVAUTO, see the MZ Reference Guide for more details.
When DZVERI detects an error it fills the vector as follows:
JQSTOR
, the store identifier
JQDIVI
, the division identifier
LN
, its start address
IQLS
, its status word
IQNL
, its total number of links
IQNS
, its number of structural links
IQNS
, its number of data words
L
, the address of the link being verified
LQ(L)
, its contents
LUP
, the value of the up link
LORIG
, the value of the origin link