gpt4 book ai didi

sse - XMM 寄存器值

转载 作者:行者123 更新时间:2023-12-01 16:09:19 30 4
gpt4 key购买 nike

我发现很难在 Visual Studio 的寄存器窗口中解释 xmm 寄存器的值。窗口显示以下内容:

XMM0 = 00000000000000004018000000000000 XMM1 = 00000000000000004020000000000000 
XMM2 = 00000000000000000000000000000000 XMM3 = 00000000000000000000000000000000
XMM4 = 00000000000000000000000000000000 XMM5 = 00000000000000000000000000000000
XMM6 = 00000000000000000000000000000000 XMM7 = 00000000000000000000000000000000

XMM00 = +0.00000E+000 XMM01 = +2.37500E+000 XMM02 = +0.00000E+000
XMM03 = +0.00000E+000 XMM10 = +0.00000E+000 XMM11 = +2.50000E+000
XMM12 = +0.00000E+000 XMM13 = +0.00000E+000

从我运行的代码来看,XMM0 和 XMM1 的值应该是 6 和 8(或其他方式)。此处显示的寄存器值为:XMM01 = +2.37500E+000

这意味着什么?

最佳答案

是的,它看起来像:

XMM0 = { 6.0, 0.0 }  // 6.0 = 0x4018000000000000 (double precision)
XMM1 = { 8.0, 0.0 } // 8.0 = 0x4020000000000000 (double precision)

您在解释时遇到问题的原因是您的调试器仅以十六进制显示每个 128 位 XMM 寄存器,然后在其下方显示为 4 x 精度浮​​点数,但您显然正在使用 double float 。

我不熟悉 Visual Studio 调试器,但理想情况下应该有一种方法可以更改 XMM 寄存器的表示形式 - 您可能需要为此查看手册或在线帮助。

请注意,通常将 double 与 SSE 一起使用几乎没有任何值(value),尤其是当您拥有带有两个 FPU 的相当现代的 x86 CPU 时。

关于sse - XMM 寄存器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7792127/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com