ELEMANIA
PIC16F690 - Altre direttive
Direttiva CBLOCK

La direttiva CBLOCK è simile alla EQU ma consente di definire un gruppo di registri da un byte a partire da una locazione indicata. Esempio:

CBLOCK     70
               temp
               x, y
ENDC

definisce tre byte agli indirizzi 70 (temp), 71 (x), e 72 (y).

Direttive ORG e RES

Abbiamo già incontrato la direttiva ORG con lo scopo di indicare all'assemblatore l'indirizzo fisico dove dovranno essere caricate le istruzioni successive. Se applicata a un'area di dati invece, la direttiva ORG permette di definire l'indirizzo fisico di partenza dell'area stessa.

L'occupazione dell'area indicata dalla ORG viene quindi specificata tramite nomi simbolici usando la direttiva RES (riserva).  In pratica la direttiva RES è simile alla EQU, ma in essa bisogna indicare l'occupazione in byte (di solito 1) dei singoli nomi e non l'indirizzo in memoria. Per esempio:

                ORG    32     ;Indirizzo inizio RAM dati
LUCE         RES     1      ; locazione di indirizzo 32 (1 byte)
CONT        RES     1      ; locazione di indirizzo 33 (1 byte)
NUM          RES     1      ; locazione di indirizzo 34 (1 byte)

Questa scelta spesso è preferibile rispetto all'uso della EQU in quanto produce codice facilmente rilocabile (cioè che può essere facilmente spostato da un'area di memoria all'altra, semplicemente cambiando la EQU inziale).

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it