1 /*---------------------------------------------------------------------------+
4 | Multiply a 12 byte fixed point number by another fixed point number. |
6 | Copyright (C) 1992,1994,1995 |
7 | W. Metzenthen, 22 Parker St, Ormond, Vic 3163, |
8 | Australia. E-mail billm@jacobi.maths.monash.edu.au |
11 | void mul32_Xsig(Xsig *x, unsigned b) |
13 | void mul64_Xsig(Xsig *x, unsigned long long *b) |
15 | void mul_Xsig_Xsig(Xsig *x, unsigned *b) |
17 | The result is neither rounded nor normalized, and the ls bit or so may |
20 +---------------------------------------------------------------------------*/
40 movl (%esi),%eax /* lsl of Xsig */
41 mull %ecx /* msl of b */
44 movl 4(%esi),%eax /* midl of Xsig */
45 mull %ecx /* msl of b */
50 movl 8(%esi),%eax /* msl of Xsig */
51 mull %ecx /* msl of b */
80 movl (%esi),%eax /* lsl of Xsig */
81 mull 4(%ecx) /* msl of b */
84 movl 4(%esi),%eax /* midl of Xsig */
85 mull (%ecx) /* lsl of b */
90 movl 4(%esi),%eax /* midl of Xsig */
91 mull 4(%ecx) /* msl of b */
96 movl 8(%esi),%eax /* msl of Xsig */
97 mull (%ecx) /* lsl of b */
102 movl 8(%esi),%eax /* msl of Xsig */
103 mull 4(%ecx) /* msl of b */
133 movl (%esi),%eax /* lsl of Xsig */
134 mull 8(%ecx) /* msl of b */
137 movl 4(%esi),%eax /* midl of Xsig */
138 mull 4(%ecx) /* midl of b */
143 movl 8(%esi),%eax /* msl of Xsig */
144 mull (%ecx) /* lsl of b */
149 movl 4(%esi),%eax /* midl of Xsig */
150 mull 8(%ecx) /* msl of b */
155 movl 8(%esi),%eax /* msl of Xsig */
156 mull 4(%ecx) /* midl of b */
161 movl 8(%esi),%eax /* msl of Xsig */
162 mull 8(%ecx) /* msl of b */