Netwide Assembler: Rozdiel medzi revíziami

Pridaných 12 bajtov ,  pred 10 rokmi
...
(štylistika)
(...)
}}
 
'''Netwide Assembler''' ('''NASM''') je multiplatfomnýmultiplatformový kompilátor programovacieho jazyka assembler s podporou [[softvérová architektúra|architektúry]] [[x86]] a [[x84-64]], a s podporou mnohých výstupných formátov. NASM podporuje všetky inštrukčné sady vrátane nedokumentovaných a vrátane špecifických inštrukcií niektorých procesorov. Okrem vlastného prekladača má aj veľmi omedzenýobmedzený dissassembler s názvom ndisasm.
 
Výhodou NASM je možnosť spojiť ho s inými programovacími jazykmi na mnohých platformách a pod mnohými kompilátormi, bez toho aby ste museli svoje assemblerovské kódy prepisovať z dôvodu zmeny syntaxe. Podporuje napríklad Linuxové formáty [[ELF]], [[a.out]], ďalej Windowsovské formáty [[COFF]] (používa GCC kompilátor a DJGPP kompilátor), win32 (MicrosoftnýMicrosoftský formát používaný MS Visual Studiom pre 32 bitové prostredie), win64 (formát MS Visual Studia pre 64 bitové prostredie), DOSovské formáty obj (pre MS-DOS programy), a mnohé ďalšie.
 
NASM je širený pod 2-klauzulou [[BSD licencia|BSD]] licencie.
Používa tradičný [[Intel]] syntax, na rozdiel od napríklad [[GNU Assembler]]a používajúceho [[AT&T]] syntax (ktorý však na požiadanie tiež vie Intel syntax). Hlavným rozdielom medzi týmito syntaxami je poradie operandov inštrukcie a spôsob zápisu dereferencie. Na rozdiel od [[GNU Assembler]]a je určený pre programovanie, zatiaľčo [[GNU Assembler]] bol koncipovaný len pre strojový preklad v pozadí GCC a nepočítalo sa s priamym používaním.
 
Jeho súčasťou je pomerne silný makrojazyk optimalizovaný pre potreby assemblera (zatiaľčo GNU Assembler makrojazyk nemá a maximálne umožňuje použiť len preprocesor C). Makrojazyk NASM je však trochu komplikovaný a nie vždy celkom konzistentný. Jeho makrojazyk nie je tak silný, ako napríklad makrojazyk [[Microsoft Assembler|MASM]] – ten však podporuje len MS Visual Studio a Windows.
 
NASM tiež má možnosť generovať do výsledného skompilovaného súboru aj ladiace informácie, ale táto možnosť nie je ešte v NASM plne implementovaná. V súčasnosti podporuje túto možnosť len pri elf formáte a obj formáte pre Borland prekladače.
 
NASM bol historicky prvým kompilátorom assemblera, ktorý ponúkol širokú použiteľnosť spolupráce s mnohými kompilátormi, a tiež prenositelnosťprenositeľnosť na mnoho platforiem. Vzhľadom k výhodám, ktoré ponúka jeho licencia a k výhodám, ktoré vznikli v dôsledku toho, že je napísaný v programovacom jazyku C sa stal veľmi široko rozšíreným assemblerovským kompilátorom v open source svete. Tým sa stal tiež široko testovaným a prevereným.
 
;Príklad syntaxe:
1 551

úprav