Aart wrote: > There was a slight change, there are some characters (all the same and > unreadable) at the display now when turning on. Maybe somone would take a > look at the full code (it's short). OutMessage: movwf FSR ; Point at first letter OutLoop: movf FSR, w ; Get pointer into W incf FSR, f ; Set up for next letter call shomsg ; Get character to output iorlw 0 ; At the End of the Message? btfsc STATUS, Z ; Skip if not at end return ; Yes - Equal to Zero call SendCHAR ; Output the ASCII Character goto OutLoop ; Get the next character I would change the FSR references to "Temp1", or define a new RAM location like "CharIndex". Eg OutMessage: movwf CharIndex OuLoop: movf CharIndex, w ; Get pointer into W incf CharIndex, f ; Set up for next letter etc... etc... Although the FSR is primarily intended for indirect addressing, it can be used in the way presented, but it is best to use a GP RAM location instead. -- Best regards Tony mICros http://www.bubblesoftonline.com mailto:sales@picnpoke.com -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body