Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How do I insert data into the EEPROM?

Not open for further replies.


Full Member level 5
Feb 1, 2006
Reaction score
Trophy points
Melbourne Australia
Activity points
I have not used the EEPROM in a PIC before.

In the template for the 16F628A, the last three lines are as follows:-

; initialise eeprom locations

ORG 0x2100
DE 0x00, 0x01, 0x02, 0x03

I don't understand what this means.

Does the DE line represent the data that will be inserted in the first 4 EEPROM locations?

Or does it represent the addresses of the first 4 locations?

In short, how do I insert the EEPROM data into the .asm?

I programme in assembly, not C.

Any assistance will be appreciated.

What would be more interesting would be what else is attached to the board which holds the EEPROM, and what kind of tools you've got to hand (for programming in assembler for example).

EEPROM is just another kind of memory, like RAM, except it doesn't forget. So programming it is just a matter of using the right tool, which will become (hopefully) much more apparent when you supply some more details.

Hope this document can help a little
View attachment createEPROM.pdf
  • Like
Reactions: ljcox


    Points: 2
    Helpful Answer Positive Rating
'de' means "Declare EEPROM" byte. The numbers following it are the bytes stored in the EEPROM from the .HEX file. Note this does not produce code for storing the bytes, it just embeds the values in the hex file so the programmer can write them into the PIC when it is being programmed.

The address in EEPROM has 0x2100 added to it. This is to ensure the values don't fall within the normal programming addresses. 0x2100 means EEPROM address 0x0000, 0x2101 means EEPROM address 0x0001 and so on. The assembler automatically adds 1 to the address when it saves each value so unless you use another ORG statement, the data will be stored in ascending addresses.


Thanks for the response, but I am not intending to use an external EPROM.

My question was with regard to the EEPROM within the PIC.

I have MPLAB IDE v 8.63.

Nevertheless, I have filed the paper you attached for possible future reference.

Thanks for the info.


---------- Post added at 02:13 ---------- Previous post was at 02:08 ----------

Thanks Brian,
That is exactly what I wanted to know.


Not open for further replies.

Part and Inventory Search

Welcome to