Assembler - l

Assembler (de asamblare engleză -. Colector) - un program de calculator, codul sursă compilator, scris în limbaj de asamblare. Programul în limbaj mașină.

Ca și limbajul în sine (asamblare), asamblorii sunt de obicei specifice unei anumite arhitecturi. sistemul de operare și versiunea de sintaxă. Cu toate acestea, există mai multe platforme sau chiar universală (sau mai precis, limitată-scop, deoarece limbajul de nivel scăzut nu poate scrie programe independente de dispozitiv) asamblorii care pot rula pe diferite platforme și sisteme de operare. Printre acestea din urmă, puteți selecta, de asemenea, un grup de cross-asamblorii. capacitatea de a colecta codul mașină și executabilele (fișiere) către alte arhitecturi și sisteme de operare.

Asamblarea poate fi nici primul, nici ultimul pas în forma unui modul de program executabil. De exemplu, multe compilatoare cu limbaje de programare de nivel înalt a da rezultatul sub forma unui program în limbaj de asamblare, care este prelucrată în continuare de asamblare. Ca urmare a ansamblului nu poate fi executabil, iar modulul obiect. care cuprinde blocuri disparate de cod de program de calculator și a datelor din care (sau a mai multor module obiect) printr-un linker suplimentar program poate fi legat de fișier executabil.

Arhitectura x86

Asamblorii pentru DOS

Cele mai cunoscute asamblorii pentru sistemul de operare DOS este Borland Turbo Assembler (TASM), Microsoft Assembler Macro (MASM) și Watcom Assembler (WASM). De asemenea, la un moment dat a fost de popular simplu A86 de asamblare.

Atunci când sistemul de operare Windows nu a fost extinderea TASM, numit TASM 5+ (pachet neoficial creat de un om cu porecla! TE), permițându-vă să creați un program pentru a rula într-un mediu Windows. Versiunea ultima cunoscută a TASM - 5.3, care susține MMX, incluse în prezent în Turbo C ++ Explorer. Dar dezvoltarea oficială a programului complet oprit.

Microsoft susține produsul său numit Microsoft Macro Assembler. Ea continuă să evolueze până astăzi, cele mai recente versiuni sunt incluse în seturile DDK. Dar versiunea programului, care vizează crearea de programe pentru DOS, nu se dezvoltă. În plus, Stephen Hatchesson a creat un pachet pentru programarea în MASM numit «MASM32».

GNU și GNU / Linux

Sistemul de operare GNU compoziție include pachetul binutils care conține gaz de asamblare (GNU Assembler), folosind ATT-sintaxă. Spre deosebire de majoritatea liniilor de asamblare populare care folosesc Intel-sintaxa (acceptată de la versiunea 2.10).

asamblorii portabile

Există, de asemenea, un proiect de asamblare în aer liber, versiuni care sunt disponibile pentru diferite sisteme de operare, și care produce fișierele obiect pentru aceste sisteme. Aceasta se numește un asamblor NASM (Netwide Assembler).

Yasm - este rescris de la zero versiunea de NASM sub licența BSD (cu unele excepții).

asamblare plat (fasm) - tânăr asamblor sub modificat pentru a interzice reautorizarea (inclusiv sub GNU GPL) BSD-licență. Există versiuni pentru KolibriOS. Linux. DOS și Windows; Acesta utilizează Intel sintaxa și sprijină x86-64 de instrucțiuni.

arhitectura RISC

MCS-51 (Intel 8051) - o arhitectură clasică microcontroler. Pentru ea, există o cruce-asamblor ASM51, a lansat Metalink Corporation.

În plus, multe companii - dezvoltatori de software, cum ar fi IAR și Keil, a prezentat opțiuni lor asamblorii. În unele cazuri, utilizarea asamblor este mai eficientă datorită la un set de directive și disponibilitatea mediului de programare, care combină asamblare profesională și limbajul de programare C, un depanator și un manager de proiect software.

În prezent, există trei compilator producție Atmel (AVRStudio 3, AVRStudio 4, AVRStudio AVRStudio 5 și 6).

Ca parte a proiectului AVR-GCC (alias WinAVR) există compilator AVR-ca (este portat la AVR de asamblare de GNU GCC).

Există, de asemenea, un drum liber minimaliste Avra ​​compilator [1].

  • 8-biți familie Flash Controler MCS-51
  • 8-bit RISC AVR Controler de familie (ATtiny, ATmega, AVR clasic). În momentul de față, familia transformată în clasic AVR ATmega și ATtiny
  • 8-bit RISC controler PIC de familie (PIC10, PIC12, PIC16, PIC18)
  • 16-bit RISC controler PIC de familie (PIC24HJ / FJ, dsPIC30 / 33)
  • 32-bit RISC controler PIC de familie (PIC32) cu arhitectura M4K MIPS32
  • 32-bit RISC Controler AVR32 de familie (AVR32)
  • 32-biți de familie RISC-controlere ARM degetul mare de înaltă performanță (seria AT91)

Macroassembler

A nu se confunda cu MASM.

Asamblarea și compilarea

Procesul de traducere a unui program în limbaj de asamblare în cod obiect este numit de asamblare. Spre deosebire de compilație. asamblare - este mai mult sau mai puțin unic și proces reversibil. În fiecare ansamblu mnemonice de limbă care corespunde o instrucțiune mașină, în timp ce în nivel înalt limbaje de programare pentru fiecare expresie poate fi ascunde un număr mare de diferite regulamente. În principiu, această diviziune este destul de arbitrar, astfel încât, uneori asamblarea unui program de asamblare este, de asemenea, numit compilarea.

notițe

literatură