Estoy intentando crear un proyecto de ensamblaje con MPASM / MPLINK para PIC16F628A. Se recomienda a los microchips que es mejor quedarse en el banco 0 y cambiar cada vez que desee un banco diferente, y luego volver al banco 0 (para minimizar el cambio de banco). Por eso quiero poner la mayoría de los registros de archivos GPR en el banco 0. También los registros SFR más utilizados están en bank0. Sin embargo, el enlazador está tratando de ajustar los datos a partir del banco de datos más pequeño que es GPR en el banco 2. No hay manera de decirle al enlazador que comience a rellenar desde el banco 0, excepto que el banco 2 esté protegido en la secuencia de comandos del enlazador. Debería haber una mejor manera ...
ACTUALIZACIÓN: Para aquellos que no entendieron la pregunta (o no quisieron): "Cómo reservar memoria en el banco 0 para direcciones PIC16F628A de 0x20 a 0x6F en modo de código reubicable en más de un archivo".
Lo que intenté:
1.
file1.asm
FirstBank udata_ovr 0x20
register1 res 1
register2 res 1
file2.asm
FirstBank udata_ovr 0x20
register3 res 1
register4 res 1
Por supuesto que no lo hace porque register1 se superpone con register3. Necesito que register3 se coloque en un banco no utilizado.
2.
file1.asm
FirstBank udata
register1 res 1
register2 res 1
file2.asm
FirstBank udata
register3 res 1
register4 res 1
Esto pondrá todos estos registros en bank2
3.
file1.asm
FirstBank udata 0x20
register1 res 1
register2 res 1
file2.asm
FirstBank udata 0x20
register3 res 1
register4 res 1
error del enlazador de resultados
actualización 2: La razón por la que quiero encajar mis variables en bank0 es porque los registros SPF más comúnmente usados están en el banco 0 y no necesito cambiar entre bancos cuando los uso (lo que significa menos código). Y no, la memoria compartida (70-7F) no es suficiente para ajustar todas las variables que necesito. No sería óptimo cambiar de banco cuando puedo ajustar todas las variables que uso en el 99% del código en el banco 0.
Ahora debería estar claro. Si alguien que está discutiendo mis sentimientos realmente quiere ayudar, lo apreciaré.
P.S. Supongo que me perdí la muy importante palabra clave "modo reubicable", así que me disculpo por eso. Pero por favor, mantenga sus comentarios / respuestas sobre el tema. Si algo no está claro, pregunte y trataré de cambiar la pregunta para que sea más claro. Gracias a todos los que realmente quieren ayudar.