KGC_TEST/KGCAPP/3rdparty/miracl/source/mrmuldv.gpp

88 lines
1.6 KiB
Plaintext

/
/ DJGPP GNU C version for DOS
/ M. Scott 22/3/98
/
.file "mrmuldv.c"
.text
.globl _muldiv
_muldiv:
pushl %ebp
movl %esp,%ebp
pushl %ebx
movl 8(%ebp),%eax
mull 12(%ebp)
addl 16(%ebp),%eax
adcl $0,%edx
divl 20(%ebp)
movl 24(%ebp),%ebx
movl %edx,(%ebx)
popl %ebx
popl %ebp
ret
.globl _muldvm
_muldvm:
pushl %ebp
movl %esp,%ebp
pushl %ebx
movl 8(%ebp),%edx
movl 12(%ebp),%eax
divl 16(%ebp)
movl 20(%ebp),%ebx
movl %edx,(%ebx)
popl %ebx
popl %ebp
ret
.globl _muldvd
_muldvd:
pushl %ebp
movl %esp,%ebp
pushl %ebx
movl 8(%ebp),%eax
mull 12(%ebp)
addl 16(%ebp),%eax
adcl $0,%edx
movl 20(%ebp),%ebx
movl %eax,(%ebx)
movl %edx,%eax
popl %ebx
popl %ebp
ret
.globl _muldvd2
_muldvd2:
pushl %ebp
movl %esp,%ebp
pushl %ebx
pushl %esi
movl 8(%ebp),%eax
mull 12(%ebp)
movl 16(%ebp),%ebx
addl (%ebx),%eax
adcl $0,%edx
movl 20(%ebp),%esi
addl (%esi),%eax
adcl $0,%edx
movl %eax,(%esi)
movl %edx,(%ebx)
popl %esi
popl %ebx
popl %ebp
ret