- 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 Precision Architecture and Instruction Reference Manual (09740-90014)): | 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 ignore 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 stopped 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. 
- 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). 
- 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". 
- 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.