Page 10 - Microcontrolere - Indrumator de laborator
P. 10
Astfel, în Fig.1.1 este indicată reprezentarea binară pe 14 biți a instrucțiunii
cu mnemonica ADDLW care include în codul său binar și o constantă reprezentată pe
cei mai puțin semnificativi 8 biți. Instrucțiunea este executată într-un singur ciclu
mașină, echivalent ca durată cu 4 perioade ale semnalului de tact al
microcontrolerului, iar rezultatul acesteia este reținut în registrul W al unității
aritmetice și logice din unitatea centrală.
De exemplu, pentru instrucțiunea în limbaj de asamblare ADDLW 3h, codul
mașină executabil este 11111x00000100, cod ce va fi memorat în final într-una dintre
locațiile de memorie ale memoriei program de tip Flash. În acest cod, x poate să ia
valoarea 0 sau 1.
Programul scris în limbaj de asamblare este convertit în cod mașină
executabil cu ajutorul unui program de asamblare, numit și asamblor, sau folosind
funcția BUILD din cadrul unui mediu integrat de dezvoltare IDE (lb. engl. Integrated
Development Environment, de exemplu MPLAB® X IDE, oferit de către compania
Microchip) util pentru programarea în limbaj de asamblare.
2.2. Crearea și asamblarea unui fișier sursă
Fișierul sursă, conține programul care urmează a fi convertit în cod mașină. În
numeroase situații, aplicația software poate să cuprindă mai multe fișiere sursă. Un
fișier sursă este creat cu un editor de text, iar formatul paginii va conține în principiu
patru coloane.
prima coloană a doua coloană a treia coloană a patra coloană
Adr_1: GOTO Adr_2 ; salt la Adr_2
; Adr_1 reprezintă denumirea simbolică / eticheta adresei fizice din memoria
; program la care va fi plasată instrucțiunea de salt necondiționat / ramificare a
; programului
PSECT code ; directivă de asamblare
; se menționează că după această directivă urmează programul / codul sursă
; se pot declara mai multe secțiuni de program care încep la adrese
; diferite de memorie program
; Comentariul este precedat de „ ; ” și nu produce niciun efect la asamblare / nu
; este luat în considerare
XYZ EQU 75 ; la asamblare, eticheta
; XYZ va fi înlocuită cu numărul 75 (în zecimal)
PROCESSOR 16F887 ; este indicat tipul
; microcontrolerului utilizat
#include <xc.inc> ; la asamblare
; este folosit fișierul xc.inc, fișier în care sunt definite configurări,
; registrele cu funcții speciale din memoria de date, inclusiv la nivel de bit,
; pentru microcontroler
7