1. Pentru cei care aud cuvântul primului asamblor - Assembler.
-
1.01 Ce este Assembler?
1.02 Cum de a începe studierea limbii de asamblare?
1.01 Ce este Assembler?
================================================== =====
Assembler (de asamblare engleză - culegator) - limbaj de programare de nivel scăzut, difuzat în mod unic în instrucțiuni microprocesor.
În ciuda faptului că acum în programul principal scrise în limbaje de nivel înalt, de asamblare nu va fi niciodată pierde relevanța, asamblare - este limba maternă a procesorului. Acum este folosit în principal pentru a scrie drivere, de programare microcontroler, operare sisteme și programe vzloma :)
De asemenea, denumit în mod obișnuit ca limbaj de asamblare compilator de asamblare.
Semantica ansamblului direct, unu-la-unu, este afișat în arhitectura procesorului pe care este făcut - fiecare echipă în asamblare corespunde procesorului său unic de comandă cod, și există token-uri pentru a reprezenta fiecare dintre toate celelalte software resursele disponibile - registre, vectorul întrerupere etc. De asemenea, ordinea de instrucțiuni limbaj de asamblare urmați potrivesc exact împotriva ordinea lor în codul mașinii rezultat. Astfel, instrument de montaj este cel mai scăzut nivel, care permite programatorului să monitorizeze programul în cel mai mic detaliu, și de a folosi toate resursele programului CPU disponibile. Fiecare procesor are propriul limbaj de asamblare, deși într-o singură linie, limbile sunt de obicei similare.
Ulterior absorbit de asamblare unele opțiuni capacitatea de abstractizare și inerente în limbaje de nivel înalt: selectare automată cod de instrucțiuni, în cazul în care există mai multe coduri diferite pentru aceeași operație, de exemplu, de lungimi diferite; posibilitatea de a produce calcularea expresiilor în timpul emisiunii; optimizator; descrierea structurilor de date; și macro. Macro eliminat, de asemenea, o restricție „clasic“ de asamblare: compatibil „o linie în limbaj de asamblare - o instrucțiune“, așa cum vozmonost dat face „pseudoinstruction“ mai multe instrucțiuni procesor. Makropodstanovschik dezvoltat puternic ne permite să pună în aplicare multe dintre design, existente limbile de nivel înalt, în special, elementele de programare structurată. Assembler cu makropodstanovschikom numit singur termen: asamblare macro, indicând principala diferență din ansamblul „clasice“. În momentul de față, asamblorii „pure“ aproape suschestruet.
De asemenea, de asamblare este un program de difuzare de program în limbaj de asamblare în cod mașină pentru procesor. Programul a primit un program în asamblare de cod de computer numit disassembler.
Sursa: www.wikiznanie.ru
2. Registre
-
Index - este definită în interiorul porțiunii de memorie a procesorului, de la 8 la 32 biti, care este folosit pentru stocarea intermediară a informațiilor procesate de procesor. Unele registre conțin numai anumite informații.
registre de uz general - EAX, EBX, ECX, EDX. Aceste 32 de biți și împărțit în două părți, cea mai mică dintre care AX, BX, CD, DX - 16 biți, și împărțind alte registre două 8 biți. Deci, AX este împărțit în AH și AL, DX DH și DL, etc. Litera „H“ înseamnă litere mari.
Astfel, AH și AL, fiecare octet, AH - 2 octeți (sau cuvânt - cuvânt), EAX - 4 octeți (sau dword - cuvânt dublu). Aceste registre sunt utilizate pentru operațiuni de date, cum ar fi comparații, operații matematice sau scrie date în memorie.
CX registru este cel mai des folosit ca un contor în cicluri.
AN în programul DOS este folosit ca un factor determinant al cărui serviciu va fi utilizat la apelarea INT.
CS - pentru (pagina de memorie) segment de cod al programului de executare în prezent.
DS - segment (pagina) de date a programului executabil, și anume legături string constante, etc.
SS - segmentul de stivă al programului executabil.
ES, FS, GS - segmente suplimentare, și nu pot fi utilizate de program.
Registrele de control - CR0, CR1, CR2, CR3. Aceste registre pe 32 de biți ale modului de funcționare procesorului este setat (normal, protejat, etc.), alocarea de memorie paginal, etc. Acestea sunt disponibile numai pentru programele din primul inel de stocare (Kernel, de exemplu). Nu ar trebui să le atingă.
Registrele de control - TR6, TR7. Folosit pentru a controla sistemul de alocare de memorie de sistem de operare de paginare. Necesare doar în cazul în care aveți de gând să scrie sistemul de operare.