Hello,
According to this: http://www.8052.com/tutsfr.php , the sfrs whose address are divisible by 8 are bit addressable. You can do things like SETB or CLR on them. But aren't they overlap other memory addresses? I mean, for example, P0 is in 80h. So P0.0 will be 80h, P0.1 will be 81h. But 81h is the address of SP. Aren't they overlap?