AULA-09R00
26 pág.

AULA-09R00


DisciplinaAnálise Textual9.579 materiais293.984 seguidores
Pré-visualização2 páginas
se a adição do PCL resulta em um índice válido para
a tabela, lembrando que PCL é um registrador de 8bis;
\ufffd Garantir que a tabela não esteja em uma área de transição
do PCL.
22UFSJ \u2013 CAP
© Edgar C. Furtado
No primeiro caso, deve-se validar o índice da tabela
comparando-o com o número de valores armazenados na
tabela menos um. Se o Carry for 1 significa que o índice
repassado excede o número de elementos da tabela.
CRIAÇÃO DE TABELAS DE DADOS
Exemplo de uma sub-rotina tabela, onde se faz a validação do índice
dos elementos. Caso o índice seja maior que o número de elementos
menos um, deve-se retornar da subrotina sem associar nenhum valor.
23UFSJ \u2013 CAP
© Edgar C. Furtado
CRIAÇÃO DE TABELAS DE DADOS
No segundo caso deve-se garantir que os dados armazenados
não estejam na área de transição do PCL, ou seja,
24UFSJ \u2013 CAP
© Edgar C. Furtado
Memória de Programa
(FLASH):
Local onde ser armazena as
instruções.
Contador de 
Programa
Registrador 
SRAM
8 níveis de 
Pilhas
Memória FLASH do PIC
25UFSJ \u2013 CAP
© Edgar C. Furtado
Word: 14 bits
Tamanho: 8096 x 14 bits
Endereçamento a partir do PC 
(program Counter).
CRIAÇÃO DE TABELAS DE DADOS
Solução?
ORG 0X500
BCF PCLATH,4
BSF PCLATH,3
CALL TAB_1
Configura a página da 
memória de programa 
que conterá a tabela e 
realiza o chamado da 
tabela.
26UFSJ \u2013 CAP
© Edgar C. Furtado
...
ORG 0X900
TAB_1
....
RETURN
Tabela montada a partir 
do endereço 0X900 na 
memória de programa