使用 `r` 查询的所有寄存器列表

问题描述

我一直在寻找一种方法获取 WinDbg 中 MXCSR 寄存器的内容。查找 r command 的帮助,我发现了很多选项。我以为我已经用命令覆盖了所有寄存器

0:000> rM 0xfe7f

然而,MXCSR 寄存器仍未包含在内。所以我在 WinDbg 帮助中做了一个完整的搜索,没有给我任何结果(抱歉德国截图):

No search results

于是我继续在网上搜索,终于找到了

0:000> r mxcsr
mxcsr=00001f80

我现在想知道是否还有其他寄存器不会被 rM 0xfe7f 显示但无论如何都可用。我对用户模式和 x86 和 AMD64 架构特别感兴趣。

解决方法

我查看了 dbgeng.dll(版本 10.0.20153.1000)并通过尝试偏移 7DC340 周围的一些字符串找到了更多寄存器。根据其中的一些信息,我找到了 MSDN 网站 x64 registersx86 registers

另外我发现

  • brtobrfromextoexfrom
  • 寄存器 zmm0 到 zmm15 可用作 zmm0h,可能用于 high 的一半。
  • 寄存器 xmm0/ymm0 到 xmm15/ymm15 可用作 ymm0hymm0l,可能用于 highlow 的一半。
  • 还有一些没有用,要么是因为我的 CPU 型号,要么是因为我在用户模式而不是内核模式下尝试过。