- ARG0 - ARG3
U32 (nmreg) r dm
NM argument registers. These registers are used by
the language compilers for parameter passing. (Alias for R26 - R23)
- AUTOIGNORE
BOOL (cmd) rw *
Setting AUTOIGNORE is equivalent to using the IGNORE LOUD command before every command. When AUTOIGNORE is set, System Debug ignores errors (that is,
the ERROR variable contains a negative value). Among other things,
this means that System Debug continues processing USE files, macros,
and looping constructs even though an error occurs while doing so. (Refer
to the IGNORE command.) The default for this variable is FALSE.
- AUTOREPEAT
BOOL (cmd) rw
Controls the automatic repetition of the last command
whenever a lone carriage return is entered. Setting AUTOREPEAT allows repetitive operations (such as single stepping
or PF) to be automatically executed by pressing Return. This variable may also be altered with the SET CRON and SET CROFF commands. The default value for the AUTOREPEAT variable is FALSE.
- CCODE
STR (misc) rW
Condition code. This value is captured on entry to
Debug. It is restored when the debugger resumes the process. Since
Debug itself causes the condition code for the process to change,
it is necessary to cache the original value. The following string
literals are valid: "CCE", "CCG", "CCL".
- CCR
U16 (nmreg) r dM
NM coprocessor configuration register. (Alias for CR10)
- CHANGES
STR (win) rw
Selects the type of video enhancement used to flag
window values modified since the last command. The following string
literals are valid: "INVERSE", "HALFINV", "BLINK", "ULINE", and
"FEABLE". Note that this is a string variable; thus, literals must
be quoted. The default value is "HALFINV".
- CHECKPSTATE
BOOL (misc) rw
If FALSE, inhibits validation of the process state
when performing the following functions: PIB, PIBX, PCB, PCBX, CMG, CMSTACKBASE, CMSTACKDST, CMSTACKLIMIT, NMSTACKBASE and NMSTACKLIMIT.
- CIR
U16 (cmreg) r dm
CM current instruction register.
- CMDLINESUBS
BOOL (cmd) rw
Setting CMDLINESUBS enables command line substitutions (for example, expanding
the "|" character in-line). When macro bodies use command line
substitutions, it is sometimes desirable to disable CMDLINESUBS while reading the macro definitions in from a
USE file. (Refer to the ECHO_SUBS variable). The default for this variable is TRUE.
- CMDNUM
U32 (cmd) rw
The current command number is maintained as a running
counter. This value is displayed as part of the default prompt string.
- CMPC
LCPTR (cmreg) r
The full logical code address for CM, based on the
current logical code file, logical segment number, and offset.
- CMPW
LCPTR (win) r
The address (as a logical code address) where the CM
program window is aimed.
- CM_INBASE
STR (io) rw
The current CM input conversion base. When in cmdebug,
all values entered are assumed to be in this base unless otherwise
specified. The following values are allowed:
The names may be abbreviated to a single character. The default
value is % (octal). Refer to the SET command for an alternate method of setting this variable.
- CM_OUTBASE
STR (io) rw *
The current CM output display base. The following values
are allowed:
The names may be abbreviated to a single character. The default
value is % (octal). Refer to the SET command for an alternate method of setting this variable.
- COLUMN
U16 (io) rw
The current character position in the user's output
buffer. The position is advanced by the W and WCOL commands (or by the C directive in a format specification). Refer to
the W command for details.
- CONSOLE_DEBUG
BOOL (system) rW
If this system-wide flag is set, all processes entering
the debugger for the first time automatically have their debug I/O
performed at the system console with the system console I/O routines.
Processes that have already entered Debug and have established a
debugging environment are not affected by this variable. When this
variable is set, the CONSOLE_IO variable is set to TRUE for all processes entering
Debug for the first time. Setting CONSOLE_DEBUG is useful when doing system debugging. If global breakpoints
have been set, all of the I/O can be directed to one terminal by setting
this variable. The default value is FALSE.
This variable is not available in DAT.
- CONSOLE_IO
BOOL (io) rW
If set, the current process uses the system console
I/O routines to perform Debug I/O. No other processes are affected
by this command. Note that this variable has precedence over the TERM_LDEV variable. System processes and jobs entering Debug
(assuming the JOB_DEBUG environment variable was set), has this variable
set to TRUE upon entry to the debugger. The default value is FALSE.
This variable is not available in DAT.
- CPU
U16 (misc) r d
The CPU number of the processor that is being examined.
- CR0
U32 (nmreg) r dm
NM control register 0 (alias for RCTR). Debug uses
this value while single stepping.
- CR8 - CR31
U32 (nmreg) r dm
NM control registers. These registers have the following
aliases and names (for descriptions of their usage, refer to the PA-RISC
1.1 Instruction Set Reference Manual):
Table 4-6 NM Control Registers
| Register | Alias | Description |
|---|
| CR0 | RCTR | Recovery counter |
| CR8 | PID1 | Protection ID 1 |
| CR9 | PID2 | Protection ID 2 |
| CR10 | CCR | Coprocessor configuration
register |
| CR11 | SAR | Shift amount register |
| CR12 | PID3 | Protection ID 3 |
| CR13 | PID4 | Protection ID 4 |
| CR14 | IVA | Interrupt vector
address |
| CR15 | EIEM | External interrupt
enable mask |
| CR16 | ITMR | Interval timer |
| CR17 | PCSF | PC space queue
front |
| CR18 | PCOF | PC offset queue
front |
| CR19 | IIR | Interrupt instruction
register |
| CR20 | ISR | Interrupt space
register |
| CR21 | IOR | Interrupt offset
register |
| CR22 | IPSW PSW | Interrupt processor
status word |
| CR23 | EIRR | External interrupt
request register |
| CR24 | TR0 | Temporary register
0 |
[vellip] | | |
| CR31 | TR7 | Temporary register 7 |
Refer to the PID environment variable entry for a detailed description
of the format of PID registers.
Refer to the IPSW environment variable entry for a detailed description
of the format for the PSW register.
- CSTBASE
LPTR (misc) rW
The virtual address of the CST table.
- DATE
STR (misc) r
The current date string in the form 'WED, OCT 14, 1951'.
- DB
U16 (cmreg) r dm
The CM DB register.
- DBDST
U16 (cmreg) r dm
The CM DB DST number.
- DISP
BOOL (misc) r
A Boolean value that indicates whether or not the dispatcher
is currently running. This value is always FALSE in Debug.
- DL
U16 (cmreg) r dm
The CM DL register.
- DP
U32 (nmreg) r dm
NM global data pointer register. (Alias for R27)
- DSTBASE
LPTR (misc) rW
The virtual address of the CM DST table.
- DUMPALLOC_LZ
U16 (misc) rw
Determines the percentage of disk space DAT will preallocate
before restoring a dump encoded with LZ data compression. The percentage
is relative to the space required to contain a fully uncompressed
dump. This means if you normally expect your dumps to be compressed
by 60%, setting DUMPALLOC_LZ to 40 should preallocate enough disk space to contain
the entire dump.
- DUMPALLOC_RLE
U16 (misc) rw
Similar to DUMPALLOC_LZ, except that it applies to dumps encoded with RLE
data compression.
- DUMP_COMP_ALGO
STR (misc) r
Set to the data compression algorithm used by the currently
opened dump. Possible values are:
- "NONE"
The dump is not compressed.
- "RLE"
The dump is RLE-compressed.
- "LZ"
The dump is LZ-compressed.
- DYING_DEBUG
BOOL (system) rW
When a process is being killed, its state is said to
be "dying." Once a process is in this state, Debug normally ignores
all breakpoints, traps, and so on. If this system-wide variable
is set to TRUE, Debug stops for all events even if the process is
dying. This is useful to operating system developers only. It is
possible to cause system failures if this variable is turned on
and breakpoints are set at inappropriate locations. The default value
for this variable is FALSE.
This variable is not available in DAT.
- ECHO_CMDS
BOOL (cmd) rw *
When ECHO_CMDS is set, each command (other than those executed
within macros) is echoed just prior to its execution. The default
value for this variable is FALSE.
- ECHO_SUBS
BOOL (cmd) rw *
When ECHO_SUBS is set, and CMDLINESUBS is enabled, command line substitutions are displayed
as they are performed. In the following example, the first line
displays the location of the substitution and the second line displays
the result after the substitution has taken place. The default value
for this variable is FALSE.
subs > fv a.c0341450 "|symfile :student_record" /\ done > fv a.c0341450 "gradtyp:student_record" |
- ECHO_USE
BOOL (cmd) rw *
When ECHO_USE is set, each command line that is read in from
a use file is echoed (along with the name of the USE file), prior
to its execution. The USE file name is used as the prompt. The default
value for this variable is FALSE.
- EIEM
U32 (nmreg) r dm
NM external interrupt enable mask. (Alias for CR15)
- EIRR
U32 (nmreg) r dM
The NM external interrupt request register. (Alias
for CR23)
- ENTRY_MODE
STR (misc) r
This variable contains either "NM" or "CM". For Debug,
it indicates whether you entered either in cmdebug or nmdebug. For
DAT, it just tracks the MODE variable.
- ERROR
S32 (cmd) rw
The ERROR variable contains the most recent error number.
It is cleared on entry to any user-defined macro. Refer to the IGNORE command, the ENV variable AUTOIGNORE, and the "Error Handling" section in Chapter 2
for additional error handling information. Note that only negative
values constitute errors. Positive values are warnings.
- ESCAPECODE
U32 (misc) rW
This is the last ESCAPECODE value that was stored for the process at the moment
Debug was entered. This variable is restored when the debugger resumes
execution of the process. Since Debug itself causes the escape code
for the process to change, it is necessary to cache the original
value.
This variable is not available in DAT.
- EXEC_MODE
STR (misc) r
This variable contains either "NM" or "CM". It indicates
the execution mode of the current process. This value is obtained
from the TCB (operating system data structure). This value does
not necessarily match the ENTRY_MODE variable.
- FALSE
BOOL (const) r
The constant FALSE.
- FILL
STR (io) rw *
This variable determines how leading zeros in right-justified
data (refer to JUSTIFY variable) are output from the Display commands
and in the windows. This variable may take on one of two quoted
literal values: "BLANK" (show leading zeros as blanks) or "ZERO"
(show leading zeros as zeros). The default value is "ZERO".
- FILTER
STR (io) rw *
All output, with the exception of error messages and
the prompts, passes through a final filtering process. Those lines
that match the value in the FILTER variable are displayed and the rest are discarded.
By default, FILTER is initialized to the blank string (&'&', &"&",
or ) that matches all output. FILTER can be set to a regular expression for the purpose
of pattern matching. For example, the following shows how to find
the pattern "123" in memory. Only a line that contains "123" anywhere in
the line is displayed. Note that FILTER is displayed as part of the default prompt.
$6 ($10) nmdat > env FILTER 123
$7 ($10) nmdat 123> dv a.c0000000, 4000
$ VIRT a.c0001020 $ 40020330 4002033c 40012348 c0002342
$ VIRT a.c0001238 $ c0062344 ffffffff fffffec2 00000004
$ VIRT a.c0003240 $ 00000001 0000cf42 40012362 000000bc
$8 ($10) nmdat 123> env filter ''
$9 ($10) nmdat >
Three lines of output were matched. The pattern "123" has
been highlighted in the example to help point out where the pattern
was found in the line. Notice that one of the lines contained the
pattern as part of the address displayed by the DV command. We could use a fancier regular expression
to have just those lines with a "123" in the data part
of the output be displayed. In the following example, the regular
expression translates into "Match those lines that start with a
dollar sign (^$), are followed by any number of any characters (.*), that are followed by a dollar sign and a space ($ ), and followed by any number of any character (.*), and finally followed by characters 123 (123)."
$a ($10) nmdat > env FILTER `^$.*$ .*123`
$b ($10) nmdat ^$.*$ .*123> dv a.c0000000, 4000
$ VIRT a.c0001020 $ 40020330 4002033c 40012348 c0002342
$ VIRT a.c0003240 $ 00000001 0000cf42 40012362 000000bc
$c ($10) nmdat ^$.*$ .*123> set def
$d ($10) nmdat >
Note that only those lines with "123" as part of the data
output by the DV command were matched and displayed. For additional
information on how to specify regular expressions, refer to appendix
A.
- FP0-FP15
LPTR (fpreg) r dm
NM floating-point registers 0-15. The 64 bits of these
registers are presented as long pointers until System Debug supports
64-bit integers.
- FPE1-FPE7
S32 (fpreg) r dm
NM floating-point exception registers 1-7. These registers
are extracted from FP0-FP3. That is, FPE1 is an alias for the right 32 bits of FP0, FPE2 is an alias for the left 32 bits of FP1, and so
on. (Refer to the Precision Architecture and Instruction
Reference Manual (09740-90014).)
- FPSTATUS
U32 (fpreg) r dm
NM floating-point status register. (Alias for the left
32 bits of FP0.)
- GETDUMP_COMP_ALGO
STR (misc) r
Determines the data compression algorithm to be used
when creating a new dump disk file with the GETDUMP command. This algorithm may be different from
the one used on the dump tape. Possible values are:
- "" or "DEFAULT"
Use the best algorithm supported by the current version
of DAT.
- "TAPE"
Use the same algorithm used on the dump tape.
- "NONE"
Don't compress the dump.
- "RLE"
Use RLE compression on the disk file.
- "LZ"
Use LZ compression on the disk file.
- HEXUPSHIFT
BOOL (io) r *
If TRUE, all hex output is displayed in uppercase;
otherwise it is displayed in lowercase. The default is FALSE, lowercase.
- ICSNEST
U16 (misc) r
The current ICS nest count as found in the base of
the ICS. This value is always 0 for Debug.
- ICSVA
LPTR (misc) r
The virtual address for the base of the ICS.
- IIR
U32 (nmreg) r dM
NM interrupt instruction register. (Alias for CR19)
- INBASE
STR (io) rw *
The current input conversion radix, which is based
on the current mode. Values entered are assumed to be in this radix
unless otherwise specified. This variable tracks NM_INBASE and CM_INBASE dependent upon the MODE variable. The following values are allowed:
The names may be abbreviated to 1 character.
The default is based on the current mode (NM or CM). Refer
to the SET command for an alternate method of setting this
variable.
- IOR
U32 (nmreg) r dM
NM interrupt offset register. (Alias for CR21)
- IPSW
U32 (nmreg) r dM
NM interrupt processor status word (alias for CR22
and PSW). Debug may set or alter the "R" bit while single stepping,
as well as the "T" bit if the TRAP BRANCH ARM command has been issued.
This register has the following format:
1 1 1 1 1 1 1 2 2 2 2 3 3
0 7 8 9 0 1 2 3 4 5 6 4 7 8 9 0 1
-----------------------------------------------------------------
|J| |T|H|L|N|X|B|C|V|M| C/B | |R|Q|P|D|I|
-----------------------------------------------------------------
- J
Joint instruction and data TLB misses/page faults
pending
- T
Taken branch trap enabled
- H
Higher-privilege transfer trap enable
- L
Lower-privilege transfer trap enable
- N
Instruction whose address is at front of PC queue
is nullified
- X
Data memory break disable
- B
Taken branch in previous cycle
- C
Code address translation enable
- V
Divide step correction
- M
High-priority machine check disable
- C/B
Carry/borrow bits
- R
Recovery counter enable
- Q
Interruption state collection enable
- P
Protection ID validation enable
- D
Data address translation enable
- I
External, power failure, & low-priority
machine check interruption enable
System Debug displays this register in two formats:
IPSW=$6ff0b=jthlnxbCVmrQpDI |
The first value is a full 32-bit integer representation of
the register. The second format shows the value of the special named
bits. An uppercase letter means the bit is ON while a lowercase
letter indicates the bit is OFF.
- ISM_ARCH
S32 (misc) r dM
Returns the software interrupt stack marker architecture
as 32 or 64. The two architectures currently in use differ in their
abilities to hold either a 32 or 64-bit state, and are associated
with the operating system version. Note that this is NOT the same
as the hardware register size, which may be determined by ENV CPU_ARCH.
- ISR
U32 (nmreg) r dM
NM interrupt space register. (Alias for CR20)
- ITMR
U32 (nmreg) r dM
NM interval timer register. (Alias for CR16)
- IVA
U32 (nmreg) r dM
NM interrupt vector address. (Alias for CR14)
- JOB_DEBUG
BOOL (system) rW
A system wide flag that enables the debugging of jobs.
The default value is FALSE; any process attempting to access Debug
in a job has that request ignored (with the exception of the HPDEBUG intrinsic, which will execute a command string
but not stop in Debug). If this variable is set, and a job does
call Debug, upon entry the CONSOLE_IO variable is set to TRUE and the TERM_LDEV variable is set to the console port (LDEV 20).
This variable is available only in Debug.
- JUSTIFY
STR (io) rw *
This variable controls the form justification used
when numeric values are displayed in the windows or from the Display
commands. This variable may take on one of two quoted literal values:
"LEFT" or "RIGHT". When right-justified, values can be blank or
zero filled (refer to the FILL variable). Decimal values are always left-justified
in windows, despite this setting. The default value is "RIGHT".
- LAST_PIN
U16 (misc) r
For DAT, this is the last PIN that was running at dump
time (as found in SYSGLOB). For Debug, this variable is the PIN
on whose stack the debugger is running.
- LIST_INPUT
U16 (io) rw
When LIST_INPUT is set, all user input lines are written into
any currently opened list file (refer to the LIST command). When ECHO_USE is set, those lines that are input from the USE
file are always displayed to the list file, even if LIST_INPUT is disabled. The default value is TRUE.
- LIST_PAGELEN
U16 (io) rw *
The page length (in lines) of the list file (refer
to the LIST command). The default page length is #60. If the LIST_PAGING environment variable is set, a page eject is placed
in the list after every LIST_PAGELEN lines.
- LIST_PAGENUM
U16 (io) r
The current page number of the list file (refer to
the LIST command). When a list file is opened, this variable
is reset to 1. The default LIST_TITLE uses this value as part of the page title written
to each page.
- LIST_PAGING
BOOL (io) r *
When LIST_PAGING is set, output to the list file (refer to the LIST command) is paged (based on LIST_PAGELEN). In addition, the LIST_TITLE is written at the top of each new page. The default
value for this variable is TRUE.
- LIST_TITLE
STR (io) rw *
When the LIST_PAGING variable is enabled, this LIST_TITLE is written to the top of each new page in the
list file (refer to the LIST command). The default LIST_TITLE is displayed below, followed by the output it
produces:
'"Page: " list_pagenum:"d" " " version " " date " " time'
Page: 1 DAT-XL 9.00.00 FRI, FEB 13, 1987 2:22 PM
The variables in the title are evaluated each time the title
is written to the list file.
- LIST_WIDTH
U16 (io) rw *
The width (in number of characters) to be used for
the list file (refer to the LIST command). This number must be in the range 1-132,
and is 80 characters by default. Lines written to the list file
that are longer than the LIST_WIDTH length are not truncated; instead they are split,
with the extra data placed on the following line.
- LOOKUP_ID
STR (misc) rw *
This variable is used by the expression evaluator in
determining where to look up NM procedure names. Refer to the "Procedure
Name Symbols" section in chapter 2 "User Interfaces" for additional
details. It may take on any of the following values:
- UNIVERSAL
Search exported procedures in the System Object
Module symbols.
- LOCAL
Search non-exported procedures in the System Object Module
symbols.
- NESTED
Search nested procedures in the System Object Module symbols.
- PROCEDURES
Search local or exported procedures in the System
Object Module symbols.
- ALLPROC
Search local/exported/nested procedures in the System Object
Module symbols.
- EXPORTSTUB
Search export stubs in the System Object Module
symbols.
- DATAANY
Search exported or local data System Object Module symbols.
- DATAUNIV
Search exported data System Object Module symbols.
- DATALOCAL
Search local data System Object Module symbols.
- LSTPROC
Search exported level 1 procedures in the LST.
- LSTEXPORTSTUB
Search export stubs in the LST.
- ANY
Search for any type of symbol in the System Object
Module symbols.
The default is LSTPROC. Note that it is noticeably slower to look up
symbols from the System Object Module symbol table. For additional
information, see the section "Procedure Names" in chapter 2, the PROCLIST command, and the NMADDR function.
- LW
SADDR (win) r
The secondary address where the LDEV window is aimed.
The value returned is interpreted as ldev.offset.
- MACROS
U16 (limits) rw
The MACROS variable controls the size of the macro table,
and must be changed (from the default size) before any macros are
created. The MACROS limit is automatically increased to the nearest
prime number, which must be less than or equal to MACROS_LIMIT.
- MACROS_LIMIT
U16 (limits) r
MACROS_LIMIT is a compile time constant that defines the absolute maximum
size of the macro table. The product must be recompiled and redistributed
to increase this absolute capacity.
- MACRO_DEPTH
U16 (cmd) r
MACRO_DEPTH tracks the current nested call level for macros.
A depth of 1 implies the macro was invoked from the user interface.
A depth of 2 implies that the current macro was called by another
macro, and so on.
- MAPDST
U16 (cmreg) r
This variable contains the mapping DST number for CM
CST expansion.
- MAPFLAG
U16 (cmreg) r
MAPFLAG indicates the mapping of the current CM segment,
running under CST expansion. If MAPFLAG = 0, the current CM segment is logically mapped.
If MAPFLAG = 1, the current CM segment is physically mapped.
- MARKERS
STR (win) rw *
The MARKERS variable selects the type of video enhancement
which is used to flag stack markers in the CM Q (frame) and S (stack)
windows. The following string literals are valid: "INVERSE", "HALFINV",
"BLINK", "ULINE", and "FEABLE". The default is "ULINE".
- MODE
STR (misc) r This variable
contains either "NM" if you are in NMDebug, or "CM" if in cmdebug.
- MONARCHCPU
U16 (misc) r d
This variable contains the number of the Monarch processor.
- MPEXL_TABLE_VA
U16 (misc) rw
This variable contains the address of the table used
by the MPEXL command. Initially the address is set to NIL (0.0).
The first invocation of the MPEXL command will correctly replace
the NIL value with the actual table address. If any (non-NIL) virtual
address is written into this variable, then the MPEXL comand will
honor this address and use it to attempt access to the MPEXL table.
- MULTI_LINE_ERRS
U16 (cmd) rw *
When a user's multiple line input contains an error,
it is sometimes desirable to limit the quantity of error output
generated. In particular this variable controls how much of the
user's original input line is displayed in the error message:
- 1
Display the single input line that contains the
error.
- 2
Display all lines up to and including the line with
the error.
- 3
Display all input lines (up to, including and after)
the error.
The default value is 2. Any value larger than 3 is interpreted
as a 3.
- NMPW
LCPTR (win) r
The logical code address where the NM program window
is aimed.
- NM_INBASE
STR (io) rw *
The current NM input conversion base. When in NMDebug,
all values entered are assumed to be in this base unless otherwise
specified. The following values are allowed:
The names may be abbreviated to as little as a single character.
The default value is $ (hex). Refer to the SET command for an alternate method of setting this
variable.
- NM_OUTBASE
STR (io) rw *
When in NM (nmdat or nmdebug), all numbers printed
will be this base, unless otherwise indicated (refer to the SET command). The following values are allowed:
The names may be abbreviated to as little as a single character.
The default value is $ (hex). Refer to the SET command for an alternate method of setting this
variable.
- NONLOCALVARS
BOOL (cmd) rw
When NONLOCALVARS is FALSE (default), macro bodies can only reference local
variables that are declared locally within the current macro. When NONLOCALVARS is TRUE, a macro body can reference a local variable within
another macro that called it. Setting this variable is useful when
a macro is too large for the current macro size restrictions and
must be broken into several pieces. The first piece can call the
subsequent pieces without passing all of the local variables as
parameters.
- OUTBASE
STR (io) rw *
This variable tracks NM_OUTBASE and CM_OUTBASE dependent upon the MODE variable. The following values are allowed:
The names may be abbreviated to as little as 1 character.
The default is based on the current mode (NM or CM). Refer
to the SET command for an alternate method of setting this
variable.
- PC
LPTR (nmreg) r dm
NM program counter register as a logical code address.
This value is composed of data taken from CR17 (PCSF) and CR18 (PCOF).
The privileged bits from CR18 (bits 30, 31) are masked out (that
is, they are set to zero).
- PCOB
U32 (nmreg) r dm
NM program counter offset (next in pipeline queue).
- PCOF
U32 (nmreg) r dm
NM program counter offset (first in pipeline queue).
- PCQB
LPTR (nmreg) r dm
NM program counter sid.offset (next in pipeline queue). (Alias for CR18)
- PCQF
LPTR (nmreg) r dm
NM program counter sid.offset (first in pipeline queue). (Alias for CR17)
- PCSB
U32 (nmreg) r dm
NM program counter sid (next in pipeline queue).
- PCSF
U32 (nmreg) r dm
NM program counter sid (first in pipeline queue).
- PHYS_REG_WIDTH
S32 (misc) r
Returns the physical width of the registers in the
machine, as 32 or 64. Note that 64 is returned only when the machine
has HP-PA 2.0 64-bit hardware AND the OS supports it with 64-bit
ISMs.
- PID1 - PID4
U16 (nmreg) r dM
NM protection ID registers. (Alias for CR8, CR9, CR12,
CR13.) The format of the PID registers is as follows:
1 1 3
0 5 6 1
----------------------------------------------------------------
| <reserved> | Protection ID |WD|
----------------------------------------------------------------
- <reserved>
The top 16 bits are undefined for this register.
- Protection ID
The protection ID number.
- WD
Write disable bit (1 = read only, 0 = write enabled)
System Debug displays these registers in two formats:
The first value is the register as a 16-bit value. The second
form is the original 16-bit register shifted right by 1 bit followed
by the value of the write disable bit. The (W) indicates the WD bit is off. That is, write capability
is enabled. When the WD bit is on, an (R) is displayed indicating Read access.
- PIN
U16 (misc) r
The current process identification number (PIN). Note
that this variable changes when one uses the PIN command. PIN 0 (zero) indicates that the dispatcher
is running. (Refer to the variable LAST_PIN.)
- PRIV
U16 (nmreg) r dM
Current privilege level (low two bits of PCOF).
- PRIV_USER
BOOL (nmreg) r rW
This variable is TRUE if the user running Debug has
privileged mode (PM) capabilities. If set, the user has access to
all privileged commands within Debug. Privileged users may alter
the value of this variable if desired to supply a "safe" environment.
In DAT, this variable is always TRUE.
- PROGNAME
STR (misc) r
This variable contains the name of the tool that is
being run. It is either 'dat' or 'debug'.
- PROMPT
STR (io) rw
Current user prompt. It is defined as a quoted string
with the same syntax and options as the WL command. The default prompt is:
'cmdnum " (" pin ") " mode progname " " filter "> "' |
The variables in the prompt are evaluated each time the prompt
is displayed.
- PSEUDOVIRTREAD
BOOL (misc) r d
This variable is TRUE if the last virtual access came
from a pseudomapped file. Otherwise, the access came from virtual
memory.
- PSP
U32 (nmreg) r d
Previous SP. This is not really a register; it is computed
based on the current SP and size of the current frame.
- PSTMT
BOOL (misc) rw *
When PSTMT is set, the NM disassembler interprets certain
LDIL instructions as statement numbers, as generated by some of
the language compilers. The default value is TRUE.
- PSW
U32 (nmreg) r dM
Processor status register (alias for IPSW and CR22).
Refer to the IPSW environment variable for a complete description
of this variable.
- PW
LCPTR (win) r
The address (as a logical code address) where the (current)
program window is aimed.
- PWO
SPTR (win) r
The offset where the (current) program window is aimed.
- PWS
U32 (win) r
The SID (NM) or SEG (CM) where the (current) program
window is aimed.
- Q
U16 (cmreg) r dm
This is the CM Q register. The value in this register
is relative to the CM DB register.
- QUIET_MODIFY
U16 (io) rw *
When this variable is FALSE (the default value), all
modifications to registers and memory cause the current value of
the item to be displayed. If the variable is set to TRUE, all modifications
are performed quietly. Quiet modifications are useful in macros
and breakpoint command lists.
- R0
U32 (nmreg) r d
NM register 0; the constant 0 (zero).
- R1 - R31
U32 (nmreg) rwdm
NM general registers. Many of these registers have
aliases. Refer to the DR command for a complete list.
- RCTR
U32 (nmreg) r dM
NM recovery counter register. (Alias for CR0)
- RET0
U32 (nmreg) r dm
NM return register 0 (alias for R28). This register
is used by the language compilers to return function results.
- RET1
U32 (nmreg) r dm
NM return register 1 (alias for R29). This register
is used by the language compilers to return function results.
- RP
U32 (nmreg) r d
NM return pointer. This value is determined based on
stack unwind information. It may be the contents of R2 or it may
be the return address stored somewhere in the NM stack. Note that RP is not an alias for R2.
- S
U16 (cmreg) r dm
CM S (stack) register. The value in this register is
relative to the CM DB register.
- SAR
U16 (nmreg) r dm
NM shift amount register. (Alias for SR11)
- SDST
U16 (cmreg) r dm
DST number of the CM stack.
- SL
U32 (nmreg) r dm
NM static link register. (Alias for R29)
- SP
U32 (nmreg) r dm
NM stack pointer register. (Alias for R30)
- SR0 - SR7
U32 (nmreg) r dM
NM space registers 0 - 7.
- STATUS
U16 (cmreg) r dm
CM status register. This register has the following
format:
1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 --------------------------------- |M|I|T|R|O|C|CC | Segment # | --------------------------------- |
- M bit
1 if program is privileged
0 if program is in user mode
- I bit
1 if external Interrupts are enabled
0 if not
- T bit
1 if user Traps are enabled
0 if not
- R bit
1 if right stack operation pending
0 if left stack operation pending
- O bit
1 if Overflow bit set (not set if user traps enabled)
0 if not
- C bit
1 if Carry bit set
0 if not
- CC bits
01 if CCL (This is the condition code value)
10 if CCE
00 if CCG
System Debug display this register with two formats:
STATUS=%100030=(Mitroc CCG 030) |
The first value is the full 16-bit integer representation
of the register. The second format shows the value of the special
named bits. An uppercase letter means the bit is on while a lowercase
letters indicates the bit is off.
The segment number has various interpretations. For non-CST
expansion systems, this is an absolute segment number. For CST expansion
systems, refer to the MPE V/E Tables Manual for details on its interpretation.
- SYMPATH_UPSHIFT
BOOL (misc) rw
TRUE if path specifications used by symbolic formatting
should be upshifted. This should be FALSE if a symbol file originated
with a case-sensitive language, such as C. Note that this variable
affects only those symbols entered in System Debug commands and
functions, not those in symbol files.
- SYSVERSION
STR (nmreg) r
The version of the operating system (as found in SYSGLOB).
This variable is currently a null string in DAT.
- TERM_KEEPLOCK
BOOL (io) rw
If this variable is set, the terminal semaphore is
not released when the process is resumed by Debug. The default for
this variable is FALSE. If the process dies, the terminal semaphore
is automatically released. If the TERM NEXT command is issued or the value of TERM_LOCKING is changed, this variable is reset to FALSE.
This variable is available only in Debug.
- TERM_LDEV
U16 (io) rW
This variable contains the logical device number (LDEV)
to use for I/O. Debug determines this value by looking up the LDEV
for the session.
If the ENV command is used to alter this value, Debug attempts
to allocate the indicated LDEV. If the LDEV is already allocated
(that is, in use by another session), an error status is returned.
If the user has privileged mode (PM) capabilities, the allocation
check may be bypassed by specifying a negative LDEV. In this case,
all security and validity checking is bypassed. Non-Preemptive send_io
calls are done to the specified LDEV without question.
When Debug is entered from a job (this is possible when the HPDEBUG intrinsic is used), this variable is not used.
Rather, Debug performs I/O to the job's standard list file ($STDLIST).
If the JOB_DEBUG system wide variable is set, when a process being
run in a job enters Debug, this variable is set to the console port
(LDEV 20) and the CONSOLE_IO variable is set to TRUE.
Note that the CONSOLE_IO environment variable has precedence over TERM_LDEV.
 |
 |  |
 |
 | NOTE: A privileged procedure exists that allows the user to
