The regs command lets you print the value of all the registers.
Here is the syntax for the regs command:
regs [-f][-F]
--f includes floating point registers (single precision). --F includes floating point registers (double precision); this is a SPARC only option.
dbx[13] regs -F current thread: t@1 current frame: [1] g0-g3 0x00000000 0x0011d000 0x00000000 0x00000000 g4-g7 0x00000000 0x00000000 0x00000000 0x00020c38 o0-o3 0x00000003 0x00000014 0xef7562b4 0xeffff420 o4-o7 0xef752f80 0x00000003 0xeffff3d8 0x000109b8 l0-l3 0x00000014 0x0000000a 0x0000000a 0x00010a88 l4-l7 0xeffff438 0x00000001 0x00000007 0xef74df54 i0-i3 0x00000001 0xeffff4a4 0xeffff4ac 0x00020c00 i4-i7 0x00000001 0x00000000 0xeffff440 0x000108c4 y 0x00000000 psr 0x40400086 pc 0x000109c0:main+0x4 mov 0x5, %l0 npc 0x000109c4:main+0x8 st %l0, [%fp - 0x8] f0f1 +0.00000000000000e+00 f2f3 +0.00000000000000e+00 f4f5 +0.00000000000000e+00 f6f7 +0.00000000000000e+00 ...
The following tables list platform-specific register names for SPARC and Intel that can be used in expressions.
The following register information is for SPARC systems.
Register |
Description |
---|---|
$g0 through $g7 |
Global registers |
$o0 through $o7 |
"out" registers |
$l0 through $l7 |
"local" registers |
$i0 through $i7 |
"in" registers |
$fp |
Frame pointer, equivalent to register $i6 |
$sp |
Stack pointer, equivalent to register $o6 |
$y |
Y register |
$psr |
Processor state register |
$wim |
Window invalid mask register |
$tbr |
Trap base register |
$pc |
Program counter |
$npc |
Next program counter |
$f0 through $f31 |
FPU "f" registers |
$fsr |
FPU status register |
$fq |
FPU queue |
The $f0f1 $f2f3 ... $f30f31 pairs of floating point registers are treated as having C "double" type (normally $fN registers are treated as C "float" type). These pairs can also be referred to as $d0 ... $d30.
The following additional registers are available on SPARC V9 and V8+ hardware:
$g0g1 through $g6g7 $o0o1 through $o6o7 $xfsr $tstate $gsr $f32f33 $f34f35 through $f62f63 ($d32 ... $$d62)
See the SPARC Architecture Reference Manual and the Sun-4 Assembly Language Reference Manual for more information on SPARC registers and addressing.
The following register information is for Intel systems.
Register |
Description |
---|---|
$gs |
Alternate data segment register |
$fs |
Alternate data segment register |
$es |
Alternate data segment register |
$ds |
Data segment register |
$edi |
Destination index register |
$esi |
Source index register |
$ebp |
Frame pointer |
$esp |
Stack pointer |
$ebx |
General register |
$edx |
General register |
$ecx |
General register |
$eax |
General register |
$trapno |
Exception vector number |
$err |
Error code for exception |
$eip |
Instruction pointer |
$cs |
Code segment register |
$eflags |
Flags |
$es |
Alternate data segment register |
$uesp |
User stack pointer |
$ss |
Stack segment register |
Commonly used registers are also aliased to their machine independent names:
$sp |
Stack pointer; equivalent of $uesp |
$pc |
Program counter; equivalent of $eip |
$fp |
Frame pointer; equivalent of $ebp |
Registers for the 80386 lower halves (16 bits) are:
$ax |
General register |
$cx |
General register |
$dx |
General register |
$bx |
General register |
$si |
Source index register |
$di |
Destination index register |
$ip |
Instruction pointer, lower 16 bits |
$flags |
Flags, lower 16 bits |
The first four 80386 16-bit registers can be split into 8-bit parts:
$al |
Lower (right) half of register |
$ax |
$ah |
Higher (left) half of register |
$ax |
$cl |
Lower (right) half of register |
$cx |
$ch |
Higher (left) half of register |
$cx |
$dl |
Lower (right) half of register |
$dx |
$dh |
Higher (left) half of register |
$dx |
$bl |
Lower (right) half of register |
$bx |
$bh |
Higher (left) half of register |
$bx |
$fctrl |
Control register |
$fstat |
Status register |
$ftag |
Tag register |
$fip |
Instruction pointer offset |
$fcs |
Code segment selector |
$fopoff |
Operand pointer offset |
$fopsel |
Operand pointer selector |
$st0 through $st7 |
Data registers |