Lee Hewitt wrote: > This PCLATH problem is driving me mad ! > [etc....] Lee: Sorry; I accidentally sent that last message without including the most-important paragraphs. Here they are: Your code fails because, while you properly adjust PCLATH in the various "stringx" subroutines, you DON'T attend to it in the "write_string" subroutine. After your "string3" subroutine sets PCLATH to 01 (to display the "o" character), the next call to "write_string" will fail. THAT'S where your problem is, and you can fix it by making "write_string" look more like the "stringx" subroutines: write_string: clrf char_ptr movwf msg_ptr movlw high (JUMP_TABLE) movwf PCLATH clrc rlf msg_ptr,w addlw low (JUMP_TABLE) btfsc STATUS,C incf PCLATH movwf PCL JUMP_TABLE: call string0 goto ws2 call string0 goto ws2 etc.... -Andy === Meet other PICLIST members at the Embedded Systems Conference: === 6:30 pm on Wednesday, 1 October, at Bytecraft Limited's booth. === === For more information on the Embedded Systems Conference, === see: http://www.embedsyscon.com/ === Andrew Warren - fastfwd@ix.netcom.com === Fast Forward Engineering - Vista, California === http://www.geocities.com/SiliconValley/2499