KGC_TEST/miracl/source/mrmuldv.s

83 lines
1.6 KiB
ArmAsm

.file "mrmuldv.s"
.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