This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Robert,
Refer the ADD example:
0000 325Ah ->12,890 (decimal)
FFFF FF12h -> -238 (decimal)
Similar you can understand about the CMPEQDP.
Refer the Compare for Equality, Double-Precision Floating-Point Values (CMPEQDP) in TMS320C674x DSP
CPU and Instruction Set Reference Guide (sprufe8).
Robert,
double-precision number is described by:
(-1)^sign * 2^(exponent - bias) * 1.mantissa
The formula means that for non-NAN, non-INF, non-zero and non-denormal numbers.
you take the bits in the mantissa and add an implicit 1 bit at the top. This makes the mantissa 53 bits in the range 1.0 ... 1.111111...11 (binary).
To get the actual value, you multiply the mantissa by the 2 to the power of the exponent minus the bias (1023) and either negate the result or not depending on the sign bit. The number 1.0 would have an unbiased exponent of zero (i.e. 1.0 = 1.0 * 2^0) and its biased exponent would be 1023 (the bias is just added to the exponent). So, 1.0 would be sign = 1, exponent = 1023, mantissa = 0 (remember the hidden mantissa bit).
Putting it all together in hexadecimal the value would be 0x3FF000000000 == 1.0