Hi Andy, Kenny and All: Andrew Warren wrote: > Anyway, try something like this: > > ADDRESS EQU [any file register] > COUNT2 equ [another one] > > LOOKUP MOVWF PCL > > STRING1 DT STRING2-STRING1+1,"This is String #1" > STRING2 DT STRING3-STRING2+1,"String #2" > STRING3 DT STRING4-STRING3+1,"You get the idea..." > STRING4 .... > > DISPLAY MOVWF ADDRESS > CALL LOOKUP > MOVWF COUNT2 > LOOP INCF ADDRESS > MOVF ADDRESS,W > CALL LOOKUP > MOVWF LCDDATA > CALL SENDLCD > DECFSZ COUNT2 > GOTO LOOP > > .... > > MAIN MOVLW STRING1 ;DISPLAY STRING #1. > CALL DISPLAY ; > > MOVLW STRING2 ;DISPLAY STRING #2. > CALL DISPLAY ; > > MOVLW STRING3 ;DISPLAY STRING #3. > CALL DISPLAY ; > > -Andy Good code!. But, if x'00' character isn't used at display, I will like to simplify as: ADDRESS EQU [any file register] LOOKUP MOVWF PCL STRING1 DT "This is String #1",0 STRING2 DT "String #2",0 STRING3 DT "You get the idea...",0 DISPLAY MOVWF ADDRESS LOOP CALL LOOKUP IORLW 0 ; char null? SKPNZ ; skip if not RETURN ; all done MOVWF LCDDATA CALL SENDLCD INCF ADDRESS MOVF ADDRESS,W GOTO LOOP .... MAIN MOVLW STRING1 ;DISPLAY STRING #1. CALL DISPLAY ; MOVLW STRING2 ;DISPLAY STRING #2. CALL DISPLAY ; MOVLW STRING3 ;DISPLAY STRING #3. CALL DISPLAY ; Best regards: Roberto Deza (rdeza@cun.unav.es rda@cpd.unav.es)