X86:双精度类型数字的最后六个字节与零的比较
X86: Comparison of last six bytes of a double type number with zero
以下代码的用途是什么?
64 位 double
类型数字的一部分与零进行比较。
它的意思是 ZF= if(L_double_x==0.0)
吗?
这段代码是机器编译的代码。
; process of initialization
; ...
cmp word ptr [L_double_x_continue],0000h
jnz L13
L13:
....
L_double_x:
db 00h;
db 00h;
L_double_x_continue:
db 00h;
db 00h;
db 00h;
db 00h;
db 00h;
db 00h;
Does it exactly mean ZF= if(L_double_x==0.0)
?
没有。如果数字的所有位均为 0,则 IEEE 754 双精度数为 0 (+0)。此外,比较的是来自该数字的 16 位,位于尾数内的某处。需要更多的上下文(代码)来弄清楚这是在使用什么样的技巧。
以下代码的用途是什么?
64 位 double
类型数字的一部分与零进行比较。
它的意思是 ZF= if(L_double_x==0.0)
吗?
这段代码是机器编译的代码。
; process of initialization
; ...
cmp word ptr [L_double_x_continue],0000h
jnz L13
L13:
....
L_double_x:
db 00h;
db 00h;
L_double_x_continue:
db 00h;
db 00h;
db 00h;
db 00h;
db 00h;
db 00h;
Does it exactly mean
ZF= if(L_double_x==0.0)
?
没有。如果数字的所有位均为 0,则 IEEE 754 双精度数为 0 (+0)。此外,比较的是来自该数字的 16 位,位于尾数内的某处。需要更多的上下文(代码)来弄清楚这是在使用什么样的技巧。