I just noticed that my Keil C compiler doesn't flag assignment of an unsigned char to a pointer as an error:
unsigned char xdata *src; unsigned char xdata array[10]; src = array[0];
src = &array[0];