Programare in limbaj de asamblare

Trimis la data: 2002-06-17 Materia: Informatica Nivel: Liceu Pagini: 7 Nota: / 10 Downloads: 6544
Autor: Ligia Enache Dimensiune: 181kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
Exista, intr-adevar, o tendinta justificata de indepartare de limbajul de asamblare, dar nu de renuntare la el, intrucat multe medii integrate de dezvolare de programe (IDE — Integrated Development Enviroments) si compilatoare de limbaje de nivel inalt (C, Pascal, Basic, Fortran, etc.) prezinta facilitati de inserare de linii scrise direct in limbaj de asamblare.

1.1 AVANTAJELE PROGRAMARII IN ASM

Prezentarea posibilitatilor oferite de limbajele de programare:
Cu toate acestea, exista si numeroase componente ale sistemului de operare si ale altor aplicatii, care sunt considerate critice si performante, iar acestea au fost si mai sunt realizate in limbaj de asamblare, deoarece aceste secvente trebuie sa consume cat mai putin timp si, eventual, cat mai putina memorie. Aceasta performanta este realizata prin utilizarea cat mai eficienta a instructiunilor si a structurii procesorului.

In concluzie, la ora actuala programele sunt hibride: ele contin linii scrise in limbaje de nivel inalt, dar pot contine si linii in limbaj de asamblare. Pentru a rezolva astfel de situatii, implementarile limbajelor de nivel inalt accepta introducerea in textul sursa de linii scrise in limbaj de asamblare sau legarea intr-un singur modul a unor module obiect provenite de la compilarea unor texte sursa, scrise in diverse limbaje de programare. Modulele care presupun algoritmi complicati sau structuri de date complexe sunt scrise in limbaje de nivel inalt, iar cele care sunt critice din puctul de vedere al timpului de executie si al resurselor ocupate sunt scrise in limbaj de asamblare. In plus, exista anumite resurse ale calculatorului la care accesul nu este realizabil din limbajele de nivel inalt.

Un alt motiv pentru care se recomanda si experienta programarii in limbaj de asamblare este acela ca un specialist in informatica trebuie sa cunoasca mecanisele fine ale procesorului pntru a le folosi in diferite aplicatii. De asemenea, uneori, depanarea unui program poate trece de textul sursa si ajunge la depanarea codului obiect, caz in care este necesara cunoasterea libajului de asamblare.

Motivul pentru care secventele critice, ca timp de executie si resurse, se scriu in limbaj de asamblare si nu in limbaje de nivel inalt, este urmatorul: compilatorul are „cunostinte limitate” asupra intregului program, dar el trebuie a genereze un set generalizat de instructiuni masina , care vor lucra in toate sitatiile, dar nu vor fi optime in situatii particulare. Programarea in limbaj de asamblare este mult mai dificila decat cea intr-un limbaj de nivel inalt, deoarece programatorul trebuie sa cunoasca, pe langa limbajul de asamblare, si structura interna a calculatorului ( registre, organizarea si adresarea memoriei, porturi de intrare-iesire, etc.)

Limbajul de asamblare (ASM) permite intelegerea la nivel de amanunt a ceea ce se intampla in realitate intr-un calculator. Codul generat in ASM se executa foarte rapid.si permite accesul la hardware, acces care nu este disponibil in limbajele de nivel inalt. Unitatea de baza a informatiei memorate in calculator este bitul. Un bit reprezinta o cifra binara, deci poate avea valorile 0 sau 1. Modelul hardware corespunzator este acela de bistabil. Un bistabil este, deci un circuit electronic cu doua stari stabile, configurate 0 sau 1 , capabil sa memoreze un bit de informatie.

Un grup de bistabili formeaza un registru. De exemplu, 8 bistabili formeaza un registru de 8 biti. Iformatia care se poate memora intr-un asemenea registru poate fi codificata binar, de la valoarea 0000.0000, pana la valoarea 1111.1111. Numarul combinatiilor care pot fi memorate este 256 (). Aceste combinatii se numesc octeti sau bytes (daca n=8), respectiv cuvinte (daca n=16, 32, etc.).

Memoria unui calculator este vazuta ca o succesiune de octeti. Fiecare octet are asociata o adresa de memorie. Pentru a adresa memoria, e nevoie de un registru de adrese a carui lungime determina dimensiunea maxima a memoriei. Zonele de memorie vor fi reprezentate grafic pe verticala, ca succesiuni de octeti sau cuvinte, de la adrese mici catre adrese mari.

1.2 TIPURI DE DATE UTILIZATE IN LIMBAJ DE ASAMBLARE
Tipurile de date sunt:

Byte (1 octet) – ocupa un octet si poate fi reprezentat atat in memoria interna cat si intr-un registru de 8 biti al procesorului. Interpretarile tipului byte pot fi:
- intreg pe 8 biti;
- caracterASCII.

Directiva pentru definirea datelor de acest tip este db (define byte).
Word (2 octeti) – ocupa doi octeti si poate fi reprezentat atat in memoria interna cat si intr-un registru de 16 biti al procesorului.

Interpretarile tipului word pot fi:
- intreg pe 16 biti cu sau fara semn;
- secventa de doua caractere ASCII;
- adresa de memorie de 16 biti.

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles