rm(寄存器掩码)
rm 命令修改或显示寄存器显示掩码。 此掩码控制 r (Registers) 命令显示寄存器的方式。
rm
rm ?
rm Mask
参数
?
显示可能的 掩码 位列表。
面具
指定调试器显示寄存器时要使用的掩码。 掩码 是指示寄存器显示内容的总和。 位的含义取决于处理器和模式。 有关详细信息;请参阅以下“备注”部分中的表。
环境
项 | 说明 |
---|---|
模式 | 用户模式、内核模式 |
目标 | 实时、崩溃转储 |
平台 | 全部 |
注解
命令名称中的“m”必须为小写字母。
如果将 rm 与无参数一起使用,则会显示当前值及其位的说明。
若要显示基本整数寄存器,必须设置位 0(0x1)或位 1(0x2)。 默认情况下,0x1设置为 32 位目标,0x2设置为 64 位目标。 不能同时设置这两个位-如果尝试设置这两个位,0x2替代0x1。
可以将 r (Registers) 命令与 M 选项一起使用来替代默认掩码。
基于 x86 的处理器或基于 x64 的处理器支持以下 掩码 位。
Bit | 值 | 说明 |
---|---|---|
0 1 | 0x1 0x2 | 显示基本整数寄存器。 (设置其中一个或两个位具有相同的效果。 |
2 |
0x4 |
显示浮点寄存器。 |
3 |
0x8 |
显示段寄存器。 |
4 |
0x10 |
显示 MMX 寄存器。 |
5 |
0x20 |
显示调试寄存器。 在内核模式下,设置此位还会显示 CR4 寄存器。 |
6 |
0x40 |
显示 SSE XMM 寄存器。 |
7 |
0x80 |
(仅限内核模式)显示控件寄存器,例如 CR0、CR2、CR3 和 CR8。 |
8 |
0x100 |
(仅限内核模式)显示描述符和任务状态寄存器。 |
9 |
0x200 |
在浮点中显示 AVX YMM 寄存器。 |
10 |
0x400 |
以十进制整数显示 AVX YMM 寄存器。 |
11 |
0x800 |
以十进制整数显示 AVX XMM 寄存器。 |
12 | 0x1000 | 以浮点格式显示 AVX-512 zmm0-zmm31 寄存器。 |
13 |
0x2000 |
以整数格式显示 AVX-512 zm00-zmm31 寄存器。 |
14 |
0x4000 |
显示 AVX-512 k0-k7 寄存器。 |
示例
启用整数状态和段寄存器。
0: kd> rm 0x00a
0: kd> rm
Register output mask is a:
2 - Integer state (64-bit)
8 - Segment registers
启用0x1000(以浮点格式显示 AVX-512 zmm0-zmm31 寄存器)。
0: kd> rm 0x100a
0: kd> rm
Register output mask is 100a:
2 - Integer state (64-bit)
8 - Segment registers
1000 - AVX-512 ZMM registers
启用掩码0x2000(以整数格式显示 AVX-512 zmm00-zmm31 寄存器)。
0: kd> rm 0x200a
0: kd> rm
Register output mask is 200a:
2 - Integer state (64-bit)
8 - Segment registers
2000 - AVX-512 ZMM Integer registers
启用所有 AVX-512 寄存器掩码:
0: kd> rm 0x700a
0: kd> rm
Register output mask is 700a:
2 - Integer state (64-bit)
8 - Segment registers
1000 - AVX-512 ZMM registers
2000 - AVX-512 ZMM Integer registers
4000 - AVX-512 Opmask registers
如果尝试在不支持注册掩码的硬件上设置注册掩码,将忽略注册掩码的无效位。
kd> rm 0x100a
Ignored invalid bits 1000
kd> rm
Register output mask is a:
2 - Integer state (64-bit)
8 - Segment registers