Back again for help in understanding a few more items. 1. Recently I cut and pasted a snippet of code that contained a "bnz" instruction. I massaged the code to read and move EEPROM data values that I defined using "de" directives into data memory area (unused general special registers). I used MPLAB SIM to execute the resultant hex code and all went well. However, when re-reading the code I noticed the "bnz" instruction and it dawned on me I had never actually seen that instruction in the list of mid-range instructions I was reading ... a separate .pdf document. The instruction hadn't rang any ding dong bells on first perusal as I have used instructions like that in other assembly languages. So I first took a look at the Help file in MPLAB IDE and sure enough it was listed ... but as a Special Instruction Mnemonic. I saw a few other such mnemonics and thought "this is great". Then upon further reading and investigation at other sources, I came to the conclusion that it was greatly discouraged to use these mnemonics. I guess I could refer to them as legacy mnemonics or as sort of mini-macros for lack of a better term. I sure miss those instructions types like bz, bnz, etc. LOL! I'll stay away from using them, but wondered why were they developed in the first place? Any historical comments welcomed. 2. I read in MPLAB IDE document and other sources that one should use an org directive of ORG H'2100 when defining starting EEPROM data memory location for most MID-Range PIC's. I never read anything that stated why one must use this particular defined location. It seemed to me then that this is somewhat MPLAB IDE specific so I hunted around the MPLAB's .lkr files and saw where for all of the mid-range PIC devices that I looked at had a start address of 0x2100. The following is an excerpt of the 12f683_g.lkr file. CODEPAGE NAME=eedata START=0x2100 END=0x21FF PROTECTED Not sure what it all means and I should note the END value in other .lkr files did not necessarily correspond to the above listed value: END=0x21FF. I am aware the different PIC microcontroller chips have different EEPROM sizes. Can I conclude that the org directive (ORG H'2100) I listed above is simply a requirement to supply a predefined PIC device's parameter to the MPLAB linker? To me, it would appear so, but am asking confirmation. Sorry if I'm too wordy ... I just hope I'm using the correct words to ask my questions. Thanks in advance, Bo -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist