Bien. He estado meditandoló. Y la respuesta a las ambas preguntas que me he estado haciendo es la mísma:
La principal diferencia entre los 16F y los 18F que está relacionada con este problemita de los tamaños de los arrays, no tiene que ver tanto con la paginación sino con la distribución de los GPRs y FSRs. Si se fijan en cualquier 16F o anterior, los GPRs y los FSRs están mezclados. Es decir, si van recorriendo la memoria de datos, probablemente encuentren algo así(en un 16F8747 ya que estamos)
FSRs, GPRs,FSRs, GPRs,FSRs, GPRs,FSRs, GPRs.
Si lo queremos usar direccionamiento indirecto para poder armar un array que ocupe(o cruce) dos o mas bancos, en los 16F entonces habría que andar "saltando" a los FSRs. Tarea no tan sencilla como los 18F que poseen toda la memoria GPRs al inicio y recién al final los FSR...
Tal vez por esto Microchip los haya reorganizado de esta manera, eh?
Entonces, parecería que no tiene tanto que ver con el tamaño, sino que con que todos los elementos puedan ser ubicados consecutivamente. Es decir, de manera contínua para que el CCS pueda utilizar apuntadores sencillos.("la continuidad de los parques"
)
A ver qué les parece mi nueva hipótesis.