root/arch/x86/math-emu/div_small.S

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

/* [<][>][^][v][top][bottom][index][help] */