sorry again. i generally dont make such mistyakes while asking questiuons. but yes it should %0. and i want it through pointers. earlier my program was having all these things correct but somewhat later i have done all these mistakes in the code and while sending the problem i pasted this error code. i guess the code below is correct and i have to understand why array b is not initialised with the value 1 #include<inttypes.h> 2 3 4 int main() 5 { 6 uint8_t a[8]={1,2,3,4,5,6,7,8},b[8]={0,0,0,0,0,0},i; 7 uint8_t *m,*m1; 8 9 m=a; 10 m1=b; //i have pointed m1 to b 11 for(i=0;i<8;i++) 12 printf("%d ",a[i]); 13 printf("\n"); 14 asm("movq (%1), %%mm0 \n" 15 "movq %%mm0, (%0) \n" 16 :"=r"(m1) 17 :"r"(m) 18 ); 19 20 for(i=0;i<8;i++) 21 printf("%d ",b[i]); 22 return 0; 23 } so i expect that b should be initialised the problem in this code is it is printing array b as 00000000 it is not moving the values WHY? thanks a lot ankit ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html