Dos cosas, si fuera vos programaria en C ya que para la arquitectura 8051 se desarrollaron muy buenos compiladores de C. Por otro lado si lo que vos queres hacer es que utilizar tu 8051 solo como CPU, deberias poner memoria de programa y datos externa, pero con esto no basta, tenes que colocar el pin denominado EA (external access) a GND para que el micro entienda que va a acceder a memoria de programa externa, por otro lado podes o no usar memoria de datos externa dado que si no necesitas mas de lo que el micro lleva internamente no es necesario. Si lo fuese, los pines R/W del CPU manejan el mapa de memoria de RAM, es decir si declaras una variable como xdata, se almacenara en RAM externa, de no ser asi, en RAM interna. Cualquier duda volve a postear, creo que fui claro igual.-