Here's some stuff I did to send strings to an LCD. MsgToLcd macro msg ; Set up table pointers and send a messag to LCD movlw upper(msg) movwf tblptru movlw high(msg) movwf tblptrh movlw low(msg) movwf tblptrl call LcdMsg endm LcdMsg ; Put up a message pointed to by tblprt (u:h:l) tblrd *+ ; Read the table character to tablat, then increment tblptr movfw tablat ; Get the character from the table addlw 0 ; Test w (above may not set condition codes correctly) skpnz return ; if we just got a zero byte, exit call LcdPutChar ; Go put it on the LCD goto LcdMsg ; Go do next Here's a string definition: SignOnMessageL1 db " IQ512",0 ; Line 1 - Message with terminator And here's a call of the whole mess: msgToLcd(signOnMessageL1) Harold -- FCC Rules Updated Daily at http://www.hallikainen.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist