Algunos antecedentes. Uso MPLABx con un PicKit2 para programar diferentes tipos de imágenes. Por el momento es el 16F887. Trato de seguir la cadena de herramientas Hi-Tech PICC Lite, pero cada vez estoy más descontento con la forma en que se ensamblan algunas cosas. Las operaciones que deberían ser relativamente rápidas (considerando el ciclo de instrucción de 500 ns a 8Mhz) están demorando hasta 20us para completar. Así que empecé a insertar mi propio código ASM para lidiar con él.
Sin embargo, tengo dificultades para entender el mapa de memoria proporcionado en la hoja de datos en la página 20.
La memoria del programa comienza a las 0005h. Sin embargo, la página 23 muestra las direcciones de archivo de los registros de propósito especial, como el puerto A, por ejemplo. La dirección del puerto A se muestra como "05h".
Estoy confundido sobre cómo diferenciar entre una ubicación de memoria 0005h y el registro de propósito especial ubicado en 05h. ¿Cómo puedo hacer referencia a los registros de propósito especial?
He realizado una programación de ensamblador bastante extensa para chips HC11 más antiguos, pero esta es mi primera incursión en la codificación asm PIC. Cualquier ayuda aquí sería apreciada.