어셈블리어는 컴퓨터와 직접적으로 상호작용하는 저급 프로그래밍 언어입니다.

어셈블리어는 기계어와 일대일 대응되는 기호화된 언어로, 기계어와 달리 사람이 이해하기 쉽습니다.

컴퓨터 아키텍처와 밀접한 관련이 있으며, 프로그래밍 언어 중에서 가장 저수준에 해당합니다.

어셈블리어는 주로 하드웨어 제어나 저수준의 성능 최적화를 위해 사용됩니다.


아래는 어셈블리어로 Hello World!를 출력하는 코드입니다.

section .data
    hello db 'Hello, World!',0

section .text
    global _start

_start:
    ; write(1, message, 13)
    mov edx, 13
    mov ecx, hello
    mov ebx, 1
    mov eax, 4
    int 0x80

    ; exit(0)
    mov eax, 1
    xor ebx, ebx
    int 0x80

위 코드는 섹션 구분을 통해 데이터와 텍스트를 구분하고, _start 레이블로 시작합니

다.

먼저 write 시스템 콜을 호출하여 "Hello, World!"를 출력합니다.

이때 mov 명령어를 사용하여 레지스터에 인자값을 전달하고, int 0x80을 사용하여 시스템 콜을 호출합니다.

다음으로 exit 시스템 콜을 호출하여 프로그램을 종료합니다.