What is the purpose of the following code?
A partial of an 64 bit double
type number is compared with zero.
Does it exactly mean ZF= if(L_double_x==0.0)
?
This code is a machine compiled code.
; 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)
?
No. A IEEE 754 double number is 0 (+0) if all the bits of the number are 0's. Besides, the comparison is with 16 bits from this number, which lie somewhere within the mantissa. More context (code) is needed to figure out what kind of trick this is employing.