次の表は、式で使用できる SPARC、x86、および AMD64 の各アーキテクチャーのプラットフォームに固有のレジスタ名を示しています。
[Please define the SPARCsans text entity] アーキテクチャーのレジスタ情報は次のとおりです。
レジスタ |
内容の説明 |
---|---|
$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』を参照してください。
レジスタ |
内容の説明 |
---|---|
$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 アーキテクチャーのレジスタ情報は次のとおりです。
レジスタ |
内容の説明 |
---|---|
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 でサポートされる機能ビットを示す |