NASM
| Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии.
|
NASM (Netwide Assembler) — свободный (LGPL) ассемблер для архитектуры Intel x86. Используется для написания 16-, 32- и 64-битных программ.
Пример программы (под Linux)
Пример программы Hello world, которая выводит соответствующее сообщение и завершается. <source lang="asm">
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</source>
История
NASM был создан Саймоном Тэтхемом совместно с Юлианом Холлом и в настоящее время развивается маленькой командой разработчиков в SourceForge.net. Первоначально он был выпущен согласно его собственной лицензии, но позже эта лицензия была изменена на GNU LGPL после множества проблем, вызванных выбором лицензии. Начиная с версии 2.07, лицензия изменена на "упрощенную BSD" (BSD из 2 пунктов).
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-синтаксис).
Ссылки
- Проект NASM на сайте SourceForge.net
Программные пакеты для программирования на ассемблере |
|
|---|---|
| Среды разработки ПО | RadASM • WinAsm • ASMedit • Easy Code • Fresh • GSS Visual Assembler |
| Трансляторы | MASM • gas • fasm • NASM • RosASM • TASM • Yasm • HLASM • прочие… |
cs:Netwide Assembler de:NASM en:Netwide Assembler es:Netwide Assembler fr:Netwide assembler it:NASM (informatica) ja:Netwide Assembler ka:NASM pl:NASM
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....