Display or set the current CPU registers saved on entry to the Kernel Debugger. Set default addresses for E command, D command, K command and U command.
Under the Dump Formatter this command is implemented as an alias to the .R command. Also applicable to the Dump Formatter only, the default adressing mode is not set according to the VM flags of the EFLAGS register but is assumed always to be in protect mode. This has been corrected from fix pack 29 of Wapr 3.0 and base Warp 4.0.
The remaining discussion in the section applies to the Kernel Debugger.
Syntax:
ÄÄÄÄ R ÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ³ ÃÄÄ T ÄÄ´ ³ ³ ÃÄ´ flag register ÃÄ´ ³ ³ ÃÄ´ 2-bit flag ÃÄ´ ³ ³ ÃÄ´ 16-bit register ÃÄ´ ³ ³ ÀÄ´ 32-bit register ÃÄÙ flag register: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÃÄÂÄ F ÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄ EF ÄÙ ÀÄÄ flag mnemonics ÄÄÙ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÃÄ CR0 ÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄ cr0 flag mnemonics ÄÄÙ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÀÄ MSW ÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄ msw flag mnemonics ÄÄÙ 2-bit flag: ÃÄÄÄ IOPL ÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄ pl ÄÙ 16-bit register: ÃÄÄÂÄ AX ÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄ BX Ä´ ³ ³ ÃÄ CX Ä´ ÀÄÄ 16-bit value ÄÄÙ ÃÄ DX Ä´ ÃÄ SI Ä´ ÃÄ DI Ä´ ÃÄ SP Ä´ ÃÄ BP Ä´ ÃÄ IP Ä´ ÃÄ PC Ä´ ÃÄ ES Ä´ ÃÄ CS Ä´ ÃÄ DS Ä´ ÃÄ SS Ä´ ÃÄ FS Ä´ ÃÄ GS Ä´ ÃÄ TR Ä´ ÃÄ IDTL Ä´ ÃÄ GDTL Ä´ ÀÄ LDTR ÄÙ 32-bit register: ÃÄÄÂÄ EAX ÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄ EBX Ä´ ³ ³ ÃÄ ECX Ä´ ÀÄÄ 32-bit value ÄÄÙ ÃÄ EDX Ä´ ÃÄ ESI Ä´ ÃÄ EDI Ä´ ÃÄ ESP Ä´ ÃÄ EBP Ä´ ÃÄ EIP Ä´ ÃÄ CR2 Ä´ ÃÄ CR3 Ä´ ÃÄ CR4 Ä´ ÃÄ DR0 Ä´ ÃÄ DR1 Ä´ ÃÄ DR2 Ä´ ÃÄ DR3 Ä´ ÃÄ DR6 Ä´ ÃÄ DR7 Ä´ ÃÄ TR6 Ä´ ÃÄ TR7 Ä´ ÃÄ IDTB Ä´ ÀÄ GDTB ÄÙ
Parameters:
Register mnemonics are assigned the values displayed for use in address expressions and operands of other Kernel Debugger and Dump Formatter commands.
Note:
The .SS command may be used to change the displayed values of CS, EIP, SS and ESP. It does not affect the values restored then the Kernel Debugger returns control to the system.
This option affects both the R and .R commands.
F
Some flags are toggled by specifying a single mnemonic, others use a one mnemonic for the set condition and a another of the reset condition.
If replacements flags are omitted then the user is prompted for values.
The following mnemonics are defined. The value of t implies the flag value is toggled when the mnemonic is specified:
ÚÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Flag³Bit ³Value³Description ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³VM ³17 ³t ³Virtual 8086 Mode (EFLAGS ³ ³ ³ ³ ³only) ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³RF ³16 ³t ³Resume Flag - Disable Debug ³ ³ ³ ³ ³Exceptions (EFLAGS only) ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³NT ³14 ³t ³Nested Task ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³OV ³11 ³1 ³Overflow ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³NV ³11 ³0 ³ªOverflow ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³DN ³10 ³1 ³Direction Down ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³UP ³10 ³0 ³Direction Up ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³EI ³9 ³1 ³Enable Interrupts ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³DI ³9 ³0 ³Disable Interrupts ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³NG ³7 ³1 ³Negative Sign ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³PL ³7 ³0 ³Plus Sign ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ZR ³6 ³1 ³Zero Result ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³NZ ³6 ³0 ³Non-zero Result ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³AC ³4 ³1 ³Auxiliary Carry ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³NA ³4 ³0 ³ªAuxiliary Carry ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³PE ³2 ³1 ³Parity Even ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³PO ³2 ³0 ³Parity Odd ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³CY ³0 ³1 ³Carry ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³NC ³0 ³0 ³ªCarry ³ ÀÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙcr0 flag mnemonics
The following mnemonics are defined:
ÚÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Bit ³Value ³Flag ³Description ³ ÃÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³PG ³31 ³1 ³Paging Enabled ³ ÃÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ET ³4 ³1 ³Extension Type Flag - x87 ³ ³ ³ ³ ³support ³ ÃÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³TS ³3 ³1 ³Task Switch Flag ³ ÃÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³EM ³2 ³1 ³Emulation exception ³ ÃÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³MP ³1 ³1 ³Math Present ³ ÃÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³PM ³0 ³1 ³Protect Mode Enabled ³ ÀÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙmsw flag mnemonics
The following mnemonics are defined:
ÚÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³flag³bit ³value³description ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³TS ³3 ³1 ³Task Switch Flag ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³EM ³2 ³1 ³Emulation exception ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³MP ³1 ³1 ³Math Present ³ ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³PM ³0 ³1 ³Protect Mode Enabled ³ ÀÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ2-bit flag
If the replacement value is not specified then the user is prompted for a value.
GDTL
This option implies a request to update a register value. If the corresponding new 32-bit value is not specified then the prompted for a replacement value.
Results & Notes:
The register information is obtained from a special save area when the Kernel Debugger is entered and restored from this area when control returns to the system.
When no operands are specified the R command operates in display mode in exactly the same manner as the .R command.
From fix pack 29 for Warp 3.0 and base Warp 4.0 Pentium Processor support was added to the Kernel Debugger. This allows CR4 to be specified as a register mnemonic, though CR4 is never displayed without specifying it explicitely as an operand to the R command. On non-Pentium systems, CR4 is shown as 00000000.
When operands are specified the R command. operates in alter mode. If no replacement value is supplied on the command then the user is prompted with the current value followed by a colon prompt character. For example:
##R SS 0030 :
Flag register value prompts have their current flag setting interpreted using the mnemonics described above. For example:
##R EF --(rf) --(vm) --(nt) nv(ov) up(dn) ei(di) pl(ng) nz(zr) na(ac) po(pe) nc(cy) :
This example shows mnemonics for current settings followed by their negating mnemonic in brackets. For example:
RF is not in effect, but since it is a toggle flag, the value RF specified at the prompt would set RF.
NV is in effect. To negate it, specify OV at the prompt.