From: GAMMELJL AT SLU DOT EDU Date: Tue, 23 Dec 1997 15:38:09 -0600 (CST) Subject: assembly language To: djgpp AT delorie DOT com Message-id: <01IRIOAUEKSYBL3ECY@SLU.EDU> Organization: SAINT LOUIS UNIVERSITY St. Louis, MO MIME-version: 1.0 Precedence: bulk #define mode4(arg1,arg2) \ __asm__ ( \ "movl %2, %%eax; mull %3; movl %%edx, %0; movl %%eax, %1" \ : "=m" (xL), "=m" (xR) \ : "g" (i), "g" (j) \ : "eax", "ebx", "edx"); #define mode5(arg1,arg2) \ __asm__ ("movl %2, %%edx; movl %3, %%eax; divl %4;" \ "movl %%edx, %0; movl %%eax, %1" \ : "=m" (remainder), "=m" (result) \ : "rm" (xL), "rm" (xR), "rm" (i) \ : "eax", "ebx", "edx"); #include unsigned int i=0xffffffff,j=0xffffffff; //test is hex equivalent of //9x9=81, 99x99=9801 //999x999=998001,etc; //that is FFFFFFFFxFFFFFFFF= //FFFFFFFE 00000001 //followed by FFFFFFFE 00000006/ //FFFFFFFF=FFFFFFFF remainder 5 unsigned int xL,xR; unsigned int result,remainder; int main() { mode4(0,0); cout<