Annotation of OpenXM_contrib2/asir2000/asm/asm5.s, Revision 1.1.1.1
1.1 noro 1: ! $OpenXM: OpenXM/src/asir99/asm/asm5.s,v 1.1.1.1 1999/11/10 08:12:25 noro Exp $
2: #include "base.h"
3:
4: .seg "text" ! [internal]
5: .proc 14
6: .global _dm
7: _dm:
8: umul %o0,%o1,%o0
9: rd %y,%o1
10: sll %o1,CBSH,%o1
11: srl %o0,BSH,%o3
12: or %o1,%o3,%o1
13: sethi %hi(BMASK),%o3
14: add %o3,%lo(BMASK),%o3
15: and %o0,%o3,%o0
16: retl
17: st %o1,[%o2]
18:
19: .proc 14
20: .global _dmb
21: _dmb:
22: umul %o1,%o2,%o1
23: udivcc %o1,%o0,%o2
24: umul %o0,%o2,%o0
25: subcc %o1,%o0,%o0
26: retl
27: st %o2,[%o3]
28:
29: .proc 14
30: .global _dma
31: _dma:
32: umul %o0,%o1,%o0
33: rd %y,%o1
34: addcc %o0,%o2,%o0
35: addx %g0,%o1,%o1
36:
37: sll %o1,CBSH,%o1
38: srl %o0,BSH,%o2
39: or %o1,%o2,%o1
40: sethi %hi(BMASK),%o2
41: add %o2,%lo(BMASK),%o2
42: and %o0,%o2,%o0
43: retl
44: st %o1,[%o3]
45:
46: .proc 14
47: .global _dmab
48: _dmab:
49: umul %o1,%o2,%o1
50: rd %y,%o2
51: addcc %o1,%o3,%o1
52: addx %g0,%o2,%o2
53: wr %o2,%g0,%y
54:
55: udivcc %o1,%o0,%o2
56: umul %o0,%o2,%o0
57: subcc %o1,%o0,%o0
58: retl
59: st %o2,[%o4]
60:
61: .proc 14
62: .global _dsab
63: _dsab:
64: srl %o1,CBSH,%o4
65: wr %o4,%g0,%y
66: sll %o1,BSH,%o1
67: or %o2,%o1,%o2
68:
69: udivcc %o2,%o0,%o4
70: umul %o0,%o4,%o0
71: subcc %o2,%o0,%o0
72: retl
73: st %o4,[%o3]
74:
75: .proc 14
76: .global _dmar
77: _dmar:
78: umul %o0,%o1,%o0
79: rd %y,%o1
80: addcc %o0,%o2,%o0
81: addx %g0,%o1,%o1
82: wr %o1,%g0,%y
83: udivcc %o0,%o3,%o1
84: umul %o3,%o1,%o1
85: retl
86: subcc %o0,%o1,%o0
87:
88: .proc 14
89: .global _dqr
90: _dqr:
91: wr %g0,%g0,%y
92: udiv %o0,%o1,%o3
93: umul %o1,%o3,%o1
94: subcc %o0,%o1,%o0
95:
96: retl
97: st %o3,[%o2]
98:
99: .seg "data"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>