Programare: limba de asamblare. Elementele de bază ale limbajului de asamblare

Pentru ca mașina să poată executa comenzi umane la nivel de hardware, este necesar să specificăm o anumită secvență de acțiuni în limba "zerouri și unități". Assembler va deveni un asistent în această chestiune. Acesta este un utilitar care funcționează cu traducerea comenzilor în limba mașinii. Cu toate acestea, scrierea unui program este un proces foarte consumator de timp și complicat. Această limbă nu are scopul de a crea acțiuni simple și simple. În acest moment, orice limbaj de programare utilizat (Asamblatorul funcționează perfect) vă permite să scrieți sarcini eficiente care afectează foarte mult funcționarea hardware-ului. Scopul principal este crearea de microcomenzi și coduri mici. Această limbă oferă mai multe oportunități decât, de exemplu, Pascal sau C.limba de asamblare

Scurtă descriere a limbilor de asamblare

Toate limbile de programare sunt împărțite în niveluri: joase și înalte. Orice sistem sintactic al asamblorului "familiei" se deosebește prin faptul că îmbină simultan câteva avantaje ale limbilor cele mai comune și moderne. Cu alții, acestea sunt legate de faptul că puteți utiliza pe deplin sistemul informatic.

O caracteristică distinctivă a compilatorului este ușurința în utilizare. Acest lucru este diferit de cele care funcționează numai cu niveluri ridicate. Dacă țineți cont de un astfel de limbaj de programare, Assembler funcționează de două ori mai rapid și mai bine. Pentru a scrie un program ușor în el, nu va dura prea mult timp.

Pe scurt despre structura limbii

Dacă vorbim în general despre activitatea și structura funcționării limbajului, putem spune cu siguranță că comenzile sale corespund pe deplin instrucțiunilor procesatorului. Asta este, Assembler folosește mnemocode, cel mai convenabil pentru o persoană de înregistrat.

Spre deosebire de alte limbi de programare, Assembler utilizează etichete specifice în locul adreselor pentru scrierea locațiilor de memorie. Acestea sunt traduse în așa-numitele directive cu procesul de executare a codului. Acestea sunt adrese relative care nu afectează funcționarea procesorului (nu sunt traduse în limbajul mașinii), dar sunt necesare pentru recunoașterea de către mediul de programare în sine.

Pentru fiecare linie a procesorului există a sistem de comandă. În acest scenariu, orice proces, inclusiv cel tradus codul mașinii.

Limba lui Assembler are mai multe sintaxe, care vor fi discutate în articol.limba de asamblare

Pro-urile limbii

Adaptarea cea mai importantă și mai convenabilă a limbajului Assembler va fi aceea că poate scrie orice program pentru procesor, care va fi foarte compact. Dacă codul se dovedește a fi mare, atunci mediu de programare unele procese redirecționează către memorie. În același timp, toate se comportă destul de repede și fără eșecuri, cu excepția cazului în care, desigur, acestea sunt conduse de un programator calificat.

Drivere, sisteme de operare, BIOS, compilatoare, interpreți etc. - toate acestea sunt un program în limba asamblorului.

Atunci când utilizați un disassembler, care face o traducere de la mașină la limba computerului, puteți înțelege cu ușurință modul în care funcționează această sarcină de sistem, chiar dacă nu există nicio explicație pentru aceasta. Totuși, acest lucru este posibil numai dacă programele sunt luminoase. Din păcate, în codurile non-banale este destul de greu de înțeles.

Lows of language



Din păcate, programatorii novici (și adesea profesioniștii) consideră dificilă înțelegerea limbii. Asamblatorul necesită o descriere detaliată a comenzii necesare. Din cauza necesității de a folosi comenzile mașinilor, probabilitatea unor acțiuni eronate și complexitatea execuției cresc.

Pentru a scrie chiar și cel mai simplu program, programatorul trebuie să fie calificat, iar nivelul său de cunoștințe este suficient de ridicat. Specialistul mediu, din păcate, scrie adesea coduri proaste.

Dacă platforma pentru care se creează programul este actualizată, atunci toate comenzile trebuie rescrise manual - acest lucru este necesar de către limba în sine. Asamblatorul nu acceptă funcția de control automat al sănătății proceselor și înlocuirea oricăror elemente.program de limbă pentru asamblare

Comenzi lingvistice

