Qualche sfondo. Uso MPLABx con un PicKit2 per programmare diversi tipi di immagini. Al momento è il 16F887. Cerco di attenermi alla catena di strumenti Hi-Tech PICC Lite ma sto diventando sempre più insoddisfatto di come sono assemblate alcune cose. Le operazioni che dovrebbero essere relativamente rapide (considerando il ciclo di istruzione di 500 ns a 8 Mhz) richiedono fino a 20us per essere completate. Quindi ho iniziato a inserire il mio codice ASM per gestirlo.
Tuttavia, ho difficoltà a comprendere la mappa di memoria fornita nel foglio dati a pagina 20.
La memoria del programma inizia alle 0005h. Tuttavia, pagina 23 mostra gli indirizzi dei file dei registri per scopi speciali, come ad esempio la porta A. L'indirizzo della porta A è indicato come "05h".
Sono confuso su come distinguere tra una posizione di memoria 0005h e il registro degli usi speciali situato alle 05h. Come posso fare riferimento ai registri per scopi speciali?
Ho programmato un assemblatore piuttosto esteso per chip HC11 meno recenti, ma questa è la mia prima avventura nella codifica asm PIC. Qualsiasi aiuto qui sarebbe apprezzato.