μ€λλ ν΄λΉ μ νλΈλ₯Ό 보면μ 곡λΆν΄λ³΄λ €κ³ νλ€!
μ¬μ€ μ 곡 μ± μ€μ νν μ΄μ λΈλ¦¬μ΄λ§ νμμμ κ² κ°μμ λ²λ Έλλ°
μ§κΈμ μμ² ννκ° λκ³ μλ€! νμ§λ§ μΈν°λ·μΌλ‘ κ°μ λ³Ό μ μμΌλ.. λ€νμ΄λ€.
0λΆν° μμν΄μ 2^32-1 κΉμ§ μμμ΄ λλλ€.
μ΄λ 32λΉνΈ μ΄μ체μ λ₯Ό λ»νλ€.
μ€νμ νμ μ μΆ(LIFO)λ‘, λμ€μ λ€μ΄κ° κ²μ΄ λ¨Όμ λμ¨λ€.
ν¨μλ₯Ό νΈμΆ ν λ λ§λ€ μ€νμ μ λ³΄κ° μμ΄κ² λλ€.
μ€νμλ ν¨μμ λν μ 보λ₯Ό ν¬ν¨νκ³ , μ§μλ³μλ₯Ό ν¬ν¨νκ² λλ€.
μλ₯Ό λ€μ΄
int sum (a,b){
return a+b;
}
μ΄λ¬ν ν¨μμμ a,bλ sumν¨μ μμμλ§ μ¬μ©λλ λ§€κ°λ³μμ΄λ―λ‘ μ΄λ₯Ό
μ€νμ μ μ₯νκ² λλ€.
μ€νμλ μ 보보μκΈ°μ¬μ λμλ― λ²νΌ μ€λ²νλ‘μ°μ κ°μ μ·¨μ½μ μ΄ λ°μν μ μλ€.
νμ λμ μΌλ‘ ν λΉλλ λ³μλ€μ λ°μ΄ν°λ€μ΄ μμΉνλ€.
μλ₯Ό λ€μ΄ CμΈμ΄μ malloc()κ³Ό κ°μ λ³μμ΄λ€.
BSSλ νλ‘κ·Έλ¨μμ μ¬μ©λ λ³μλ€μ΄
μ€μ λ‘ μμΉνλ μμμ΄λ€.
μμ§ μ΄κΈ°νκ° μ΄λ£¨μ΄μ§μ§ μμ (uninitialized) λ³μλ₯Ό λ»νλ€.
Dataλ μ΄κΈ°νκ° μ΄λ£¨μ΄μ§ (initialized) λ³μλ₯Ό λ»νλ€.
Textμμμ μ€μ λ‘ μμ±ν μμ€μ½λκ° λ€μ΄κ°λ μμμ λ»νλ€.
section .data
msg db "Hello World"
section .text
global_start
_start:
mov rax,1
mov rdi, 1
mov rsi,msg
mov rdx, 12
syscall
mov rax,60
mov rdi,0
syscall
ν΄λΉ μ½λμμ dataμμκ³Ό textμμμ ꡬλΆνμλ€.
[μμ€ν ν΄νΉ] λ μ§μ€ν° μ©λμ μμ€ν μ½
https://youtu.be/PsXXjNL_ogc μ€λμ ν΄λΉ μ νλΈλ₯Ό 보며 λ μ§μ€ν° μ©λμ μμ€ν μ½μ λ°°μ°λ €κ³ νλ€. dataμμκ³Ό textμμμΌλ‘ λλμ΄ data μμμλ Hello WorldλΌλ λ¬Έμμ΄μ λ΄λ msgλΌλ λ³μλ₯Ό λ§λ€μλ€
dangsdangs.tistory.com
'νλ‘μ νΈ > μμ€ν ν΄νΉ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μμ€ν ν΄νΉ] μ΄μ λΈλ¦¬μ΄ μμ½ νλ‘κ·Έλ¨ μμ± (1) | 2023.01.13 |
---|---|
[μμ€ν ν΄νΉ] μ€ν νλ μ (0) | 2023.01.12 |
[μμ€ν ν΄νΉ] λ μ§μ€ν° μ©λμ μμ€ν μ½ (3) | 2023.01.10 |
[μμ€ν ν΄νΉ] μ΄μ λΈλ¦¬μ΄λ‘ Hello World μΆλ ₯ (1) | 2023.01.09 |
[μμ€ν ν΄νΉ] kali Linux νκΈ μ€μ (0) | 2023.01.08 |