void printbits(unsigned int x){
	int i;
	int mask = 0x1;
	
	for(i = 15; i >= 0; i--){
		printf("%d", (x >> i) & mask);
		if((i % 4) == 0) putchar(' ');
	}
	putchar('\n');
}

unsigned rightrot(unsigned x, unsigned char n){
	__asm{
		mov ebx, x
		mov cl, n
		ror ebx, cl
		mov x, ebx
	};
	return x;
}

int main(){
	unsigned x = 0x40;

	printbits(x);
	x = rightrot(x, 4);
	printbits(x);

	scanf("%d", &x);
	return 0;
}