The following tables list platform-specific register names for SPARC architecture, x86 architecture, and AMD64 architecture that can be used in expressions.
The following register information is for [Please define the SPARCsans text entity] architecture.
|
Register |
Description |
|---|---|
|
$g0 through $g7 |
Global registers |
|
$o0 through $o7 |
“out” registers |
|
$l0 through $l7 |
“local” registers |
|
$i0 through $i7 |
“in” registers |
|
$fp |
Frame pointer, equivalent to register $i6 |
|
$sp |
Stack pointer, equivalent to register $o6 |
|
$y |
Y register |
|
$psr |
Processor state register |
|
$wim |
Window invalid mask register |
|
$tbr |
Trap base register |
|
$pc |
Program counter |
|
$npc |
Next program counter |
|
$f0 through $f31 |
FPU “f” registers |
|
$fsr |
FPU status register |
|
$fq |
FPU queue |
The $f0f1 $f2f3 ... $f30f31 pairs of floating-point registers are treated as having C “double” type (normally $fN registers are treated as C “float” type). These pairs can also be referred to as $d0 ... $d30.
The following additional registers are available on SPARC V9 and V8+ hardware:
$g0g1 through $g6g7 $o0o1 through $o6o7 $xfsr $tstate $gsr $f32f33 $f34f35 through $f62f63 ($d32 ... $$d62) |
See the SPARC Architecture Reference Manual and the SPARC Assembly Language Reference Manual for more information on SPARC registers and addressing.
The following register information is for x86 architecture.
|
Register |
Description |
|---|---|
|
$gs |
Alternate data segment register |
|
$fs |
Alternate data segment register |
|
$es |
Alternate data segment register |
|
$ds |
Data segment register |
|
$edi |
Destination index register |
|
$esi |
Source index register |
|
$ebp |
Frame pointer |
|
$esp |
Stack pointer |
|
$ebx |
General register |
|
$edx |
General register |
|
$ecx |
General register |
|
$eax |
General register |
|
$trapno |
Exception vector number |
|
$err |
Error code for exception |
|
$eip |
Instruction pointer |
|
$cs |
Code segment register |
|
$eflags |
Flags |
|
$uesp |
User stack pointer |
|
$ss |
Stack segment register |
Commonly used registers are also aliased to their machine independent names.
|
Register |
Description |
|---|---|
|
$sp |
Stack pointer; equivalent of $uesp |
|
$pc |
Program counter; equivalent of $eip |
|
$fp |
Frame pointer; equivalent of $ebp |
Registers for the 80386 lower halves (16 bits) are:
|
Register |
Description |
|---|---|
|
$ax |
General register |
|
$cx |
General register |
|
$dx |
General register |
|
$bx |
General register |
|
$si |
Source index register |
|
$di |
Destination index register |
|
$ip |
Instruction pointer, lower 16 bits |
|
$flags |
Flags, lower 16 bits |
The first four 80386 16-bit registers can be split into 8-bit parts:
|
Register |
Description |
|---|---|
|
$al |
Lower (right) half of register $ax |
|
$ah |
Higher (left) half of register $ax |
|
$cl |
Lower (right) half of register $cx |
|
$ch |
Higher (left) half of register $cx |
|
$dl |
Lower (right) half of register $dx |
|
$dh |
Higher (left) half of register $dx |
|
$bl |
Lower (right) half of register $bx |
|
$bh |
Higher (left) half of register $bx |
Registers for the 80387 are:
|
Register |
Description |
|---|---|
|
$fctrl |
Control register |
|
$fstat |
Status register |
|
$ftag |
Tag register |
|
$fip |
Instruction pointer offset |
|
$fcs |
Code segment selector |
|
$fopoff |
Operand pointer offset |
|
$fopsel |
Operand pointer selector |
|
$st0 through $st7 |
Data registers |
The following register information is for AMD64 architecture:
|
Register |
Description |
|---|---|
|
rax |
General purpose register - argument passing for function calls |
|
rbx |
General purpose register - callee-saved |
|
rcx |
General purpose register - argument passing for function calls |
|
rdx |
General purpose register - argument passing for function calls |
|
rbp |
General purpose register - stack management/frame pointer |
|
rsi |
General purpose register - argument passing for function calls |
|
rdi |
General purpose register - argument passing for function calls |
|
rsp |
General purpose register - stack management/stack pointer |
|
r8 |
General purpose register - argument passing for function calls |
|
r9 |
General purpose register - argument passing for function calls |
|
r10 |
General purpose register - temporary |
|
r11 |
General purpose register - temporary |
|
r12 |
General purpose register - callee-saved |
|
r13 |
General purpose register - callee-saved |
|
r14 |
General purpose register - callee-saved |
|
r15 |
General purpose register - callee-saved |
|
rflags |
Flags register |
|
rip |
Instruction pointer |
|
mmx0/st0 |
64-bit media and floating point register |
|
mmx1/st1 |
64-bit media and floating point register |
|
mmx2/st2 |
64-bit media and floating point register |
|
mmx3/st3 |
64-bit media and floating point register |
|
mmx4/st4 |
64-bit media and floating point register |
|
mmx5/st5 |
64-bit media and floating point register |
|
mmx6/st6 |
64-bit media and floating point register |
|
mmx7/st7 |
64-bit media and floating point register |
|
xmm0 |
128-bit media register |
|
xmm1 |
128-bit media register |
|
xmm2 |
128-bit media register |
|
xmm3 |
128-bit media register |
|
xmm4 |
128-bit media register |
|
xmm5 |
128-bit media register |
|
xmm6 |
128-bit media register |
|
xmm7 |
128-bit media register |
|
xmm8 |
128-bit media register |
|
xmm9 |
128-bit media register |
|
xmm10 |
128-bit media register |
|
xmm11 |
128-bit media register |
|
xmm12 |
128-bit media register |
|
xmm13 |
128-bit media register |
|
xmm14 |
128-bit media register |
|
xmm15 |
128-bit media register |
|
cs |
Segment register |
|
os |
Segment register |
|
es |
Segment register |
|
fs |
Segment register |
|
gs |
Segment register |
|
ss |
Segment register |
|
fcw |
fxsave and fxstor memory image control word |
|
fsw |
fxsave and fxstor memory image status word |
|
ftw |
fxsave and fxstor memory image tag word |
|
fop |
fxsave and fxstor memory image last x87 op code |
|
frip |
fxsave and fxstor memory image 64-bit offset into the code segment |
|
frdp |
fxsave and fxstor memory image 64-bit offset into the date segment |
|
mxcsr |
fxsave and fxstor memory image 128 media instruction control and status register |
|
mxcsr_mask |
set bits in mxcsr_mask indicate supported feature bits in mxcsr |