<aside> 💡 이 문서는 42cursus의 Libasm을 학습하기 위한 핵심정보만을 전달합니다. 어셈블리어에 대한 더 많은 지식이 필요하신 분은 Google 또는 저의 문서 속 링크들을 참고해주세요 :)

</aside>


(1) 어셈블리어 기초

<aside> 💡 이 문서는 x86_64 macos 환경에서 intel문법을 따르는 어셈블리어 (.s 확장자) 에 대해 설명합니다.

</aside>

<aside> 💡 기울어진 글자는 실험을 통해 얻은 정보로 정확하지 않을 수 있습니다.

</aside>

<aside> 💡 취소선이 사용된 내용은 이 서브젝트를 풀 때 필요하지 않을 수 있습니다.

</aside>

어셈블리어의 (주관적)장점

HelloWorld!

helloworld 부터 찍어보고 출발합시다.

section .text
    global _main

_main : 
    mov rax, 0x2000004
    mov rdi, 1
    mov rsi, msg
    mov rdx, 12
    syscall
    mov rax, 0x2000001
    mov rdi, 0
    syscall

section .data
    msg db "Hello World"

이 코드를 보고 아래 내용에 맞춰 이해해보세요!

기본지식

1. 레지스터