Dave wrote: > gyro_compass.asm:882: warning: > Address exceeds maximum range for this processor. It's only a warning. MPASM has lots of misplaced warnings for things that are perfectly legitimate, although I don't remember this one specifically. Maybe that's because you used the archaic ORG instead of CODE. Try doing it right and using CODE, then you have the opportunity to give the section a meaningful name while you're at it. If that doesn't work, you can disable the warning. You should probably also double check that the EEPROM region is correctly defined in the linker file (although that has nothing to do with the warning). > org 0x2100 ;this is the start of EEPROM area > de 0 <-- Here is the problem and so down the page... > de 0 > de 0 > de 0 > de 0 > de 0 > de 0 > de 0 > de 0 ;position in frame data transfer > de "DG001 STPR V1.000" Something doesn't smell right here. How are you making sure that the EEPROM initial values defined above line up to the known offsets? I don't see any labels, but it's probably important that the string "DG001..." start at byte 9 of the EEPROM. Either there is a lot you're not telling us, or this is really bad code and you need to go back and read the MPASM/MPLIB/MPLINK manual again. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist