Who's online

There are currently 0 users and 5 guests online.

Publicidade

Displays de sete segmentos, transistores e decodificador BCD-sete segmentos

User login

MPASM: cblock...endc

cblock...endc é um recurso do MPASM muito utilizado para a geração de blocos de constantes (símbolos seqüenciais com nome). Portanto, não é necessário utilizar várias diretivas equ para que o assembler gerar uma lista de símbolos (com endereços contínuos).

 

O argumento dado a cblock é o endereço inicial do bloco. Este argumento pode ser omitido significando que o endereço inicial do próximo bloco é imediatamente após o último byte do block anterior conforme demonstrado no exemplo abaixo.

 

Exemplo de um bloco iniciado no endereço 0x20:

cblock 0x20     
    ; interrupções - contexto
    w_temp ; endereço: 0x20
    status_temp ; 0x21
      
    ; tempo a ser atrasado, para funções delay_ms e delay_10us
     delay ; 0x22
endc

cblock ; endereço: um byte após o bloco anterior
     high ; 0x23
endc 

 

Além disso, pode-se utilizar a opção de incremento nos símbolos:

 

cblock ; endereço: um byte após o bloco anterior
    var_16:2 ; reserva dois bytes para a variável.
endc

 Neste caso, o assembler dedicaria 2 bytes para a variável/label.

endereço inicial

no exemplo você usou o bloco 0x20, ele é padrão para todos os pics? Como identifico os endereços disponiveis para eu usar o cblock?

constante 0x20

O número 0x20 se refere ao endereço inicial do bloco. Esse endereço não é padrão para todos os PICs, mas é o mais comum.

Você deve consultar o datasheet do microcontrolador que você utilizará para saber qual é o endereço inicial dos registradores de propósito geral. Essa informação está disponível na seção "DATA MEMORY MAP" dos datasheets da Microchip.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.