To declare the whole I/O port, I use sfr. To declare individual bits, I use sbit. How do I declare a variable that contains only a few bits like port0^0, port0^1, and port0^2. I want my variable to be 3 bit long...
You should be able to do this by defining a structure in which the fields have a specified bit length. The overall length of the structure should be exactly 8 bits. You can copy a variable of this type to an SFR. It may be possible to specify the location of your variable by using the _at_ keyword and to locate your variable at the address of the SFR. I have not tried it myself, but I have in mind something like the following: data type_name var_name _at_ sfr_address