Sorry, I assumed you were using an 18F, which can have problems with EEPROM Math.
Since you are using a 16F628, please ignore my previous comment.
Not sure why you would get that error with a 16F, so give this a try and let me know what happens.
Set you're OSC and LCD defines first ...
Code:
<font color="#0000FF"><b><i>'----[EEPROM DATA]----------------------------------------------------------
</i></b></font><b>EEstring1 </b><font color="#008000"><b>DATA </b></font><font color="#FF0000">"Hello World!"</font>,<font color="#800000"><b>0 </b></font><font color="#0000FF"><b><i>; null-terminated strings in EEPROM
</i></b></font><b>EEstring2 </b><font color="#008000"><b>DATA </b></font><font color="#FF0000">"Didn't expect That."</font>,<font color="#800000"><b>0
</b></font><font color="#0000FF"><b><i>'----[Variables / Aliases]--------------------------------------------------
</i></b></font><b>Idx </b><font color="#008000"><b>VAR BYTE </b></font><font color="#0000FF"><b><i>' String Index pointer
</i></b></font><b>Char </b><font color="#008000"><b>VAR BYTE </b></font><font color="#0000FF"><b><i>' Character to display
</i></b></font><b>String </b><font color="#008000"><b>VAR BYTE </b></font><font color="#0000FF"><b><i>' Pointer to String in EEPROM memory
'----[Initialization]-------------------------------------------------------
</i></b></font><b>CMCON </b>= <font color="#800000"><b>7
</b></font><font color="#008000"><b>LCDOUT </b></font><font color="#800000"><b>$FE</b></font>,<font color="#800000"><b>1</b></font>:<b>FLAGS</b>=<font color="#800000"><b>0</b></font>:<font color="#008000"><b>PAUSE </b></font><font color="#800000"><b>250</b></font>:<font color="#008000"><b>LCDOUT </b></font><font color="#800000"><b>$FE</b></font>,<font color="#800000"><b>1</b></font>:<font color="#008000"><b>PAUSE </b></font><font color="#800000"><b>250 </b></font><font color="#0000FF"><b><i>' Initialize LCD
'----[Main program loop]----------------------------------------------------
</i></b></font><b>Main</b>:
<font color="#008000"><b>LCDOUT </b></font><font color="#800000"><b>$FE</b></font>, <font color="#800000"><b>1 </b></font><font color="#0000FF"><b><i>' Clear LCD screen
</i></b></font><b>String </b>= <b>EEstring1 </b>: <font color="#008000"><b>GOSUB </b></font><b>EEString2LCD </b><font color="#0000FF"><b><i>' Display String1
</i></b></font><font color="#008000"><b>PAUSE </b></font><font color="#800000"><b>1000
</b></font><font color="#008000"><b>LCDOUT </b></font><font color="#800000"><b>$FE</b></font>,<font color="#800000"><b>$C0 </b></font><font color="#0000FF"><b><i>' move cursor to Line2
</i></b></font><b>String </b>= <b>EEstring2 </b>: <font color="#008000"><b>GOSUB </b></font><b>EEString2LCD </b><font color="#0000FF"><b><i>' Display String2
</i></b></font><font color="#008000"><b>PAUSE </b></font><font color="#800000"><b>1000
</b></font><font color="#008000"><b>GOTO </b></font><b>Main </b><font color="#0000FF"><b><i>' Rinse & Repeat
'----[Display the specified EE string]--------------------------------------
</i></b></font><b>EEString2LCD</b>:
<b>Char </b>= <font color="#800000"><b>$FF </b></font><font color="#0000FF"><b><i>' Make sure Char > 0 to start
</i></b></font><b>Idx </b>= <font color="#800000"><b>0 </b></font><font color="#0000FF"><b><i>' start at beginning of string
</i></b></font><font color="#008000"><b>WHILE </b></font><b>Char </b>> <font color="#800000"><b>0 </b></font><font color="#0000FF"><b><i>' do Null-terminated string
</i></b></font><font color="#008000"><b>Read </b></font><b>String </b>+ <b>Idx</b>, <b>Char </b><font color="#0000FF"><b><i>' get the character
</i></b></font><font color="#008000"><b>IF </b></font><b>Char </b>> <font color="#800000"><b>0 </b></font><font color="#008000"><b>THEN LCDOUT </b></font><b>Char </b><font color="#0000FF"><b><i>' display the character,If>0
</i></b></font><b>Idx </b>= <b>Idx </b>+ <font color="#800000"><b>1 </b></font><font color="#0000FF"><b><i>' point to next character
</i></b></font><font color="#008000"><b>WEND
RETURN
</b></font>
Bookmarks