enter Debug and specify the initial value of this variable. The
name of the routine is debug_at_ldev. It takes one parameter, the LDEV. |
 |
 |  |
 |
This variable is not available in DAT.
- TERM_LOCKING
BOOL (io) rw
If this variable is set (the default value), the debugger
will perform "terminal locking" (with a semaphore) to ensure that
only one debug process can use a terminal at any given time. This
prevents multiple prompts from appearing on the screen when debugging
multiple processes at the same terminal. The TERM command may then be used to control which process
owns the semaphore. If this variable is not set, no terminal locking
is performed.
The TERM_LDEV variable is not used to determine which semaphore
to attempt to lock; rather, the session number is used for this
purpose. There is one semaphore per session. If a process enters
Debug with its I/O from the system console (that is, the CONSOLE_IO variable was set to TRUE at entry), a single console
semaphore is used.
Altering the value of the CONSOLE_IO variable or the TERM_LDEV variable does _not affect which semaphore is used
for terminal locking.
This variable is not available in DAT.
- TERM_LOUD
BOOL (io) rw *
If this variable is clear, all output to the terminal
is suppressed with the exception of prompts and error messages.
This is useful when listing large amounts of data to a list file
so that you do not see it on your screen. The default for this variable
is TRUE.
- TERM_PAGING
BOOL (io) rw *
If this variable is set, all output is paged. That
is, after each full screen of output, System Debug pauses. At that
point the user is prompted with the question "MORE?". Any response that does not begin with the letter
"Y" or "y" will cause the user to be returned to the System Debug
prompt (any pending output is flushed). This variable may also be
set with the SET MOREON/SET MOREOFF commands. The default value is FALSE.
- TERM_WIDTH
U16 (io) rw *
This is the number of characters to print per line.
The default is set at 79. Any output line longer than this value
is split with the remainder placed on the next line.
- TIME
STR (misc) r
The current time of day in the format: "5:25 PM".
- TR0 - TR7
U32 (n*eg) r dM
NM "temp" registers (alias for CR24..CR31).
- TRACE_FUNC
U16 (cmd) rw
Setting this variable allows you to observe function
calls and their parameters. The current values and meanings are:
- 0
Trace is off.
- 1
Trace EXIT from functions.
- 2
Trace ENTRY and EXIT from functions.
- 3
Trace function PARAMETERS as well as ENTRY and EXIT.
- TRUE
BOOL (const) r
The constant "TRUE".
- USER_REG_WIDTH
S32 (misc) rw
Determines the number of register bits the user sees
with the debugger. This will affect the register display window,
the output from the DR command, and the sizes (types) of the register
ENV variables. May be either 32 or 64, but 64 bits are displayed
or returned ONLY when a 64-bit state is available. (That is, only
when ENV PHYS_REG_WIDTH is also 64.)
- VARS
U16 (limits) rw
The VARS limit determines the maximum number of variables
that can be defined by the VAR command. The VARS limit must be set (changed from the default) before
the first variable is defined. The VARS limit is automatically increased to the nearest
prime number. The combined sum of the VARS and VARS_LOC limits must be less than or equal to the value
of VARS_LIMIT.
- VARS_LIMIT
U16 (limits) r
VARS_LIMIT is the compile time constant that defines the
absolute maximum size of the variable table. The product must be
recompiled and redistributed to increase this absolute capacity.
The combined sum of the VARS and VARS_LOC limits must be less than or equal to the value VARS_LIMIT.
- VARS_LOC
U16 (limits) rw
The VARS_LOC limit determines the maximum number of local variables that
can be defined. Local variables are explicitly defined by the LOC command, and are implicitly defined for macro parameters.
The VARS_LOC limit must be set before any local variable is
defined. The combined sum of the VARS and VARS_LOC limits must be less than the value VARS_LIMIT.
- VARS_TABLE
U16 (limits) rw
VARS_TABLE tracks the total number of entries in the variable
table, which is defined to be the sum of variables VARS plus VARS_LOC. The VARS_TABLE size must always be less than or equal to VARS_LIMIT.
- VERSION
STR (misc) r
The version ID of the program, for example, "DAT XL
A.00.00".
- VW
LPTR (win) r
The virtual address where the current virtual window
is aimed.
- VWO
SPTR (win) r
The offset portion for the virtual
address where the current virtual window is aimed.
- VWS
U32 (win) r
The sid portion for the virtual
address where the current virtual window is aimed.
- WIN_LENGTH
U32 (io) rw *
Specifies the number of lines available on the display
terminal. The default value is #24. Values grater than or less than
the actual number of terminal lines may cause unpredictable screen
output.
- WIN_WIDTH
U32 (io) rw *
Specifies the number of columns available on the display
terminal. The default value is #80. Modification of this value is
permitted, but the value is ignored.
- X
U16 (c*eg) r dm
The CM X (index) register.
- ZW
U32 (win) r
The real address where the Z window is aimed.