OllyDbg 和 XMM0 与 MM0 寄存器

逆向工程 ollydbg
2021-06-18 18:19:04

如何查看OllyDbg 中XMM0-XMM7寄存器?我可以右键单击寄存器窗口并转到view MMX寄存器,但我不确定它们是否相同。我看到一条指令:MOVSS DWORD PTR DS:[ESI+8],XMM0随着该指令的逐步MM0执行,寄存器窗口中显示的值不会成为存储在 的值[ESI+8]

所以,我认为另一个问题是:XMM0MM0寄存器的不同?

2个回答

所以事实证明,OllyDbg v1.10 不支持SSE 寄存器(XMM0-7),但在我找到并在此处下载的v2.0 中支持,到目前为止效果很好。然而,最新版本不支持插件。

要正确回答您的问题,是的。xmm寄存器是英特尔SSE在 1999 年随 Pentium III CPU指令集 (IS)引入的SSE代表 Streaming SIMD Extension,是一组向量指令。xmm寄存器为 128 位宽,可以容纳 4 floats、 2doubles或 16 charsSSE如果使用得当,可以显着加快信号处理应用程序(图像处理、声音处理、压缩等)、加密和其他应用程序的速度。

另一方面,mm寄存器是MMXIS 的一部分,这是另一个早于SSE(我想是 1997 年)的向量指令集,并且是 64 位宽。如今,向量指令集以某种方式变得相当流行(向量CPUs是 70 年代和 80 年代超级计算机的标准——Cray 的、ThinkingMachine 的……计算机都是基于向量的)。前几年Intel提出了很多版本SSE和两个新的IS叫做AVX& AVX2(Advanced Vector Extension),256位宽向量在SandyBridge/IvyBridge/Haswell上AVX-512实现,并首先在Xeon Phi的KNC(Knight's Corner)上实现处理器和协处理器线。

我鼓励您查看英特尔文档和维基百科以获取更多信息。