asm ("leal (%1,%1,4), %0" : "=r" (x) : "0" (x) ); till now i was in kowledge that there is somewhat input and output operand. but i am not able to understand what this could mean? asm("movb %3,%0":"=r"(x),"=r"(y):"r"(a),"r"(b)); now what should technically happen is the value in b should move to x but the fun part is y is also initialised by same value. why is it so and from where this value comes from ankit ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html