Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

プラットフォーム固有のレジスタ

次の表は、式で使用できる SPARC、x86、および AMD64 の各アーキテクチャーのプラットフォームに固有のレジスタ名を示しています。

SPARC レジスタ情報

SPARC アーキテクチャーのレジスタ情報は次のとおりです。

レジスタ  

内容の説明  

$g0 through $g7

「大域」レジスタ 

$o0 through $o7

「出力」レジスタ 

$l0 through $l7

「局所」レジスタ 

$i0 through $i7

「入力」レジスタ 

$fp

フレームポインタ (レジスタ $i6 と等価) 

$sp

スタックポインタ (レジスタ $o6 と等価) 

$y

Y レジスタ 

$psr

プロセッサ状態レジスタ 

$wim

ウィンドウ無効マスクレジスタ 

$tbr

トラップベースレジスタ 

$pc

プログラムカウンタ 

$npc

次のプログラムカウンタ 

$f0 through $f31

FPU "f" レジスタ 

$fsr

FPU 状態レジスタ 

$fq

FPU キュー 

$f0f1 $f2f3 ... $f30f31 のような浮動小数点レジスタのペアは、C の「double」型とみなされます (通常、$fN レジスタは C の「float」型とみなされます)。これらのペアは、$d0 ... $d30 とも呼ばれます。

次の追加レジスタは、SPARC V9 および V8+ ハードウェアで使用できます。


$g0g1 through $g6g7
$o0o1 through $o6o7
$xfsr $tstate $gsr
$f32f33 $f34f35 through $f62f63 ($d32 ... $$d62)

SPARC のレジスタとアドレッシングの詳細については、『SPARC アーキテクチャーマニュアル バージョン 8』(トッパン刊) および『SPARC Assembly Language Reference Manual』を参照してください。

x86 レジスタ情報

x86 アーキテクチャーのレジスタ情報は次のとおりです。

レジスタ  

内容の説明  

$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

80387 用レジスタは次のとおりです。

レジスタ  

内容の説明  

$fctrl

コントロールレジスタ 

$fstat

状態レジスタ 

$ftag

タグレジスタ 

$fip

命令ポインタオフセット 

$fcs

コードセグメントセレクタ 

$fopoff

オペランドポインタオフセット 

$fopsel

オペランドポインタセレクタ 

$st0 through $st7

データレジスタ 

AMD64 レジスタ情報

AMD64 アーキテクチャーのレジスタ情報は次のとおりです。

レジスタ  

内容の説明  

rax

汎用レジスタ - 関数呼び出しの引数の引き渡し 

rbx

汎用レジスタ - 呼び出し先保存 

rcx

汎用レジスタ - 関数呼び出しの引数の引き渡し 

rdx

汎用レジスタ - 関数呼び出しの引数の引き渡し 

rbp

汎用レジスタ - スタック管理/フレームポインタ 

rsi

汎用レジスタ - 関数呼び出しの引数の引き渡し 

rdi

汎用レジスタ - 関数呼び出しの引数の引き渡し 

rsp

汎用レジスタ - スタック管理/スタックポインタ 

r8

汎用レジスタ - 関数呼び出しの引数の引き渡し 

r9

汎用レジスタ - 関数呼び出しの引数の引き渡し 

r10

汎用レジスタ - 一時レジスタ 

r11

汎用レジスタ - 一時レジスタ 

r12

汎用レジスタ - 呼び出し先保存 

r13

汎用レジスタ - 呼び出し先保存 

r14

汎用レジスタ - 呼び出し先保存 

r15

汎用レジスタ - 呼び出し先保存 

rflags

フラグレジスタ 

rip

命令ポインタ 

mmx0/st0

64 ビットメディアおよび浮動小数点レジスタ 

mmx1/st1

64 ビットメディアおよび浮動小数点レジスタ 

mmx2/st2

64 ビットメディアおよび浮動小数点レジスタ 

mmx3/st3

64 ビットメディアおよび浮動小数点レジスタ 

mmx4/st4

64 ビットメディアおよび浮動小数点レジスタ 

mmx5/st5

64 ビットメディアおよび浮動小数点レジスタ 

mmx6/st6

64 ビットメディアおよび浮動小数点レジスタ 

mmx7/st7

64 ビットメディアおよび浮動小数点レジスタ 

xmm0

128 ビットメディアレジスタ 

xmm1

128 ビットメディアレジスタ 

xmm2

128 ビットメディアレジスタ 

xmm3

128 ビットメディアレジスタ 

xmm4

128 ビットメディアレジスタ 

xmm5

128 ビットメディアレジスタ 

xmm6

128 ビットメディアレジスタ 

xmm7

128 ビットメディアレジスタ 

xmm8

128 ビットメディアレジスタ 

xmm9

128 ビットメディアレジスタ 

xmm10

128 ビットメディアレジスタ 

xmm11

128 ビットメディアレジスタ 

xmm12

128 ビットメディアレジスタ 

xmm13

128 ビットメディアレジスタ 

xmm14

128 ビットメディアレジスタ 

xmm15

128 ビットメディアレジスタ 

cs

セグメントレジスタ 

os

セグメントレジスタ 

es

セグメントレジスタ 

fs

セグメントレジスタ 

gs

セグメントレジスタ 

ss

セグメントレジスタ 

fcw

fxsave および fxstor メモリーイメージ制御ワード

fsw

fxsave および fxstor メモリーイメージステータスワード

ftw

fxsave および fxstor メモリーイメージタグワード

fop

fxsave および fxstor メモリーイメージ最終 x87 オペコード

frip

fxsave および fxstor メモリーイメージ 64 ビットオフセットからコードセグメントへ

frdp

fxsave および fxstor メモリーイメージ 64 ビットオフセットからデータセグメントへ

mxcsr

fxsave および fxstor メモリーイメージ 128 メディア命令制御およびステータスレジスタ

mxcsr_mask

mxcsr_mask のビットを設定し、mxcsr でサポートされる機能ビットを示す