Hello : I have some trouble copying a string from program memory to data memory. Sometimes it works ok, sometimes one byte is wrong, sometimes all the string is wrong. This is my code written for mcc18 compiler: char *pointer_RAM; char rom *pointer_ROM; pointer_RAM = buffer_TX_USART; // buffer in data memory pointer_ROM = Comandos_Tc35 [comando]; // string in rom while (INTCONbits.GIE == 1) INTCONbits.GIE = 0; // Disable int while ( (*pointer_RAM++ = *pointer_ROM++) != 0x00); while (INTCONbits.GIE == 0) INTCONbits.GIE = 1; // Enable int Any ideas? Should I write this piece of code in asm? Carlos. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics