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 после множества проблем, вызванных выбором лицензии. Начиная с версии 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 и ещё....