넷와이드 어셈블러
Netwide Assembler![]() | |
원저작자 | 사이먼 태텀, 줄리안 홀 |
---|---|
개발자 | H. 피터 애빈 등 |
초기 릴리즈 | 1996년 10월, | 전(
안정된 릴리스 | 2.15.05[1] / 2020년 8월 28일; 전 ( ) |
저장소 | |
기입처 | 조립체[2], C |
운영 체제 | Unix 대응, Windows, OS/2, MS-DOS |
이용가능기간: | 영어 |
유형 | x86 어셈블러 |
면허증. | BSD 2절 |
웹 사이트 | www |
Netwide Assembler (NASM)는 인텔 x86 아키텍처용 어셈블러 및 디스어셈블러입니다.16비트, 32비트(IA-32) 및 64비트(x86-64) 프로그램을 쓰는 데 사용할 수 있습니다.Linux에서 [3]가장 인기 있는 어셈블러 중 하나로 여겨지고 있습니다.
그것은 원래 Simon Tatham이 Julian Hall의 도움을 받아 썼다.2016년 현재[update], 그것은 H. Peter [4]Anvin이 이끄는 작은 팀에 의해 유지되고 있다.이것은 간단한 (2절) BSD 라이선스의 [5]조건에 따라 출시된 오픈 소스 소프트웨어입니다.
특징들
NASM은 COFF, OMF, a.out, Executable and Linkable Format(ELF), Mach-O 및 바이너리 파일(.bin, 운영체제 컴파일에 사용되는 바이너리 디스크 이미지)을 포함한 여러 바이너리 포맷을 출력할 수 있습니다.단, 위치 독립 코드는 ELF 오브젝트 파일에서만 지원됩니다.또한 [6]RDOFF라고 불리는 자체 바이너리 형식을 가지고 있습니다.
다양한 출력 포맷을 통해 거의 모든 x86 운영체제(OS)로 프로그램 대상을 변경할 수 있습니다.또, 부트 로더, 읽기 전용 메모리(ROM) 이미지, [6]OS 개발의 다양한 측면에 쓸 수 있는 플랫 바이너리 파일도 작성할 수 있습니다.PowerPC나 SPARC와 같은 x86 이외의 플랫폼에서는 크로스 어셈블러로서 실행할 수 있지만 이러한 머신에서 사용할 수 있는 프로그램을 생성할 수는 없습니다.
NASM은 AT&T [7]구문 대신 인텔 어셈블리 구문을 사용합니다.또한 MASM 및 호환 [6]어셈블러에 의해 사용되는 세그먼트오버라이드 자동 생성(및 관련된 AUSM 디렉티브) 등의 기능도 회피합니다.
샘플 프로그램
DOS 운영체제용 "Hello, world!" 프로그램:
부분.본문 조직0x100 움직이다 아., 0x9 움직이다 dx, 안녕 인트 0x21 움직이다 도끼, 0x4c00 인트 0x21 부분.데이터. 안녕하세요. db 안녕, 세상아!, 13, 10, '