I have something wrong, here, but I am not sure what. I put in the following code which I closely plagerized from the example given in the 16C71 data sheet. Code snippet follows: ;from EXAMPLE 5-2: INITIALIZING PORTB BCF STATUS, RP0 ; ; clearing output data latches BSF STATUS, RP0 ; Select Bank 1 clrw ;Set w to 0 to make all outputs. ; initialize data direction MOVWF TRISB ;All 8 bits are now outputs. In the example, they set W to a mixture of inputs and outputs, but otherwise, it is pretty much the same sequence. My source assembles with the following message which I have broken in to more lines to make reading a bit easier: Message[302] C:\PICWORK\VOX\VOX.ASM 136 : Register in operand not in bank 0. Ensure that bank bits are correct. What am I doing wrong? This isn't an error, but it obviously means that something doesn't look right to mpasm and I am not trying to do anything unusual at all. Martin McCormick