Re: DIV overflow
- From: "Wolfgang Kern" <nowhere@xxxxxxxx>
- Date: Sat, 31 Mar 2007 19:38:03 +0200
Hello Brian,
[...]
so is the sign extension necessary with unsigned division? Also, in
the above, you say "sign extension" but have "MOVZX"... you meant
"MOVSX", right?
No, sorry for the confusion.
Unsigned DIV:
MOVZX ebx, word divisor ;if you want a "16-bit Unsigned" divisor
MOV eax, dword dividend
XOR edx,edx ;edx=0
DIV ebx ;cannot overflow
Signed DIV:
MOVSX ebx, word divisor ;if you want a "16-bit Signed" divisor
MOV eax, dword dividend
CDQ ;edx= 0 or -1 depending on MSbit of eax
IDIV ebx ;cannot overflow
You can also use MOV ebx, dword divisor in both instead of MOVSx/Zx
IF "you want a 32 bit divisor".
__
wolfgang
.
- References:
- DIV overflow
- From: Brian
- Re: DIV overflow
- From: Wolfgang Kern
- Re: DIV overflow
- From: Wolfgang Kern
- Re: DIV overflow
- From: Brian
- DIV overflow
- Prev by Date: Re: DIV overflow
- Next by Date: Re: cFASM (calling FASM as a C function)
- Previous by thread: Re: DIV overflow
- Index(es):