Netwide Assembler: Rozdiel medzi revíziami

Pridaných 28 bajtov ,  pred 11 rokmi
kopa chyb mne sa to opravovat nechce, ked neviem neprekladam
(priklad syntaxe nebolo prelozene)
(kopa chyb mne sa to opravovat nechce, ked neviem neprekladam)
{{na úpravu}}
'''Netwide Assembler''' ('''NASM''') je multiplatformový kompilátor programovacieho jazyka assembler s podporou [[architektúra (informatika)|architektúry]] [[x86]] a [[x84-64]] s podporou mnohých výstupných formátov. NASM podporuje všetky inštrukčníinštrukčné sady vrátané nedokumentovaných a vrátane špecifických inštrukcií niektorých procesorov. Okrem vlastného prekladača má aj veľmi obmedzený dissassembler s názvom ndisasm.
 
Výhodou NASM je možnosť spojiť jejho s inými programovacími jazykmi na mnohých platformách a pod mnohými kompilátorykompilátormi, bez toho, aby sme 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 (MicrosoftíMicrosoftný formát používaný MS Visual StudiemStudiom pre 32 bitové prostredie), win64 (formát MS Visual studia propre 64 bitové prostředíprostredie), DOSovské formáty obj (propre MS-DOS programy), a mnohé ďalšíchďalšie.
 
NASM je širenýšírený pod BSD licenciou.
 
Priaznivým dôsledkom toho, že NASM je napísaný kompletne v programovacom jazyku C, je to, že je ho možné použiť a preložiť prakticky na ľubovolnej platforme. Je možné ho taktiež použiť v [[MS-DOS|DOSuDOSe]], [[OS/2]], [[Microsoft Windows|Windows]], [[Linux]]ue iaj [[BSD]]. Na ďalších platformy ho ide ľahko preložiť. Pracuje dokonca i na platformách s inou architektúrou, než je [[x86]] a [[x84-64]], čím umožňuje i krížový preklad na rozdiel napríklad od [[FASM]], ktorý je napísaný v assembleru, a krížový preklad neumožňuje, rovnako tak je omnoho ťažšie portovať ho na iné platformy.
 
Používa tradičnú [[Intel]] syntax, na rozdiel od napríklad [[GNU Assembler]]u používajúceho [[AT&T]] syntax (ktorý okrem toho na požiadanie tiež vie Intel syntax). Hlavným rozdielom medzi touto syntaxou je poradie operandov inštrukcie a spôsob zápisu dereference. Na rozdiel od [[GNU Assembler]]u je určení pre programovaní, zatiaľ čo [[GNU Assembler]] bol navrhnutý iba 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 assembleru (zatiaľ čo GNU Assembler makrojazyk nemá a umožňuje maximálne použiť len preprocesor C). Makrojazyk NASM je narozdiel od neho trochu komplikovaný a nie vždy celkom konzistentní. Jeho makrojazyk není tak silný, ako napríklad makrojazyk [[Microsoft Assembleru|MASM]] – ten však podporuje iba MS Visual Studio a Windows.
 
NASM má možnosť generovať do výsledného skompilovaného súboru i ladiace informácie, ale táto možnosť nie ešte celkom v NASM implementovaná. V súčastnejsúčasnej dobe podporuje túto možnosť len v elf formátu a obj formátu pre Borland prekladače.
 
NASM byl historicky prvým kompilátorom assembleru, ktorý ponúkol širokú použiteľnosť spolupráce s mnohými kompilátory, a tiež nezmyselnosť na mnohých platformách. 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 programovacím jazyku C, sa stal velmi široko rozšíreným assemblerovským kompilátor v open source svete. Tím sa stal také široko testovaným a prevereným.
Anonymný používateľ