URI:
   DIR Return Create A Forum - Home
       ---------------------------------------------------------
       Forum Practic
  HTML https://practic.createaforum.com
       ---------------------------------------------------------
       *****************************************************
   DIR Return to: Informatica
       *****************************************************
       #Post#: 133--------------------------------------------------
       AVANTAJELE PROGRAMARII IN ASM
   DIR By: iulianstoian
       Date: January 13, 2015, 7:07 pm
       ---------------------------------------------------------
       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. q8d19du
       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.
       *****************************************************
       Page 1 of 1