对基本问题的理解。
在组件中比较在不同(固定)存储位置的两个浮点而不将它们加载到堆栈中的浮点可以接受吗?除了CMP和JLE之外,我需要使用任何东西吗?e.g。内存地址[A]当前等于95,内存地址[B]等于[90]。如果[a]小于或等于90,我想跳起来。以下是足够的吗?
CMP DWORD PTR [A], CMP DWORD PTR [B]
JLE [Another address]
mov eax,[a]
cmp eax,[b]
jbe ...
如果任何一个浮点都可能为负,但不能为负零(080000000H):
mov eax,[a]
mov ebx,[b]
mov ecx,eax
sar ecx,31
or ecx,080000000h
xor eax,ecx
mov ecx,ebx
sar ecx,31
or ecx,080000000h
xor ebx,ecx
cmp eax,ebx
jbe ...
阴性0将最终获得07FFFFFF,小于正0,最终08000000000H。如果这是一个问题,则需要修改代码。