저수준의 프로그래밍 언어

0. 어셈블리어 Hello World 예제 (macOS)

section .data

    message db "Hello, world!", 10 ; 아스키코드로 10은 LF(라인피드)

section .text
global _main

_main:
    mov rax, 0x2000004 ; 시스템콜 함수를 write로 변경
		;아래 코드는 write(1, message, 14)와 같다고 볼 수 있다.
    mov rdi, 1 ; fd를 표준 출력인 1로 변경
    mov rsi, message ; rsi는 출력할 주소에 해당
    mov rdx, 14 ; 출력할 크기를 14로 변경
    syscall ; 시스템콜(write) 호출
		mov rax, 0x2000001 ; 시스템콜 함수를 exit로 변경
		syscall ; 시스템콜(exit) 호출

1. 컴퓨터 기초

2. 레지스터에 대한 설명

3. 기본 레지스터의 종류