OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [i386/] [math-emu/] [div_small.S] - Blame information for rev 1782

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.