dear Carl, v3.31.00 gives this message: Message[302] c:\dir\incl.asm [line No] : register in operand not in bank 0. ensure that bank bits are correct. my code still works with these messages. I seem to recall that this was a required improvement for a betta version v3.4x bug fix so maybe the microchip team compiled mplab 3.4 with some old S/W initially. try updating to the latest version of mplab (non betta).; else suffer or revert to v3.31.00 (runs well) Carl Wainwright wrote: > > Just a short question > > Using MPLAB 3.4 I am getting weird results with bank bit errors > > I have macros which set and reset bit RP0 bit in the status register. > > bk0 MACRO > bcf rp0 > ENDM > > bk1 MACRO > bsf rp0 > ENDM > > I have declared a block at 0xA0 for 3 bytes as bank0 is full up! > > cblock 0xA0 > SW_VER_HIGH > SW_VER_LOW > SW_BUILD > endc > > some defines > > #define ver_build 0 > #define ver_high 1 > #define ver_low 0 > > I have written the following code to store the version number in memory > > bk1 > movlw ver_high > movwf SW_VER_HIGH > movlw ver_low > movwf SW_VER_LOW > movlw ver_build > movwf SW_BUILD > bk0 > > And the assembler returns messages(not errors) on the "movwf" lines of > bank bits not set properly. If I emulate the code with pic-master I can > clearly see the bank bits being set. > > Questions: > > 1) Am I doing anything wrong? > 2) Is this a reported error with the assembler > 3) Should I just ignore the messages > > Carl Wainwright Tel : +44 > (0) 1635 584014 > Graduate Design Engineer Fax : +44 (0) > 1635 584098 > Controlware Communications Systems Ltd > Gateway House > Newbury Business Park > Newbury > Berkshire > RG14 2PZ