Blinka en lysdiod med assembler & en PIC (5 / 11 steg)
Steg 5: Skapa variabler och konstanter
Emellertid i PIC församling, då finns det inget operativsystem, är det viktigt att kompilatorn vet den exakta minnesplaceringen för dina variabler. Till assembler, en variabel är en konstant namn för en bestämd plats.
Om du vill skapa en variabel använda du cblock direktivet. Vad detta direktiv gör är att definiera ett minnesblock, byte som du sedan kan tilldela namn till.
cblock h '20'
ÄPPLEN
APELSINER
BANANER
endc
Denna kod skulle orsaka kompilatorn att tolka orden äpplen, apelsiner och bananer som nummer som skulle motsvara minnesplatser byte i bank 0.
Ett varningens ord dock. Om programmet frågar om äpplen i fel banken, inte kommer att kompilatorn inse att du är i fel banken och intressanta saker kommer att hända.
Konstanter är något annorlunda. Till kompilatorn är en konstant helt enkelt ett namn för flera. I själva verket är endast materiella skillnaden mellan en variabel och en konstant hur de lagras i minnet.
Om jag förklarar en konstant som så...
OUTPUT_PIN equ d '4'
.. .my compiler tolkar alla förekomster av strängen OUTPUT_PIN som motsvarar decimaltalet 4 när instruktionerna är skrivna i programminnet.