NASM
Материал из Википедии — свободной энциклопедии
| Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка.
Статью следует исправить согласно стилистическим правилам Википедии.
|
NASM (Netwide Assembler) — свободный (LGPL) ассемблер для архитектуры Intel x86. Используется для написания 16-, 32- и 64-битных программ.
[править] Пример программы (под Linux)
Пример программы Hello world, которая выводит соответствующее сообщение и завершается.
SECTION .data msg db "Hello, world!",0xa len equ $ - msg SECTION .text global main main: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, len int 0x80 mov eax, 1 mov ebx, 0 int 0x80
[править] История
NASM был создан Саймоном Тэтхемом совместно с Юлианом Холлом и в настоящее время развивается маленькой командой разработчиков в SourceForge.net. Первоначально он был выпущен согласно его собственной лицензии, но позже эта лицензия была изменена на GNU LGPL после множества проблем, вызванных выбором лицензии.
NASM производит различные двоичные форматы на любой машине, начиная форматом COFF (и подобного ему PE-формата, используемого в Microsoft Windows) до a.out, ELF и родного двоичного формата MINIX. NASM даже определяет свой собственный двоичный формат, RDOFF, который в настоящее время используется только в операционной системе RadiOS. Кроме того, NASM может создавать простые бинарные файлы, пригодные к употреблению в системных загрузчиках, образах ПЗУ и различных элементах операционной системы. NASM работает и на платформах, отличных от x86, таких как SPARC и PowerPC, но генерирует код под x86.
Философия NASM позволяет программистам, знакомым с ассемблером x86, использовать соответствующий подход, который является самым легким для понимания программистов. Поэтому, он использует традиционный Intel-синтаксис для x86-ассемблера (тогда как другие бесплатные ассемблеры, например GNU Assembler (GAS), используют AT&T синтаксис).
[править] Ссылки
|
|
|
|---|---|
| Среды разработки ПО | RadASM • WinAsm • ASMedit • Easy Code • Fresh • GSS Visual Assembler |
| Трансляторы | MASM • gas • fasm • NASM • RosASM • TASM • Yasm • HLASM • прочие… |

