uregs[] 配列を使用すると、個々のユーザーレジスタにアクセスできます。以下の表に、uregs[] 配列のインデックスを、Solaris でサポートされているシステムアーキテクチャ別に示します。
表 33–1 SPARC uregs[] 定数|
定数 |
レジスタ |
|---|---|
|
R_G0..R_G7 |
%g0..%g7 汎用レジスタ |
|
R_O0..R_O7 |
%o0..%o7 アウトレジスタ |
|
R_L0..R_L7 |
%l0..%l7 ローカルレジスタ |
|
R_I0..R_I7 |
%i0..%i7 インレジスタ |
|
R_CCR |
%ccr 条件コードレジスタ |
|
R_PC |
%pc プログラムカウンタ |
|
R_NPC |
%npc 次のプログラムカウンタ |
|
R_Y |
%y 乗算/除算レジスタ |
|
R_ASI |
%asi アドレス空間識別レジスタ |
|
R_FPRS |
%fprs 浮動小数点レジスタの状態 |
表 33–2 x86 uregs[] 定数
|
定数 |
レジスタ |
|---|---|
|
R_CS |
%cs |
|
R_GS |
%gs |
|
R_ES |
%es |
|
R_DS |
%ds |
|
R_EDI |
%edi |
|
R_ESI |
%esi |
|
R_EBP |
%ebp |
|
R_EAX |
%eax |
|
R_ESP |
%esp |
|
R_EAX |
%eax |
|
R_EBX |
%ebx |
|
R_ECX |
%ecx |
|
R_EDX |
%edx |
|
R_TRAPNO |
%trapno |
|
R_ERR |
%err |
|
R_EIP |
%eip |
|
R_CS |
%cs |
|
R_ERR |
%err |
|
R_EFL |
%efl |
|
R_UESP |
%uesp |
|
R_SS |
%ss |
AMD64 プラットフォームの uregs 配列には、x86 プラットフォームの内容に加えて、以下の表の要素が含まれます。
表 33–3 amd64 uregs[] 定数|
定数 |
レジスタ |
|---|---|
|
R_RSP |
%rsp |
|
R_RFL |
%rfl |
|
R_RIP |
%rip |
|
R_RAX |
%rax |
|
R_RCX |
%rcx |
|
R_RDX |
%rdx |
|
R_RBX |
%rbx |
|
R_RBP |
%rbp |
|
R_RSI |
%rsi |
|
R_RDI |
%rdi |
|
R_R8 |
%r8 |
|
R_R9 |
%r9 |
|
R_R10 |
%r10 |
|
R_R11 |
%r11 |
|
R_R12 |
%r12 |
|
R_R13 |
%r13 |
|
R_R14 |
%r14 |
|
R_R15 |
%r15 |
すべてのプラットフォームで使用できる別名は、以下の表のとおりです。
表 33–4 共通の uregs[] 定数|
定数 |
レジスタ |
|---|---|
|
R_PC |
プログラムカウンタレジスタ |
|
R_SP |
スタックポインタレジスタ |
|
R_R0 |
最初の復帰コード |
|
R_R1 |
2 番目の復帰コード |