반응형
메모리 구조에서 Stack Frame 구조에 대해서 잠시 알아보겠습니다.
.file "sum.c"
.text
.globl sum
.type sum, @function
sum:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl %edi, -4(%rbp)
movl %esi, -8(%rbp)
movl -4(%rbp), %edx
movl -8(%rbp), %eax
addl %edx, %eax
popq %rbp
.cfi_def_cfa 7, 8
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movl $2, %esi
movl $1, %edi
call sum
movl %eax, -4(%rbp)
movl -4(%rbp), %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE1:
.size main, .-main
.ident "GCC: (Debian 14.2.0-19) 14.2.0"
.section .note.GNU-stack,"",@progbits
int sum(int a, int b) {
return a + b;
}
int main(void) {
int c = sum(1, 2);
printf("%d\n", c);
return c;
}
반응형
'IT > programming' 카테고리의 다른 글
끄투 게임 서버 쉽게 만들기 (0) | 2025.05.19 |
---|---|
fdisk 볼륨확장 비활성시 diskpart로 문제 해결 (0) | 2025.05.05 |
centos yum update error 완전해결 (1) | 2025.04.27 |
개발 블로그 중간발표 'GitHub Blog Opening' (0) | 2024.07.21 |
android에서 termux로 ubuntu vscode 실행하는 방법 대성공 (2) | 2024.06.30 |