Josh, have a look in MPLAB Help for db as used with the 18F. It's not always the same as for the 16F. Don't forget that data stored in 16F/18F RAM is 8-bit, data stored in 18F flash is 16-bit (2 bytes), unlike the 16F which is 1 byte of 14-bit. If you're using a table read then you're dealing with 2 bytes, not 1. You didn't say how you were retrieving the data but this could be the reason why you're getting a 0 for the second 'address' wbr ------------------------- Example calendar = 0x0010 ;days per month not_feb movlw high(calendar) movwf pclath movf date_m,w ;compare day to month limit call cal org calendar ;month days + 1 cal addwf pcl dt .00,.32,.29,.32,.31,.32,.31,.32,.32,.31,.32,.31,.32 If it was stored as a table, eg data 0x0a0d,"+CMGL: 1",0x222c,"REC UNREAD",0x2c22 copy_sim tblrd*+ movf tablat,w bz exph ;end-of-string 0 found movwf postinc0 bra copy_sim -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist