Limbaje de Asamblare

Curs
8.5/10 (2 voturi)
Domeniu: Calculatoare
Conține 11 fișiere: doc
Pagini : 76 în total
Cuvinte : 21191
Mărime: 898.97KB (arhivat)
Cost: Gratis

Extras din document

Introducere. Necesitatea programării în limbaje de asamblare

Modalităţile de programare s-au schimbat imens de la inventarea calculatorului, în primul rând pentru a se acomoda creşterii complexităţii programelor. De exemplu, la început, când au fost inventate calculatoarele, programarea se făcea introducându-se instrucţiuni în maşina de cod binar cu ajutorul panoului frontal al calculatorului. Acest lucru a fost convenabil atât timp cât programele aveau doar câteva sute de instrucţiuni. O dată cu mărirea programelor, au fost inventate limbajele de asamblare, astfel încât programatorii se puteau descurca cu programe mai mari, cu complexitate crescută, folosind reprezentarea simbolică a instrucţiunilor pentru maşină.

Deoarece programele continuau să crească, au fost introduse limbajele de nivel înalt care oferă programatorului mai multe unelte cu care să facă faţă complexităţii. Au apărut apoi limbajele orientate obiect, limbajele specializate pentru rezolvarea unor anumite aplicaţii.

Cu toate acestea limbajele de asamblare se mai utilizează încă şi vor continua să se utilizeze deoarece ele permit înţelegerea la nivel de amănunt a ceea ce se întâmplă în realitate într-un calculator.

De ce "programare in asamblare" ? Argumente favorabile limbajelor de asamblare:

• Viteza: programele în L. A. sunt cele mai rapide

• Spaţiul de stocare: programele în L.A. sunt în general de dimensiuni mici

• Potenţialitate

-Programele în L.A. pot realiza aplicaţii ce se realizează dificil în limbaje de nivel înalt

-Programele care necesită accesul la nivel maşină sunt realizate în L.A. de ex: driverele (device drivers)

• Cunoştinţe de programare:

-Cunoştinţele în programare în limbaj de asamblare ajută la programarea în limbaje de nivel înalt; un programator nu ajunge niciodată la un nivel superior (expert) dacă nu are şi cunoştinţe dobândite prin dezvoltarea de programe în limbaj de asamblare

-Programarea în limbaj de asamblare ajută la o mai bună înţelegere a arhitecturii maşinii şi a modului ei de funcţionare

-un specialist care se respecta stie sa programeze in asamblare; o atenţie sporită se acordă dezvoltării de aplicaţii mixte (în limbaj de nivel înalt şi în asamblare)

• trebuie modificat un program existent, scris in asamblare

Pe lângă aceste evidente avantaje se mai pot enumera şi alte aspecte legate de dezvoltarea de programe pentru echipamente dedicate. Nu toate programele executabile sunt destinate calculatoarelor de uz general. Dezvoltarea continuă a microprocesoarelor a făcut ca ele să fie implicate în funcţionarea celor mai diverse obiecte tehnice, de la obiecte de uz casnic (ca maşinile de spălat) până la echipamente de control industrial. Toate aceste echipamente care au în structura lor microprocesoare funcţionează pe bază de programe care evident nu sunt scrise în Pascal sau C. Majoritatea acestor programe sunt scrise în limbaje de asamblare deoarece în aceste cazuri cel mai mult interesează viteza de execuţie a lor şi volumul mic de memorie. Există şi alte cauze pentru care nu întotdeauna se poate utiliza un limbaj de nivel înalt. Microprocesoarele utilizate în astfel de cazuri nu sunt neapărat specializate, ele sunt specifice cazului concret pentru care se utilizează şi pentru care s-au proiectat şi realizat (ca de exemplu microcontrolerele, automatele programabile). Nu este posibil să se dezvolte medii de programare şi compilatoare C sau Pascal pentru toate microprocesoarele existente.

De ce se evita limbajul de asamblare?

• este prea greu

• este greu de citit si de inteles

• este greu de scris

• este greu de depanat si de intretinut

• programarea este ineficienta

• viteza nu mai constituie o problema la calculatoarele de azi

• memoria nu mai constituie o problema

• compilatoarele actuale genereaza cod eficient

• limbajul de asamblare nu este portabil

Cap. 1 Concepte de baza

1.1 Reprezentarea si codificarea informatiilor

Din punctul de vedere al limbajului de asamblare calculatorul este văzut la nivel hardware: adrese fizice de memorie, registre, întreruperi, etc. Unitatea de bază a informaţiei memorate în calculator este bitul (0 sau 1) care corespunde din punct de vedere hardware unui circuit bistabil. Un circuit bistabil este un circuit electronic care are două stări stabile codificate cu 1 sau 0, capabil să memoreze un bit de informaţie.

Informaţia care se prelucrează într-un sistem de calcul este foarte variată. Astfel, se reprezinta în memorie:

– instructiuni - prin coduri de instructiuni

– date:

• logice: Adevarat/Fals, Inchis/Deschis, Pornit/Oprit

• numerice: intregi, nr. fractionare, nr.pozitive/negative

• alfanumerice: caractere, text

• multimedia: sunet, imagine (audio/video)

– structuri de date

Reprezentarea informatiilor numerice

Reprezentarea informaţiilor numerice se face, după anumite reguli, utilizând sistemul de numeraţie binar. Totuşi, datorită faptului că este destul de greu de lucrat cu acest sistem, în mod direct, în procesul de codificare a informaţiei se mai utilizează şi alte sisteme de numeraţie, derivate din sistemul binar. Sistemele de numeraţie utilizate în informatică sunt binar, octal şi hexazecimal. Deoarece este greu de operat cu numere în binar, pentru exprimarea unei cantităţi binare se utilizează sistemul octal şi hexazecimal. De exemplu numărul 25510 = 111111112 = FF16=3778

În general, un număr X scris într-o bază oarecare b se scrie sub forma:

Xb→ xm xm-1 xm-2 .... x0 . x-1 x-2.... x-n

Unde simbolurile xi respectă următoarele regului:

0<= xi < b, i= -n .. m

xm!= 0, x-n!= 0

Valoarea numărului în baza b se poate calcula, în zecimal, prin dezvoltare după puterile bazei b astfel:

Xb = xm*bm + xm-1*bm-1 + .... x0*b0 + x-1*b-1 + x-2*b-2... x-n*b-n

Caracteristici ale sistemelor de numeraţie utilizate:

– sistemul binar: putine reguli, multe cifre

– sistemul zecimal şi hexahecimal: multe reguli, mai putine cifre

Aceste sisteme de numeraţie sun sisteme de numeraţie poziţionale ponderate, la care valoarea unei cifre depinde de poziţia sa în cadrul numărului.

Exemple:

Fie numărul zecimal 5685. La acest număr, de exemplu cifra 5 apare în două poziţii, însă aportul pe care îl aduce această cifră în cadrul numrărului este diferit. În mod analog, în binar putem avea numărul 101.

Conversii dintr-o baza in alta

Pentru a converti un număr din baza 10 într-o bază oarecare b se converteşte separat partea întreagă şi separat partea fracţionară, astfel:

• conversia părţii întregi: prin divizare succesivă cu noua bază: exemplu din baza 10 în baza 2. Pentru a converti numărul 30 din baza 10 în baza 2 se fac împărţiri succesive la 2 astfel:

30 0

15 1

7 1

3 1

1 1

0

rezultă

3010 = 111102

• conversia părţii fracţionare: prin înmulţire succesivă cu noua bază, conversia nu este însă întotdeauna precisă (univocă). Pentru a converti numărul 0,48 din baza 10 în baza 2 se procedează astfel:

0,48 0

0,96 0

1,83 1

1,66 1

1,32 1

...

Rezultă

0,4810=0,00111...2

Conversia Binar – Hexazecimal – Octal

Datorită faptului că 16 şi 8 sunt puteri a lui 2 (16=22, 8=23) există o legătură între sistemul de numeraţie binar şi cel hexazecimal, respectiv octal care face mai uşoară conversia numerelor între aceste sisteme.

Preview document

Limbaje de Asamblare - Pagina 1
Limbaje de Asamblare - Pagina 2
Limbaje de Asamblare - Pagina 3
Limbaje de Asamblare - Pagina 4
Limbaje de Asamblare - Pagina 5
Limbaje de Asamblare - Pagina 6
Limbaje de Asamblare - Pagina 7
Limbaje de Asamblare - Pagina 8
Limbaje de Asamblare - Pagina 9
Limbaje de Asamblare - Pagina 10
Limbaje de Asamblare - Pagina 11
Limbaje de Asamblare - Pagina 12
Limbaje de Asamblare - Pagina 13
Limbaje de Asamblare - Pagina 14
Limbaje de Asamblare - Pagina 15
Limbaje de Asamblare - Pagina 16
Limbaje de Asamblare - Pagina 17
Limbaje de Asamblare - Pagina 18
Limbaje de Asamblare - Pagina 19
Limbaje de Asamblare - Pagina 20
Limbaje de Asamblare - Pagina 21
Limbaje de Asamblare - Pagina 22
Limbaje de Asamblare - Pagina 23
Limbaje de Asamblare - Pagina 24
Limbaje de Asamblare - Pagina 25
Limbaje de Asamblare - Pagina 26
Limbaje de Asamblare - Pagina 27
Limbaje de Asamblare - Pagina 28
Limbaje de Asamblare - Pagina 29
Limbaje de Asamblare - Pagina 30
Limbaje de Asamblare - Pagina 31
Limbaje de Asamblare - Pagina 32
Limbaje de Asamblare - Pagina 33
Limbaje de Asamblare - Pagina 34
Limbaje de Asamblare - Pagina 35
Limbaje de Asamblare - Pagina 36
Limbaje de Asamblare - Pagina 37
Limbaje de Asamblare - Pagina 38
Limbaje de Asamblare - Pagina 39
Limbaje de Asamblare - Pagina 40
Limbaje de Asamblare - Pagina 41
Limbaje de Asamblare - Pagina 42
Limbaje de Asamblare - Pagina 43
Limbaje de Asamblare - Pagina 44
Limbaje de Asamblare - Pagina 45
Limbaje de Asamblare - Pagina 46
Limbaje de Asamblare - Pagina 47
Limbaje de Asamblare - Pagina 48
Limbaje de Asamblare - Pagina 49
Limbaje de Asamblare - Pagina 50
Limbaje de Asamblare - Pagina 51
Limbaje de Asamblare - Pagina 52
Limbaje de Asamblare - Pagina 53
Limbaje de Asamblare - Pagina 54
Limbaje de Asamblare - Pagina 55
Limbaje de Asamblare - Pagina 56
Limbaje de Asamblare - Pagina 57
Limbaje de Asamblare - Pagina 58
Limbaje de Asamblare - Pagina 59
Limbaje de Asamblare - Pagina 60
Limbaje de Asamblare - Pagina 61
Limbaje de Asamblare - Pagina 62
Limbaje de Asamblare - Pagina 63
Limbaje de Asamblare - Pagina 64
Limbaje de Asamblare - Pagina 65
Limbaje de Asamblare - Pagina 66
Limbaje de Asamblare - Pagina 67
Limbaje de Asamblare - Pagina 68
Limbaje de Asamblare - Pagina 69
Limbaje de Asamblare - Pagina 70
Limbaje de Asamblare - Pagina 71
Limbaje de Asamblare - Pagina 72
Limbaje de Asamblare - Pagina 73
Limbaje de Asamblare - Pagina 74
Limbaje de Asamblare - Pagina 75
Limbaje de Asamblare - Pagina 76
Limbaje de Asamblare - Pagina 77
Limbaje de Asamblare - Pagina 78
Limbaje de Asamblare - Pagina 79
Limbaje de Asamblare - Pagina 80
Limbaje de Asamblare - Pagina 81
Limbaje de Asamblare - Pagina 82
Limbaje de Asamblare - Pagina 83
Limbaje de Asamblare - Pagina 84
Limbaje de Asamblare - Pagina 85
Limbaje de Asamblare - Pagina 86

Conținut arhivă zip

  • curs 10.doc
  • curs 3.doc
  • curs 5.doc
  • curs1.doc
  • curs2.doc
  • curs4.doc
  • curs6.doc
  • curs7.doc
  • curs8.doc
  • curs9.doc
  • probleme-asm.doc

Alții au mai descărcat și

Sistem de Control a Temperaturii cu PIC 16f877A

TEMA proiectului: Să se construiască un sistem de încălzire a unei incinte cu ajutorul unui termostat comandat prin intermediul unui...

Microsistem cu Microprocesorul 8086

Tema proiectului Sa se proiecteze un microsistem cu urmatoarea structura: - unitate centrala cu microprocesorul 8086; - 64 Ko memorie EPROM,...

Controlul Temperaturii cu PIC 16F627

TEMA PROIECTULUI Tema proiectului este mentinerea temperaturii într-o încăpere la 45°C prin programarea unui microcontroler PIC16F627 ce trebuie...

Medii de Programare Pentru Microcontrollere

1.TEMA 1. Deplasarea unui text dat pe afişor, care să conțină minim 8 caractere, la alegere, cu posibilitatea de comandă de pe tastatura unui PC...

Minimul și Maximul unui Șir de Numere

Pentru a putea afișa minimul si maximul unui șir in limbaj de asamblare, segmentul de cod va fi divizat în două mari părţi: -o parte în care se...

Curs IT

1. HARDWARE (HARD): Reprezinta totalitatea componentelor materiale ale unui sistem informatic. 2. SOFTWARE (SOFT): Reprezinta totalitatea...

Retele de Calculatoare

1. Calculatorul electronic De-a lungul istoriei,omenirea a folosit suporturi fizice pentru a-si exprima ideile,pentru a le vizualiza , a se putea...

Ai nevoie de altceva?