NASM е 80x86 асемблер предназначени за пренасяне и модулност. Проектът подкрепя редица обект файлови формати, включително Linux a.out и ELF, COFF, Microsoft 16-битов OBJ и Win32. Той ще изведе и обикновени бинарни файлове.
Синтаксис е проектирана да бъде проста и лесна за разбиране, подобен на Intel, но по-малко сложна. Той поддържа Pentium, P6, MMX, 3DNow! и ССИ опкодове, и има възможност за макро. Тя включва Disassembler както
The Netwide сглобяване роди в резултат на една идея по comp.lang.asm.x86. (Или евентуално alt.lang.asm - I забравяме кои), която по същество е, че има не изглежда да бъде един добър безплатен x86-серия асемблер наоколо, и че може би някой трябва да напише една
-. А86 е добра, но не са свободни, и по-специално не се получи някоя 32-битов способност, докато не плати. Това е DOS само, твърде
-. Газ е свободен, и пристанища над DOS и Unix, но това не е много добра, тъй като той е проектиран да бъде обратно край на GCC, които винаги се храни правилно код. Така че нейната проверка за грешки е минимална. Също така, синтаксис е ужасно, от гледна точка на някой се опитва да всъщност пиша нищо в нея на. Plus не можете да напишете 16-битов код в него (правилно)
-. As86 е Minix- и Linux-специфично, и (моята версия поне) не изглежда да има много (или който и да е) документация.
- MASM не е много добра, и това е (беше) скъпи, и той работи само под DOS
-. TASM е по-добре, но все още се стреми към MASM съвместимост, което означава милиони директиви и тона бюрокрацията. И неговите синтаксис е по същество MASM си, с противоречията и странности, които произтичат от (макар и да отсява някои от тези, които с помощта на режим Ideal). Това е твърде скъпо. И това е DOS-едва.
Така че тук, за кодиране на удоволствие, е NASM. В момента тя все още е в концептуална фаза - ние не обещаваме, че тя може да надмине някой от тези монтажници. Но моля, моля, изпратете ни доклади за грешки, корекции, полезна информация и всичко друго, можете да получите ръцете си върху (и благодарение на многото хора, които съм правил това вече! Всички вие знаете кои сте), и ние ще се подобри то от всички признаване. Отново.
Инсталиране NASM под Unix
Веднъж получен изходен код на Unix за NASM, NASM-X.XX.tar.gz (където x.xx обозначава Номер на версията на NASM съдържа в архива), го разархивирайте в директория като / ЮЕсАр / местни / SRC. Архивът, когато разопакова, ще създаде своя собствена поддиректория NASM-x.xx
NASM е автоматично конфигуриране на пакета:., След като сте го разопакова, CD до директорията, това е било разархивира и тип ./configure. Този скрипт ще намерите най-доброто C компилатора да използвате за изграждане NASM и създаде Makefile-ове по съответния начин.
След NASM има автоматично конфигурирани, можете да напишете направи, за да се изгради NASM и ndisasm двоичните файлове на, и след това да се направи инсталиране, за да ги инсталирате в / ЮЕсАр / местни / хамбар и инсталиране на страниците на човека nasm.1 и ndisasm.1 в / ЮЕсАр / местни / човек / man1. Друга възможност е да се даде опции като --prefix да конфигурирате скрипта (виж инсталационния файл за повече информация), или да инсталирате програмите си.
NASM също идва с набор от инструменти за обработка на RDOFF обичай обектно-файлов формат, които са в rdoff поддиректорията на архива NASM. Можете да построим тези с марката RDF и да ги инсталира с грим rdf_install, ако ги искате.
Ако NASM не успее да автоматичното конфигуриране, вие все още може да бъде в състояние да направи това съставят с помощта на резервен Unix Makefile Makefile.unx. Копиране или преименувате този файл да Makefile и пробвайте да. Има и файл Makefile.unx в поддиректорията rdoff
Какво ново в тази версия:.
- Когато оптимизация е активиран, MOV R64, IMM сега оптимизира до най-краткия формуляр възможно
Какво ново във версия 2.9.01:
- Fix NULL и сочен за пропуснати
Коментари не е намерена