If you use FSR you don't have to set any bits for between bank0 and bank1 (it is explained in the data sheet). So, to copy a register from 0x021 in bank0 to 0x0A1 in bank1: MOVLW 0X021 ;value of register to copy MOVWF FSR ;point to that register MOVF INCF,W ;move and MOVWF TEMP1 ;save contents in a temporary register MOVLW 0X0A1 ;value of register to save in MOVWF FSR ;point to that register MOVF TEMP1,W ;move contents and MOVWF INDF ;save it in that register Loop that for all your other registers. Read the data sheets on using the FSR, it is a very handy function to use. Quentin -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.