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

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

データレジスタ