aboutsummaryrefslogtreecommitdiff
path: root/src/libmp/386/mpdigdiv.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmp/386/mpdigdiv.s')
-rw-r--r--src/libmp/386/mpdigdiv.s33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/libmp/386/mpdigdiv.s b/src/libmp/386/mpdigdiv.s
deleted file mode 100644
index 48d37c0d..00000000
--- a/src/libmp/386/mpdigdiv.s
+++ /dev/null
@@ -1,33 +0,0 @@
-.text
-.p2align 2,0x90
-.globl mpdigdiv
-mpdigdiv:
- /* Prelude */
- pushl %ebp /* save on stack */
- pushl %ebx
-
- leal 12(%esp), %ebp /* %ebp = FP for now */
- movl 0(%ebp), %ebx /* dividend */
- movl 0(%ebx), %eax
- movl 4(%ebx), %edx
- movl 4(%ebp), %ebx /* divisor */
- movl 8(%ebp), %ebp /* quotient */
-
- xorl %ecx, %ecx
- cmpl %ebx, %edx /* dividend >= 2^32 * divisor */
- jae divovfl
- cmpl %ecx, %ebx /* divisor == 1 */
- je divovfl
- divl %ebx /* AX = DX:AX/BX */
- movl %eax, (%ebp)
-done:
- /* Postlude */
- popl %ebx
- popl %ebp
- ret
-
- /* return all 1's */
-divovfl:
- notl %ecx
- movl %ecx, (%ebp)
- jmp done