Annotation of OpenXM_contrib2/asir2000/asm/asmiw.c, Revision 1.1.1.1
1.1 noro 1: /* $OpenXM: OpenXM/src/asir99/asm/asmiw.c,v 1.1.1.1 1999/11/10 08:12:25 noro Exp $ */
2: unsigned int dm(a1,a2,u)
3: unsigned int a1,a2,*u;
4: {
5: __asm
6: {
7: mov eax,a1
8: mul a2
9: mov ebx,u
10: mov DWORD PTR [ebx],edx
11: }
12: }
13:
14: unsigned int dma(a1,a2,a3,u)
15: unsigned int a1,a2,a3,*u;
16: {
17: __asm
18: {
19: mov eax,a1
20: mul a2
21: add eax,a3
22: adc edx,0
23: mov ebx,u
24: mov DWORD PTR [ebx],edx
25: }
26: }
27:
28: unsigned int dma2(a1,a2,a3,a4,u)
29: unsigned int a1,a2,a3,a4,*u;
30: {
31: __asm
32: {
33: mov eax,a1
34: mul a2
35: add eax,a3
36: adc edx,0
37: add eax,a4
38: adc edx,0
39: mov ebx,u
40: mov DWORD PTR [ebx],edx
41: }
42: }
43:
44: unsigned int dmb(base,a1,a2,u)
45: unsigned int base,a1,a2,*u;
46: {
47: __asm
48: {
49: mov eax,a1
50: mul a2
51: div base
52: mov ebx,u
53: mov DWORD PTR [ebx],eax
54: mov eax,edx
55: }
56: }
57:
58: unsigned int dmab(base,a1,a2,a3,u)
59: unsigned int base,a1,a2,a3,*u;
60: {
61: __asm
62: {
63: mov eax,a1
64: mul a2
65: add eax,a3
66: adc edx,0
67: div base
68: mov ebx,u
69: mov DWORD PTR [ebx],eax
70: mov eax,edx
71: }
72: }
73:
74: unsigned int dsab(base,a1,a2,u)
75: unsigned int base,a1,a2,*u;
76: {
77: __asm
78: {
79: mov edx,a1
80: mov eax,a2
81: div base
82: mov ebx,u
83: mov DWORD PTR [ebx],eax
84: mov eax,edx
85: }
86: }
87:
88: unsigned int dmar(a1,a2,a3,d)
89: unsigned int a1,a2,a3,d;
90: {
91: __asm
92: {
93: mov eax,a1
94: mul a2
95: add eax,a3
96: adc edx,0
97: div d
98: mov eax,edx
99: }
100: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>