除算の紹介では符号なしの除算(DIV)を使用しました。
次は符号付き除算を行います。
符号付き除算でb=0x40000000だと、除算結果が0xccccccccで、符号ビット(一番左のビット)にオーバフローを起こすことになり、オーバーフローエラーが発生します(好奇心のある人は試してみて下さい)。
そこでオーバーフローが発生しないようにb=0x2000000 (e=5)
としました。

main()
{
int
a=0x50000000; // e=4 f=0x0.101 0000
: 5.0
int b=0x20000000;
// e=5 f=0x0.010 0000 :
4.0
int c; //
0x66666... // e=1 f=0x.0.110 0110 0110 0110 0.8
int d;
char buf[80];
d = 0;
_asm {
mov
eax,d
mov
edx,b
idiv
a
mov
c,eax
mov
d,edx
}
sprintf(buf,"%8x %8x %8x %8x",a,b,c,d);
MessageBox(GetDesktopWindow(), buf,"Test 3DNow!",MB_OK);
}

int
a=0x50000000; // e=4 f=0x0.101 0000
: 5.0
int b=0x20000000;
// e=5 f=0x0.010 0000 :
4.0
b/aですから小数点の位置は 5-4=1となります。
int
c; // 0x66666... // e=1 f=0x.0.110 0110 0110 0110
0.8