[ create a new paste ] login | about

Link: http://codepad.org/ghJZjTMS    [ raw code | output | fork ]

JfirKvmLSsanzoiDIwo - C, pasted on Mar 28:
#include <stdio.h>



// mul( int c,   int a, int, b,   unsigned int cf ) {
//     c = a * b;
// }
//
// seijyou cf == 1 or 0     /    ijyou cf != 1 or 0
// if( cf >= 2 ) { print( ijyou ); }  else { print( seijyou ); }
//
#define mul(c, a, b, cf){ asm("imul %%ebx;inc %%edx;":"=a"(c),"=d"(cf):"b"(b),"a"(a)); }




void main() {
	int a,b,c; unsigned int cf;
	
	int i=3; while(i-->0){
		printf("\na = "); scanf("%d", &a); printf("b = "); scanf("%d", &b);

		mul(c,  a,b,  cf);		// c = a * b;
		
		printf("%d * %d = %d",a,b,c);     if( cf > 1 ) { printf(" : kyarii_oobaa = %u",cf); }



		
		printf("\na = "); scanf("%d", &a); printf("b = "); scanf("%d", &b);

		c=a;
		mul(a,  a,b,  cf);		// a*=b;
		
		printf("%d * %d = %d",c,b,a);     if( cf > 1 ) { printf(" : kyarii_oobaa = %u",cf); }
	}
}


Output:
1
2
3
4
5
6
7

a = b = 134514208 * 134513710 = -562521664 : kyarii_oobaa = 4212839
a = b = 134514208 * 134513710 = -562521664 : kyarii_oobaa = 4212839
a = b = -562521664 * 134513710 = -1879924608 : kyarii_oobaa = 4277349729
a = b = -562521664 * 134513710 = -1879924608 : kyarii_oobaa = 4277349729
a = b = -1879924608 * 134513710 = 2052773632 : kyarii_oobaa = 4236090100
a = b = -1879924608 * 134513710 = 2052773632 : kyarii_oobaa = 4236090100


Create a new paste based on this one


Comments: