regs 命令的语法如下:
regs [-f][-F] |
-f 表示包括浮点寄存器(单精度)。-F 表示包括浮点寄存器(双精度)。
有关更多信息,请参见regs 命令。
对于基于 SPARC 的系统:
dbx[13] regs -F current thread: t@1 current frame: [1] g0-g3 0x00000000 0x0011d000 0x00000000 0x00000000 g4-g7 0x00000000 0x00000000 0x00000000 0x00020c38 o0-o3 0x00000003 0x00000014 0xef7562b4 0xeffff420 o4-o7 0xef752f80 0x00000003 0xeffff3d8 0x000109b8 l0-l3 0x00000014 0x0000000a 0x0000000a 0x00010a88 l4-l7 0xeffff438 0x00000001 0x00000007 0xef74df54 i0-i3 0x00000001 0xeffff4a4 0xeffff4ac 0x00020c00 i4-i7 0x00000001 0x00000000 0xeffff440 0x000108c4 y 0x00000000 psr 0x40400086 pc 0x000109c0:main+0x4 mov 0x5, %l0 npc 0x000109c4:main+0x8 st %l0, [%fp - 0x8] f0f1 +0.00000000000000e+00 f2f3 +0.00000000000000e+00 f4f5 +0.00000000000000e+00 f6f7 +0.00000000000000e+00 ... |
对于基于 x64 的系统:
(dbx) regs current frame: [1] r15 0x0000000000000000 r14 0x0000000000000000 r13 0x0000000000000000 r12 0x0000000000000000 r11 0x0000000000401b58 r10 0x0000000000000000 r9 0x0000000000401c30 r8 0x0000000000416cf0 rdi 0x0000000000416cf0 rsi 0x0000000000401c18 rbp 0xfffffd7fffdff820 rbx 0xfffffd7fff3fb190 rdx 0x0000000000401b50 rcx 0x0000000000401b54 rax 0x0000000000416cf0 trapno 0x0000000000000003 err 0x0000000000000000 rip 0x0000000000401709:main+0xf9 movl $0x0000000000000000,0xfffffffffffffffc(%rbp) cs 0x000000000000004b eflags 0x0000000000000206 rsp 0xfffffd7fffdff7b0 ss 0x0000000000000043 fs 0x00000000000001bb gs 0x0000000000000000 es 0x0000000000000000 ds 0x0000000000000000 fsbase 0xfffffd7fff3a2000 gsbase 0xffffffff80000000 (dbx) regs -F current frame: [1] r15 0x0000000000000000 r14 0x0000000000000000 r13 0x0000000000000000 r12 0x0000000000000000 r11 0x0000000000401b58 r10 0x0000000000000000 r9 0x0000000000401c30 r8 0x0000000000416cf0 rdi 0x0000000000416cf0 rsi 0x0000000000401c18 rbp 0xfffffd7fffdff820 rbx 0xfffffd7fff3fb190 rdx 0x0000000000401b50 rcx 0x0000000000401b54 rax 0x0000000000416cf0 trapno 0x0000000000000003 err 0x0000000000000000 rip 0x0000000000401709:main+0xf9 movl $0x0000000000000000,0xfffffffffffffffc(%rbp) cs 0x000000000000004b eflags 0x0000000000000206 rsp 0xfffffd7fffdff7b0 ss 0x0000000000000043 fs 0x00000000000001bb gs 0x0000000000000000 es 0x0000000000000000 ds 0x0000000000000000 fsbase 0xfffffd7fff3a2000 gsbase 0xffffffff80000000 st0 +0.00000000000000000000e+00 st1 +0.00000000000000000000e+00 st2 +0.00000000000000000000e+00 st3 +0.00000000000000000000e+00 st4 +0.00000000000000000000e+00 st5 +0.00000000000000000000e+00 st6 +0.00000000000000000000e+00 st7 +NaN xmm0a-xmm0d 0x00000000 0xfff80000 0x00000000 0x00000000 xmm1a-xmm1d 0x00000000 0x00000000 0x00000000 0x00000000 xmm2a-xmm2d 0x00000000 0x00000000 0x00000000 0x00000000 xmm3a-xmm3d 0x00000000 0x00000000 0x00000000 0x00000000 xmm4a-xmm4d 0x00000000 0x00000000 0x00000000 0x00000000 xmm5a-xmm5d 0x00000000 0x00000000 0x00000000 0x00000000 xmm6a-xmm6d 0x00000000 0x00000000 0x00000000 0x00000000 xmm7a-xmm7d 0x00000000 0x00000000 0x00000000 0x00000000 xmm8a-xmm8d 0x00000000 0x00000000 0x00000000 0x00000000 xmm9a-xmm9d 0x00000000 0x00000000 0x00000000 0x00000000 xmm10a-xmm10d 0x00000000 0x00000000 0x00000000 0x00000000 xmm11a-xmm11d 0x00000000 0x00000000 0x00000000 0x00000000 xmm12a-xmm12d 0x00000000 0x00000000 0x00000000 0x00000000 xmm13a-xmm13d 0x00000000 0x00000000 0x00000000 0x00000000 xmm14a-xmm14d 0x00000000 0x00000000 0x00000000 0x00000000 xmm15a-xmm15d 0x00000000 0x00000000 0x00000000 0x00000000 fcw-fsw 0x137f 0x0000 fctw-fop 0x0000 0x0000 frip 0x0000000000000000 frdp 0x0000000000000000 mxcsr 0x00001f80 mxcr_mask 0x0000ffff (dbx) |
以下各表列出了可在表达式中使用的 SPARC、x86 和 AMD64 体系结构的平台特定寄存器名称。
寄存器 |
说明 |
---|---|
$g0 到 $g7 |
全局寄存器 |
$o0 到 $o7 |
“外部”寄存器 |
$l0 到 $l7 |
“本地”寄存器 |
$i0 到 $i7 |
“内部”寄存器 |
$fp |
帧指针,等同于寄存器 $i6 |
$sp |
栈指针,等同于寄存器 $o6 |
$y |
Y 寄存器 |
$psr |
处理器状态寄存器 |
$wim |
窗口无效屏蔽寄存器 |
$tbr |
捕获基址寄存器 |
$pc |
程序计数器 |
$npc |
下一程序计数器 |
$f0 到 $f31 |
FPU "f" 寄存器 |
$fsr |
FPU 状态寄存器 |
$fq |
FPU 队列 |
$f0f1 $f2f3 ... $f30f31 对浮点型寄存器视为 C 的“双精度”类型(通常 $fN 寄存器视为 C 的“浮点”类型)。这些对也可称为 $d0 ... $d30。
SPARC V9 和 V8+ 硬件上另外还提供了以下这些寄存器:
$g0g1 through $g6g7 $o0o1 through $o6o7 $xfsr $tstate $gsr $f32f33 $f34f35 through $f62f63 ($d32 ... $$d62) |
有关 SPARC 寄存器和寻址的更多信息,请参见《SPARC Architecture Reference Manual》(《SPARC 体系结构参考手册》)和《SPARC Assembly Language Reference Manual》(《SPARC 汇编语言参考手册》)。
寄存器 |
说明 |
---|---|
$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 位 |
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 到 $st7 |
数据寄存器 |
寄存器 |
说明 |
---|---|
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 op 代码 |
frip |
fxsave 和 fxstor 内存映像 64 位代码段偏移 |
frdp |
fxsave 和 fxstor 内存映像 64 位日期段偏移 |
mxcsr |
fxsave 和 fxstor 内存映像 128 位媒体指令控制和状态寄存器 |
mxcsr_mask |
mxcsr_mask 中的设置位指示 mxcsr 中支持的特征位 |