Blob
1 .text3 .globl _mpdigdiv4 _mpdigdiv:5 /* Prelude */6 pushl %ebp /* save on stack */7 pushl %ebx9 leal 12(%esp), %ebp /* %ebp = FP for now */10 movl 0(%ebp), %ebx /* dividend */11 movl 0(%ebx), %eax12 movl 4(%ebx), %edx13 movl 4(%ebp), %ebx /* divisor */14 movl 8(%ebp), %ebp /* quotient */16 xorl %ecx, %ecx17 cmpl %ebx, %edx /* dividend >= 2^32 * divisor */18 jae 2f19 cmpl %ecx, %ebx /* divisor == 1 */20 je 2f21 divl %ebx /* AX = DX:AX/BX */22 movl %eax, (%ebp)23 1:24 /* Postlude */25 popl %ebx26 popl %ebp27 ret29 /* return all 1's */30 2:31 notl %ecx32 movl %ecx, (%ebp)33 jmp 1b