Professional Documents
Culture Documents
PIC - Microchip
A partir das Diretivas, o programador descreve as correlações existentes entre os Nomes empregados no
código-fonte com os bits, registros e constantes previstos para uso no programa.
Esta diretiva substitui o [ nome ] encontrado no código-fonte pelo [ texto ] ou [ instrução ] identificado na
Área de Diretivas.
No texto do código-fonte utiliza-se o Nome, que é facilmente identificável pelo programador. Quando o
compilador encontra o Nome, substitui pelo texto.
EXEMPLO:
Este procedimento só é possível para a substituição de uma única linha de instrução. Para a
substituição de duas ou mais linhas de instrução (sequencia) deve-se criar uma Macro.
Esta diretiva relaciona o Nome determinado pelo programador a um valor numérico que pode ser
representado na forma binária, decimal ou hexadecimal.
No lugar de um valor numérico pode-se utilizar uma expressão aritmética onde os valores numéricos dentro
da expressão podem ser representados na forma binária, decimal ou hexadecimal.
O compilador somente interpreta valores numéricos inteiros e positivos dentro do intervalo de 0 a 255
(máximo valor para 8 bits).
O resultado de uma expressão deve ser um valor numérico inteiro e positivo dentro do intervalo de 0 a 255
(máximo valor para 8 bits).
EXEMPLO:
O arquivo especificado é lido como um código-fonte e incluído como texto completo a partir da posição
onde a diretiva #INCLUDE estiver escrita, dentro do código-fonte desenvolvido.
Esta diretiva deverá ser usada para incluir no código-fonte o arquivo padrão do controlador escolhido. Neste
arquivo estão definidos todos os Nomes dos registros e bits do dispositivo selecionado, não sendo necessário
defini-los dentro do seu código-fonte.
Esta diretiva pode ser usada para incluir no seu código-fonte arquivos contendo sequencias funcionais já
desenvolvidas e testadas – Macros - tomando o cuidado de declarar os Nomes de todas as variáveis e
constantes existentes no arquivo.
Se o arquivo de inclusão for especificado com um caminho (path), a busca será feita apenas neste caminho
especificado.
EXEMPLO:
ou
ou
Esta diretiva define uma lista de Nomes de variáveis que serão alocadas na memóris RAM a partir d
endereço especificado. A primeira variável da lista é alocada no endereço de memória especificado,
enquanto as demais variáveis da lista são alocadas sequencialmente nos endereços seguintes.
EXEMPLO:
ATENÇÃO: a lista de variáveis não pode exceder o último endereço da memória RAM do Banco de
Memória (especificado pelo endereço incial – no caso do exemplo, o endereço 0x20 encontra-se
no Bank 0). Se necessário, acrescentar outras listas, como no exemplo abaixo:
Esta diretiva indica o fim de uma lista de variáveis iniciada pela diretiva CBLOCK.
EXEMPLO:
ou
Esta diretiva indica o fim de um código-fonte. É necessária ao menos uma diretiva END no final do código-
fonte para indicar ao compilar o término da sequencia de instruções do programa.
Esta diretiva é usada em um código-fonte sempre que parte do código deva ser colocado em uma localização
específica da memória.
Para a colocação de diretivas ORG sucessivas, o número de endereços disponíveis após cada diretiva ORG
deve ser suficiente para conter todas as instruções previstas para este bloco.
Se não houver nenhuma outra diretiva ORG em uma sequencia de instruções, o compilador grava todas as
instruções sequencialmente na memória.
EXEMPLO: