你的两个问题在C语言里面都不是问题。这都不是开发人员的事,而是在编译的时候由编译器完成。
c语言不关心这些寄存器的访问。
不用考虑用指针地址访问,#define MYDADA(i) *((volatile unsigned char xdata *)(i))