typedef unsigned long fp_digit; typedef struct { } fp_int; void fp_mul_comba(fp_int *A, fp_int *B, fp_int *C) { int ix, iy, iz, tx, ty, pa; fp_digit c0, c1, c2, *tmpx, *tmpy; for (ix = 0; iz < iy; ++iz) asm( "movl %6,%%eax \n\t" "mull %7 \n\t" "addl %%eax,%0 \n\t" "adcl %%edx,%1 \n\t" "adcl $0,%2 \n\t" :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "m"(*tmpx++), "m"(*tmpy--) :"%eax","%edx","%cc"); }