I saw something right after the label SendPSTRLoop:. You have a CALL MSG line there, but MSG is only defined as a variable. When I ran your code in MPLAB, the next instruction to execute is the third line after start, or 0x011 in ROM. Then, when it gets to the delay routine, I get a stack overlow. John -----Original Message----- From: Robert Sochon [mailto:goatpics@YAHOO.CO.UK] Sent: Thursday, April 12, 2001 11:47 AM To: PICLIST@MITVMA.MIT.EDU Subject: [pic]: LCD mystery I have some code for 4 bit data transfer from Myke predko - its good code - ive got the delays right ( i think) but every time i turn the circuit on the display shows a different set of characters everry time.... nothing logical either just a set of junk! Any ideas? its menat to say hello world and occassionally shows the right number of characters.... but not always! - no bust jumpers either Does anyone have a truly bullet proff complete 4 bit routine? that doesnt use the busy flag...! THanks for all the help already - im slowly gettiong there - uphil struggle :) Cheers robert ps attached is asm file if anyone wants a look! ____________________________________________________________ Do You Yahoo!? Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk or your free @yahoo.ie address at http://mail.yahoo.ie -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads