> The > 12, 16, 17 or 18 series is a way of Microchip to identify the series > [they also call it base-line (12bit), mid-range (16bit) and high end > (18bit)]. No. The 12, 16, 17, 18, and 30 numbers are family designations and are NOT the width of an instruction in bits. These are just designators that are part of the model number. For example, both the 17 and 18 family have a 16 bit instruction word. > Now PIC instructions are 14bit wide, On the 16 family only. > You don't even need to address RAM locations per se Maybe you don't, but the machine sure does. The families also differ significantly in how they address data memory. The PIC 16 architecture is limited to 512 data memory locations. All current PIC 18 devices are limited to 4K bytes data memory address space (12 bit address). The general architecture could support up to 64Kbytes if the whole BSR register were implemented, but I see no evidence that Microchip ever intends to do that. The PIC 30 family or external RAM will probably be the only answers to larger data memory requirements. > (only address the banks, RP<1:0>). You simply give "names" to GPRs > (Temp0, Temp1, NumHi, etc.) while SFRs already have them. And then > use these in the instructions of your program. LOL. The processor never sees these names of course. Symbolic references are translated into addresses by the assembler and linker. The PIC only deal in RAM addresses, not names. > Btw, can somebody tell me why when the program counter is 13bit wide, > instruction 14bit wide, data registers 8bit wide; does Microchip call > it a 16 series? Maybe. Again, these are just part of the model number and obviously are not trying to tell you the instruction word width. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body