regs コマンドを使用すると、すべてのレジスタの値を表示することができます。
regs [-f] [-F]
-f には浮動小数点レジスタ (単精度)、-F には浮動小数点レジスタ (倍精度) が含まれます。これは、SPARC だけのオプションです。
dbx 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 ...
次の表は、式で使用できる SPARC および x86 のプラットフォームに固有のレジスタ名を示しています。
レジスタ |
説明 |
---|---|
$g0-$g7 |
「大域」レジスタ |
$o0-$o7 |
「出力」レジスタ |
$l0-$17 |
「局所」レジスタ |
$i0-$i7 |
「入力」レジスタ |
$fp |
フレームポインタ (レジスタ $i6 と等価) |
$sp |
スタックポインタ (レジスタ $o6 と等価) |
$y |
Y レジスタ |
$psr |
プロセッサ状態レジスタ |
$wim |
ウィンドウ無効マスクレジスタ |
$tbr |
トラップベースレジスタ |
$pc |
プログラムカウンタ |
$npc |
次のプログラムカウンタ |
$f0-$f31 |
FPU “f” レジスタ |
$fsr |
FPU 状態レジスタ |
$fq |
FPU キュー |
$f0f1 $f2f3...$f30f31 のような浮動小数点レジスタのペアは、C の“doule”型とみなされます。通常、$fN レジスタは C の“float”型とみなされます。
次の追加レジスタは、SPARC V9 および V8+ ハードウェアで使用できます。
$xg0 $xg1 through $xg7 $xo0 $xo1 through $xo7 $xfsr $tstate $gsr $f32f33 $f34f35 through $f62f63
SPARC のレジスタとアドレッシングの詳細については、『SPARC アーキテクチャマニュアルバージョン 8』(トッパン刊) および『Sun-4 Assembly Language Reference Manual』を参照してください。
レジスタ |
説明 |
---|---|
$gs |
代替データセグメントレジスタ |
$fs |
代替データセグメントレジスタ |
$es |
代替データセグメントレジスタ |
$ds |
データセグメントレジスタ |
$edi |
デスティネーションインデックスレジスタ |
$esi |
ソースインデックスレジスタ |
$ebp |
フレームポインタ |
$esp |
スタックポインタ |
$ebx |
汎用レジスタ |
$edx |
汎用レジスタ |
$ecx |
汎用レジスタ |
$eax |
汎用レジスタ |
$trapno |
例外ベクトル番号 |
$err |
例外を示すエラーコード |
$eip |
命令ポインタ |
$cs |
コードセグメントレジスタ |
$eflags |
フラグ |
$uesp |
ユーザースタックレジスタ |
$ss |
スタックセグメントレジスタ |
一般的に使用されるレジスタには、マシンに依存しない名前が別名として指定されます。
$sp |
スタックポインタ ($uesp と同じ)。 |
$pc |
プログラムカウンタ ($eip と同じ)。 |
$fp |
フレームポインタ ($ebp と同じ)。 |
80386 用の下位 16 ビットのレジスタは次のとおりです。
$ax |
汎用レジスタ |
$cx |
汎用レジスタ |
$dx |
汎用レジスタ |
$bx |
汎用レジスタ |
$si |
ソースインデックスレジスタ |
$di |
デスティネーションインデックスレジスタ |
$ip |
命令ポインタ (下位 16 ビット) |
$flags |
フラグ (下位 16 ビット) |
上記のうち最初の 4 つの 80386 用 16 ビットレジスタは、8 ビットずつに分割できます。
$al |
レジスタの下位 (右) 部分 |
$ax |
$ah |
レジスタの上位 (左) 部分 |
$ax |
$cl |
レジスタの下位 (右) 部分 |
$cx |
$ch |
レジスタの上位 (左) 部分 |
$cx |
$dl |
レジスタの下位 (右) 部分 |
$dx |
$dh |
レジスタの上位 (左) 部分 |
$dx |
$bl |
レジスタの下位 (右) 部分 |
$bx |
$bh |
レジスタの上位 (左) 部分 |
$bx |
$fctrl |
コントロールレジスタ |
$fstat |
状態レジスタ |
$ftag |
タグレジスタ |
$fip |
命令ポインタオフセット |
$fcs |
コードセグメントセレクタ |
$fopoff |
オペランドポインタオフセット |
$fopsel |
オペランドポインタセレクタ |
$st0 - $st7 |
データレジスタ |