At 07:05 PM 1/14/02 +0100, you wrote: >I try to compile the following lines,part of a program for Pic16f84a, and I >get in line <2> the >"Message[302] : Register in operand not in bank 0. Ensure that bank bits >are correct". >and in line <5> a "Warning[202] : Argument out of range. Least >significant bits used". First the last problem, you can note binary by doing: movlw b'01010101' I think movlw 01010101B might be assembled as hex. As for the 302 error, it is benign, it is a notification that you should make sure your bank bits are set properly for those lines. The assembler is dumb, it doesn't "know" what the bank bit settings are so it simply warns you. If you are confident with your bank settings, include this line in your program, possibly a header file or just at the top of the code file. errorlevel -302 This turns the warning notification on, if you want to be warned about it elsewhere in your code in case you forget to handle it properly: errorlevel +302 I use macros, here is a segment of mine: bank0 MACRO ;macro to select data RAM bank 0 errorlevel +302 bcf STATUS,RP0 bcf STATUS,RP1 ENDM bank1 MACRO ;macro to select data RAM bank 1 errorlevel -302 bsf STATUS,RP0 bcf STATUS,RP1 ENDM they are called like so: bank1 clrf trisb bank0 Jeff -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.