După cum sa menționat deja mai sus, fiecare procesor are propriul set de comenzi. Elementele cele mai simple care sunt recunoscute de orice tip sunt următoarele coduri:

  • Transferul de date se efectuează cu ajutorul mov, etc.
  • Comenzi legate de aritmetică: sub, imul, etc.
  • Bitwise și funcțiile logice pot fi realizate prin utilizarea sau, și și așa mai departe. N. Acestea sunt elementele de bază ale limbajului de asamblare permite să fie similar cu celălalt.
  • Pentru a face trecerea de la o echipa la alta, ar trebui să se înregistreze astfel de operatori: djnz, cfsneq, cjne. Un programator neexperimentat ar putea crede că acesta este doar un set de litere, dar acest lucru nu este adevărat.
  • In și out sunt aplicate în cazul în care este nevoie să intrați (sau să ieșiți din port).
  • Comenzile de comandă sunt int. Datorită lui, puteți opri executarea oricăror procese în favoarea acțiunii principale.programarea microcontrolerelor în limba de asamblare

Utilizarea directivelor

Programarea microcontrolerelor în limbaj (Asamblatorul o permite și face o treabă excelentă), cel mai mic nivel, în cele mai multe cazuri, se termină cu succes. Cel mai bine este să folosiți procesoare cu o resursă limitată. Pentru tehnologia pe 32 de biți, această limbă este excelentă. Adesea în coduri puteți vedea directivele. Ce este asta? Și pentru ce este folosit?

În primul rând, este necesar să subliniem că directivele nu sunt traduse în limbajul mașinilor. Ele controlează performanța compilatorului. Spre deosebire de comenzi, acești parametri, având funcții diferite, nu diferă datorită unor procesoare diferite, ci datorită unui alt traducător. Printre directivele principale se pot identifica următoarele:

  • Toate macrosurile cunoscute.
  • Există, de asemenea, directive care au un limbaj mai înalt. Asamblatorul le "citește" perfect și le execută.
  • Funcții de monitorizare și control al modurilor compilatorului.
  • Recunoașterea constantelor și a variabilelor.
  • Controlați funcționarea programelor care sunt în RAM.codul de asamblare a codului mașinii

Originea numelui

Din cauza a ceea ce era numit limba - "Assembler"? Este o întrebare a traducătorului și a compilatorului, care fac criptarea datelor. Din engleza Assembler nu înseamnă altceva decât un asamblor. Programul nu a fost colectat manual, fiind utilizată o structură automată. În plus, în momentul de față utilizatorii și specialiștii au pierdut deja diferența dintre termeni. Limbile de programare sunt adesea numite Assembler, deși acesta este doar un utilitar.

Din cauza numelui colectiv comun, unii oameni au o decizie eronată că există un singur limbaj de nivel scăzut (sau norme standard pentru acesta). Pentru ca programatorul să înțeleagă ce structură este implicată, este necesar să se precizeze pentru ce platformă se folosește una sau alta limbă de asamblare.Bazele limbajului adunării

macromedia

Limbile de asamblare, care au fost create relativ recent, au mijloace macro. Ele facilitează scrierea și executarea programului. Datorită prezenței lor, traducătorul efectuează codul scris de mai multe ori mai repede. Atunci când creați o alegere condiționată, puteți scrie un bloc imens de comenzi și este mai ușor să utilizați macrocomenzi. Acestea vă vor permite să comutați rapid între acțiuni, dacă condiția este îndeplinită sau nu.

Atunci când se folosesc directive macro-lingvistice, programatorul primește macrocomenzi de asamblare. Uneori poate fi utilizat pe scară largă și, uneori, funcțiile sale funcționale sunt reduse la o singură comandă. Prezența lor în cod face mai ușoară lucrul cu el, face mai ușor de înțeles și intuitiv. Cu toate acestea, ar trebui să fiți atenți - în unele cazuri, macrocomenzile, dimpotrivă, agravează situația.

Distribuiți pe rețelele sociale:

înrudit
Programare structuratăProgramare structurată
Limbaj de programare JavaLimbaj de programare Java
Limba de programare de bază și istoricul acesteiaLimba de programare de bază și istoricul acesteia
Lista limbajelor de programare. Limbi de programare de nivel scăzut și înaltLista limbajelor de programare. Limbi de programare de nivel scăzut și înalt
Cum de a învăța programarea de la zero în limbi de programare populareCum de a învăța programarea de la zero în limbi de programare populare
Limbi de programare pentru calculator: tipuri, descriere, aplicare și feedbackLimbi de programare pentru calculator: tipuri, descriere, aplicare și feedback
Mediul de programare `Pascal ABC`Mediul de programare `Pascal ABC`
Cele mai populare limbi de programare. Limbaje de programare pentru începătoriCele mai populare limbi de programare. Limbaje de programare pentru începători
Evaluarea limbajelor de programare 2016Evaluarea limbajelor de programare 2016
Istoria dezvoltării limbajelor de programare: pe scurt despre totIstoria dezvoltării limbajelor de programare: pe scurt despre tot
» » Programare: limba de asamblare. Elementele de bază ale limbajului de asamblare