OSDN Git Service

initial commit
[openbsd-octeon/openbsd-octeon.git] / src / regress / sys / arch / m68k / emuspeed / div64.s
1 /*      $OpenBSD: div64.s,v 1.2 2001/01/29 02:05:53 niklas Exp $        */
2
3 /*
4  * stack:
5  * + 8: count
6  * + 4: retads
7  * + 0: d2
8  */
9
10         .globl _div64ureg
11 _div64ureg:
12         movl    d2,sp@-
13         movl    sp@(8),d2
14 L1:
15         divul   d2,d1:d0
16         subql   #1,d2
17         jne     L1
18         movl    sp@+,d2
19         rts
20
21         .globl _div64sreg
22 _div64sreg:
23         movl    d2,sp@-
24         movl    sp@(8),d2
25 L2:
26         divsl   d2,d1:d0
27         subql   #1,d2
28         jne     L2
29         movl    sp@+,d2
30         rts
31
32         .globl _div64umem
33 _div64umem:
34         movl    d2,sp@-
35         movl    sp@(8),d2
36 L3:
37         divul   sp@(8),d1:d0
38         subql   #1,d2
39         jne     L3
40         movl    sp@+,d2
41         rts
42
43         .globl _div64smem
44 _div64smem:
45         movl    d2,sp@-
46         movl    sp@(8),d2
47 L4:
48         divsl   sp@(8),d1:d0
49         subql   #1,d2
50         jne     L4
51         movl    sp@+,d2
52         rts