Annotation of OpenXM_contrib2/asir2000/asm/asm45.s, Revision 1.1.1.1
1.1 noro 1: ! $OpenXM: OpenXM/src/asir99/asm/asm45.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: .global _dma
20: _dma:
21: umul %o0,%o1,%o0
22: rd %y,%o1
23: addcc %o0,%o2,%o0
24: addx %g0,%o1,%o1
25:
26: sll %o1,CBSH,%o1
27: srl %o0,BSH,%o2
28: or %o1,%o2,%o1
29: sethi %hi(BMASK),%o2
30: add %o2,%lo(BMASK),%o2
31: and %o0,%o2,%o0
32: retl
33: st %o1,[%o3]
34:
35: .proc 14
36: .global _dmb
37: _dmb:
38: save %sp,-104,%sp
39: umul %i1,%i2,%o0
40: rd %y,%o1
41:
42: call _edr,3
43: mov %i0,%o2
44:
45: st %o1,[%i3]
46: ret
47: restore %g0,%o0,%o0
48:
49: .proc 14
50: .global _dmab
51: _dmab:
52: save %sp,-104,%sp
53: umul %i1,%i2,%o0
54: rd %y,%o1
55:
56: addcc %o0,%i3,%o0
57: addx %g0,%o1,%o1
58:
59: call _edr,3
60: mov %i0,%o2
61:
62: st %o1,[%i4]
63: ret
64: restore %g0,%o0,%o0
65:
66: .proc 14
67: .global _dmar
68: _dmar:
69: save %sp,-104,%sp
70: umul %i0,%i1,%o0
71: rd %y,%o1
72:
73: addcc %o0,%i2,%o0
74: addx %g0,%o1,%o1
75:
76: call _edr,3
77: mov %i3,%o2
78:
79: ret
80: restore %g0,%o0,%o0
81:
82: .proc 14
83: .global _dsab
84: _dsab:
85: save %sp,-104,%sp
86: srl %i1,CBSH,%o1
87: sll %i1,BSH,%o0
88: or %i2,%o0,%o0
89:
90: call _edr,3
91: mov %i0,%o2
92:
93: st %o1,[%i3]
94: ret
95: restore %g0,%o0,%o0
96:
97: .proc 14
98: .global _dqr
99: _dqr:
100: mov %o7,%g5 !save %o7
101: call .udr,2
102: mov %o2,%g6 !save %o2
103:
104: st %o1,[%g6]
105: mov %g5,%o7
106:
107: retl
108: nop
109: .seg "data"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>