]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libmp/386/mpdigdiv.s
merge
[plan9front.git] / sys / src / libmp / 386 / mpdigdiv.s
1 TEXT    mpdigdiv(SB),$0
2
3         MOVL    dividend+0(FP),BX
4         MOVL    0(BX),AX
5         MOVL    4(BX),DX
6         MOVL    divisor+4(FP),BX
7         MOVL    quotient+8(FP),BP
8         XORL    CX,CX
9         CMPL    DX,BX           /* dividend >= 2^32 * divisor */
10         JHS     _divovfl
11         CMPL    BX,CX           /* divisor == 0 */
12         JE      _divovfl
13         DIVL    BX              /* AX = DX:AX/BX */
14         MOVL    AX,0(BP)
15         RET
16
17         /* return all 1's */
18 _divovfl:
19         NOTL    CX
20         MOVL    CX,0(BP)
21         RET