位寻址是
单片机中对位地址内容进行直接位操作的寻址方式,属于其七种基础寻址方式之一。该方式针对内部RAM的20H-2FH区域(128位)和地址能被8整除的特殊功能寄存器(例如
ACC、
PSW等)的可寻址位,通过指令直接控制单个二进制位的置位、清零或取反。其位地址可表示为十六进制数值(如00H)、单元地址加位序号(如25H.5)或寄存器名加位号(如ACC.3)。
采用位寻址方式的指令,其
操作数是8位
二进制数中的某一位,在指令中要给出的是内部RAM单元中的某一位,即位地址,其在指令中用bit表示。
8051单片机内部有1个
可位寻址区,地址为20H~2FH,共16个单元。其中每个单元中的每一位都可单独作为操作数,共128位。另外,如果SFR(
特殊功能寄存器片—内高128单元)的地址值能被8整除,则该SFR也可以进行位寻址。可位寻址的SFR有ACC,B,
PSW,P0,P1,P2,P3,
IP,IE,TCON,SCON。
由于单片机中只有内部RAM和
特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。位寻由指令给出直接位地址。与
直接寻址不同的是,位寻址只给出位地址,而不是字节地址。