3.3. NASM

Netwide Assembler project 는 매우 괜찮은 i386 어셈블러를 제공한다. 그 어셈블러는 C 로 쓰여졌으며, 충분히 모듈화 되어 있다. 그리고, 지금은 거의 모든 알려진 문법과, 목적 파일의 형식을 지원하게 되었다.

3.3.1. NASM을 어디서 구할 수 있는가

http://www.cryogen.com/nasm/, http://nasm.rm-f.net

여러분이 자주 가는 metalab 미러 사이트의 devel/lang/asm/ 디렉토리에 있다. 아마도 rpm 이나 deb 형식의 패키지로도 구할 수 있을 것이다.

3.3.2. NASM 으로 무엇을 할 수 있는가

문법은 인텔 스타일이다. 또한, 이해하기 쉬운 매크로 프로세싱에 대한 지원도 한다.

지원되는 목적 코드의 형식은 다음과 같다 : bin, aout, coff, elf, as86, obj (DOS), win32, rdf (NASM 고유의 포맷).

NASM 은 또한 LCC 컴파일러의 백엔드로도 사용될 수 있다.

여러분이 BCC 를 16비트 컴파일러로 사용하지 않는다면 여러분은 아마도, AS86 이나 MASM 보다 NASM 을 사용해야 할 것이다. NASM 은 온라인으로 계속 지원이 이루어지고 있고, 또한, 거의 모든 플랫폼에서 돌아가기 때문이다.

Note: NASM 에는 디스어셈블러인 NDISASM 도 딸려온다.

NASM 은 사람의 손으로 작업해낸 파서를 탑재하고 있는데, 그로 인해 GAS 보다 훨씬 빠르다. (역자 주 : 그 이후의 말은... 해석이 좀 힘들군요 -_- 원문을 그대로 두겠습니다.) Its hand-written parser makes it much faster than GAS, though of course, it doesn't support three bazillion different architectures. If you like Intel-style syntax, as opposed to GAS syntax, then it should be the assembler of choice..