pic 18
1. Banco de registradores: 9 bits de endereço e 8 bits de dados:
128 palavras de dados +
4 registradores do processador +
36 registradores de entrada e saída +
4 registradores de entrada e saída que são disponíveis apenas no PIC176F871;
2. Pilha de chamada de subprogramas: 3 bits de endereço que são sempre invisíveis e 8 palavras de 13 bits.
2. Memórias Flash:
1. Memória de programa: 11 bits de endereço e 14 bits de dados, 2K palavras disponíveis;
2. Memória de dados: 6 bits de endereço e 8 bits de dados, 64 palavras.
3. Endereçamento do banco de registradores:
Os endereços de nove bits empregados para selecionar um dos registradores podem ser fornecidos de forma direta ou indireta.
Na forma direta, os sete bits menos significativos do endereço são fornecidos diretamente na instrução e os dois bits mais significativos vem dos bits denominados RP0 e RP1 do registrador de indicadores. Dessa forma, o espaço de endereçamento fica dividido em quatro partes. Cada uma dessas quatro partes ( denominadas bancos de registradores ) corresponde a 128 endereços e é selecionada por uma das combinações dos valores de RP0 e RP1. Ou seja, os valores dos bits RP0 e RP1 definem qual dos bancos pode ser endereçado de forma direta.
Na forma indireta, que é empregada sempre que for realizado um acesso ao pseudo registrador cujo endereço é 00, 80, 100 ou 180, os oito bis menos significativos são fornecidos pelo registrador denominado FSR e o bit mais significativo do endereço vem do bit denominado IRP do registrador de indicadores. Dessa forma, quando essa forma de endereçamento é empregada, o espaço de endereçamento fica dividido em duas metades, cada uma com 256 endereços e o valor do bit IRP define qual dessas metades está correntemente sendo usada. Como apenas seis registradores de entrada e saída só podem ser endereçados empregando endereços maiores que FF e esses registradores normalmente não são endereçados