まずは、以下のコードを実行してみてください。
コメントに示したような結果が得られます。

#include <windows.h>
#include <math.h>
#include <stdio.h>
main()
{
int
a=0x60000000; // e=3
f=0x0.110 0000 :3.0
int b=0x40000000;
// e=3 f=0x0.100 0000 :2.0
int c; //
0x18000000 e=6 f=0x0.001 1000 :6.0
char buf[80];
_asm {
mov
eax,a
imul
b
mov
c,edx
}
sprintf(buf,"%8x %8x %8x",a,b,c);
MessageBox(GetDesktopWindow(), buf,"Test 3DNow!",MB_OK);
}

少し考察してみましょう。
a=0x60000000; // e=3
f=0x0.110 0000 :3.0
b=0x40000000; // e=3 f=0x0.100 0000
:2.0
c; // 0x18000000 e=6 f=0x0.001 1000
:6.0
についてですが、eは指数部(小数点の位置)を示し、f
は2進数で仮数部を表したものです。
eの値も仮数部の小数点位置も概念的なものです。
e=3 f=0x0.110 は実際には0x011.0=3.0 であることを示します。
そして掛け算の結果小数点位置は3+3=6の位置に移り
e=6 f=0x0.0011000 つまり 0x000110.00=6.0 となります。