1*4882a593Smuzhiyun/* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun .file "div_small.S" 3*4882a593Smuzhiyun/*---------------------------------------------------------------------------+ 4*4882a593Smuzhiyun | div_small.S | 5*4882a593Smuzhiyun | | 6*4882a593Smuzhiyun | Divide a 64 bit integer by a 32 bit integer & return remainder. | 7*4882a593Smuzhiyun | | 8*4882a593Smuzhiyun | Copyright (C) 1992,1995 | 9*4882a593Smuzhiyun | W. Metzenthen, 22 Parker St, Ormond, Vic 3163, | 10*4882a593Smuzhiyun | Australia. E-mail billm@jacobi.maths.monash.edu.au | 11*4882a593Smuzhiyun | | 12*4882a593Smuzhiyun | | 13*4882a593Smuzhiyun +---------------------------------------------------------------------------*/ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun/*---------------------------------------------------------------------------+ 16*4882a593Smuzhiyun | unsigned long FPU_div_small(unsigned long long *x, unsigned long y) | 17*4882a593Smuzhiyun +---------------------------------------------------------------------------*/ 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun#include "fpu_emu.h" 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun.text 22*4882a593SmuzhiyunSYM_FUNC_START(FPU_div_small) 23*4882a593Smuzhiyun pushl %ebp 24*4882a593Smuzhiyun movl %esp,%ebp 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun pushl %esi 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun movl PARAM1,%esi /* pointer to num */ 29*4882a593Smuzhiyun movl PARAM2,%ecx /* The denominator */ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun movl 4(%esi),%eax /* Get the current num msw */ 32*4882a593Smuzhiyun xorl %edx,%edx 33*4882a593Smuzhiyun divl %ecx 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun movl %eax,4(%esi) 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun movl (%esi),%eax /* Get the num lsw */ 38*4882a593Smuzhiyun divl %ecx 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun movl %eax,(%esi) 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun movl %edx,%eax /* Return the remainder in eax */ 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun popl %esi 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun leave 47*4882a593Smuzhiyun RET 48*4882a593SmuzhiyunSYM_FUNC_END(FPU_div_small) 49