特殊功能寄存器可位寻址的位地址是80H~FFH,而且每个位都有位符号,即名称,写程序时可直接写位符号,例如,SETB EA,不用直接写位地址,所以不用记位地址。
而内部RAM可位寻址的单元地址是20H~2FH这16个单元,位地址范围是:00H~7FH,这128个位用户可自己命名符号,但需要指定位地址,例如用BIT伪指令定义:
FLAG BIT 02H
程序中就可以用了
SETB FLAG
追问运用sbit位寻址两个都可以访问吗
追答sbit是定义引脚的,不能访问位。
C语言中写程序不用考虑位地址,特殊功能寄存器只能写符号,例,EA=1;
而RAM中的位地址是不能定义的,具体地址不能定义,也不用考虑。例如,用bit定义位变量,也就是位符号,如,bit flag;
我前面回答的例子是汇编指令。