Variabilele și Evaluarea Expresiilor Aritmetico-Logice

Laborator
8/10 (1 vot)
Domeniu: Electronică
Conține 1 fișier: docx
Pagini : 10 în total
Cuvinte : 1375
Mărime: 1.56MB (arhivat)
Publicat de: Cristian Giurgiu
Puncte necesare: 0
Universitatea Tehnica a Moldovei Facultatea Calaculatoare, Informatica si Microelectronica Catedra Microelectronica si Ingineria Biomedicala

Extras din laborator

Obtinerea cunostintelor si deprinderilor de-a lucra cu variabele.

Sarcina lucrarii:

Să se evalueze o expresie pentru a calcula rezultatul în dependență de o condiție.

Varianta:

Notiuni teoretice:

Declararea variabilei

O variabila se va declara in segmentul de date .DSEG si va reprezenta o eticheta urmata de o directiva de preprocesare .BYTE care permite rezervarea unei zone de memorie pentru variabila data.

.DSEG ; variabilele for fi declarate in

; segmentul de date

var1 : .BYTE 1 ; declaratia variabilei var1 si rezervarea

; a 1 byte pentru aceasta variabila.

Operatii de transfer cu variabilele

Operatiile de transfer pentru variabile va fi executat cu comenzi de acces direct la memorie cum ar fi:

• LDS R, k - incarcarea directa a valorii de la adresa k din SRAM intrun registru de uz general.

• STS k, R - stocarea directa valorii unui registru de uz general la adresa k din SRAM.

Eticheta - numele variabilei va reprezenta adresa primei locatii a variabilei. Locatiile superioare dupa principiul "little-endian" se vor accesa dupa adresele imediat urmatoare.

Transferul unei valori de la o variabila la alta

Asa cum pentru arhitectura AVR nu exista o comanda de transfer de date direct dintro locatie SRAM in alta, valoarea din locatia de la adresa reprezentata prin numele variabilei sursa se va incarca mai intai intr-un registru de usz general cu comanda LDS dupa care se va descarca direct intr locatia destinatie cu STS.

;Ex: a = b;

.DSEG ; variabilele for fi declarate in

; segmentul de date

a : .BYTE 1 ; rezervare 1 byte pentru variabila a

b : .BYTE 1 ; rezervare 1 byte pentru variabila b

.CSEG ; programul se scrie in segmentul de cod

lds r16, b ; incarcarea valorii variabilei

; b in registru de lucru

sts a, r16 ; descardcarea valorii registrului

; de lucru in variabila a

Pentru variabile de un volum mai mare de un byte vom avea cate o operatie de transfer pentru fiecare byte. adresele baitilor superiori se vor forma din adresa de baza, eticheta-nume, si constanta de deplasare care va indica numarl de ordine a byte-ului in variabila.

Operatii aritmetice cu variabile

Pentru a evalua o operatie artmetica intre doua variabile va trebui sa transferam mai intai valorile variabilelor in registri de uz general dupacare vom avea posibilitatea de a evalua o operatie aritmetica sau logica. Acest fapt se datoreaza restrictiilor arhitecturii care permite operatii aritmetice doar cu registri de uz general.

;Ex: a = b + c;

.DSEG ; variabilele for fi declarate in

; segmentul de date

a : .BYTE 1 ; rezervare a 1 byte pentru variabila a

b : .BYTE 1 ; rezervare a 1 byte pentru variabila b

c : .BYTE 1 ; rezervare a 2 byte pentru variabila c

.CSEG ; programul se scrie in segmentul de cod

lds r15, b ; incarcarea valorii variabilei b

; intr-un registru de lucru

lds r16, c ; incarcarea valorii variabilei c

; in alt registru de lucru

add r15, r16 ; evaluarea operatiei de adunare

sts a, r15 ; descarcarea rezultatului in variabila a

Mersul lucrării:

1)Alegem metoda de reprezentare a rezultatului.

2)Formulam schema bloc problemei.

3)Setam regisrtii DDRx si PORTx in dependent de necessitate.

3)Elaboram schema electrica in soft-ul PROTEUS.

4)Scriem codul in intregime.

5)Simulam functionarea schemei alese in PROTEUS.

Descrierea modului de functionare a schemei:

In primul rind introducem variabele cu care vom lucra, si dam dimensiunea lor in “byte”, apoi introducem valorile acestor variabile. Apoi formam o subrutina in care vom face prelucrarea expresiei date de professor si afisare rezultatului in dependenta de contie. In expresie o variabila in totdeauna se va modifica, adica ea depinde de altele variabile si noi vom vizualiza cum se modifica aceasta variabila.

Schema bloc de fuctionare .

Preview document

Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 1
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 2
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 3
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 4
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 5
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 6
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 7
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 8
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 9
Variabilele și Evaluarea Expresiilor Aritmetico-Logice - Pagina 10

Conținut arhivă zip

  • Variabilele si Evaluarea Expresiilor Aritmetico-Logice.docx

Alții au mai descărcat și

Stabilizator cu convertor step-down (buck)

Obiectivele lucrării: - studiul proprietăţilor statice ale stabilizatorului de tensiune care foloseşte convertor step-down - studiul procesului...

Construirea unui ceas de timp real pe baza microcontrolerului ATMega16

Studierea modulului periferic timer, configurarea modulului pentru generarea intreruperilor co frecventa dorita. Sarcina lucrarii: I) Să se...

Micro și nanosenzori

Capitolul 1 Nanosenzori. Concepţie şi tendinţe Tehnologiile din zilele noastre pun din în ce mai mult accentul pe domeniul nanoştiinţei deoarce...

Microimbinari

• 10 atomi de hidrogen aşezaţi în linie formează o lungime egală cu 1 nm • 1 moleculă DNA are dimensiunea de aproximativ 2,5 nm (DNA este molecula...

Generator de Semnale

INTRODUCERE Modulul B1112-C oferă o colecţie cuprinzătoare de circuite destinate activităţilor de instruire, implementate într-o manieră modulară...

Intrețesere și turbo codare

1 INTRODUCERE Introducere laborator CD4 Pentru a asigura comunicațiile pa canale puternic afectate de zgomot, au fost dezvoltate procedee noi de...

Prelucrarea Semnalelor

Prelucrarea [procesarea] semnalelor [signal processing] a devenit o parte esentiala a activitatii stiintifice si tehnologice contemporane. Ea...

Semnale numerice - Mijloace de măsurare

Exemplu de schemă bloc a unui aparat digital (aparat bazat pe procesarea numerică a semnalelor achiziționate) Dispozitiv de eșantionare +...

Te-ar putea interesa și

Limbaje de Asamblare

Introducere. Necesitatea programării în limbaje de asamblare Modalităţile de programare s-au schimbat imens de la inventarea calculatorului, în...

Microprocesoare

Scopul lucrării: De a se lua cunostinta cu modul de programare asembler prin efectuarea unui program simplu Sarcina lucrarii: Să se proiecteze un...

Ai nevoie de altceva?