相关疑难解决方法(0)

有序/无序比较是什么意思?

看着SSE运营商

CMPORDPS - ordered compare packed singles
CMPUNORDPS - unordered compare packed singles
Run Code Online (Sandbox Code Playgroud)

有序和无序是什么意思?我在x86指令集中寻找等效指令,它似乎只有无序(FUCOM).

x86 assembly sse

33
推荐指数
3
解决办法
1万
查看次数

为什么x86 FP像无符号整数那样比较集CF,而不使用有符号条件?

英特尔指令参考中提供了以下文档以供参考COMISD

在操作数1(第一个操作数)的低四字比较双精度浮点值和操作数2(第二个操作数),并设定了ZFPFCF在EFLAGS标志寄存器根据结果(无序,大于,小于大于或等于)。

CF的标志点是不是真的在这里清除,因为它关系到算术运算的无符号整数。相反,文档关注的是按定义签名的浮点。我进行了一些实验,例如

mov rax, 0x123
movq xmm0, rax

mov rax, 0x124
movq xmm1, rax

ucomisd xmm0, xmm1 ;CF is set here like if
                    ;we would compare uints 0x123 and 0x124
Run Code Online (Sandbox Code Playgroud)

因此,当将操作数设置为双精度浮点时,该指令会将操作数设置为进位标志时,会将操作数视为无符号整数?

在我看来,这有点奇怪。

x86 assembly sse sse2 x87

3
推荐指数
1
解决办法
104
查看次数

标签 统计

assembly ×2

sse ×2

x86 ×2

sse2 ×1

x87 ×1