Hi again, OK, re that (premature) register assignment query I posted yesterday, Ive done more homework and figured out that the PCL resets when I try to define a register in excess of 0x01F (Fig. 4.4 PIC16C5X data sheet) What's not obvious - at least to me - is how best to specify the general purpose registers in Bank 1, Bank 2 etc. Obviously, I've got to set bits 5,6 in the FSR but can I do that within CBLOCK? Or do I need to call a MACRO every time I access one of these registers? If I do that, how do I stop MPLAB thinking it's found a bank assignment problem for each of the higher page registers? Page structured memories - I just love'em!!! Thnax for any advice - PJH ;************************* ;REGISTER ASSIGNMENTS ;************************* CBLOCK 0x07 reg0 ;07 reg1 reg2 reg3 reg4 reg5 reg6 reg7 reg8 reg9 regA regB regC regD regE regF reg10 reg11 reg12 reg13 reg14 reg15 reg16 reg17 reg18 reg19 ;Register 0x01F. PCL resets if any registers reg1A ;above this are called. reg1B reg1C reg1D reg1E reg1F ENDC --