> instead of using directive DE (or DW) always use DB. > > Like: > > EE_ROMDATA CODE 0xF00000 ; data resides in onchip eerom > DB > 0x03,0x01,0x05,0x05,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00 #define > A_STRING_OFFSET $-EE_ROMDATA DB "some number of bytes",0x00 > > If you keep number of bytes on each separate DB directive line even, > then you'll have no padding with 'extra' zeroes by the linker. But then the data won't go into the HEX file according to Microchip's requirements on an 18 family PIC. Successive EEPROM bytes are expected in the low byte of successive instruction words. In other words, only at even addresss. The odd addresses are ignored. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.