Hi, I've always used the tris and option commands for 16F84, ignoring the warning message, "Use of this instruction not recommended." Now, I thought I'd do it the recommended way by bank switching and writing the registers directly. I select bank1 (bsf STATUS,RP0), then try to write a value to TRISA, TRISB or OPTION_REG. However, in each case I receive the error, "Register in operand not in bank 0. Ensure that bank bits are correct." Note that the tris & option reg's appear to be getting set properly, but I don't think these messages are right. Anyone know what's going on here? As a demonstration, consider Example 5-1 from the Microchip data manual for PIC16F8X... MPASM 02.30 Released EX5-1.ASM 8-4-2000 0:32:39 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 include "p16F84.inc" 00001 LIST 00002 ; P16F84.INC Standard Header File, Version 2.00 Microchip Technology, Inc. 00136 LIST 2007 3FF1 00002 __config _XT_OSC & _WDT_OFF & _PWRTE_ON 00003 0000 0185 00004 clrf PORTA 0001 1683 00005 bsf STATUS,RP0 0002 300F 00006 movlw 0x0F Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct. 0003 0085 00007 movwf TRISA 00008 00009 end thanks, ----------------------------------------------------------------------- David Snyder Hale david@isi.mtwilson.edu Mount Wilson Observatory (626) 568-0304 http://isi.mtwilson.edu ----------------------------------------------------------------------- -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.