*함수 ( 프로시저 procedure 서브루틴 subroutine )
ex)
PRINT_MSG:
PRINT_STRING msg
NEWLINE
ret
*두 값 중 더 큰 값을 반환하는 max
=> 값은 어떻게 넘겨받을까 ?? 반환은 어떻게 할까 ??
=> 인자가 10개라면 어떻게 할까 ??
=> eax, ebx 에 이미 중요한 값이 있다면 어떻게 할까??
=> .data .bss 사용하면 ??
=> 그러면 인자를 도대체 몇개를 할당해야 하지 ??
결과적으로, '스택 ( Stack )' 이라는 메모리 영역 사용을 사용하게 됨.
=> 매개변수 전달
=> 돌아갈 주소 관리
=> 다른 메모리 구조가 필요했다.
=> 유효 범위의 개념이 있다. -> (함수 호출)
=> 정리의 개념이 있다. -> (함수 종료)
=> 유동적으로 유효 범위가 확장 가능해야함. -> (함수 안에 함수 호출)
본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.
'프로그래밍 > C++' 카테고리의 다른 글
#13. 정수 (0) | 2022.07.16 |
---|---|
#12. 스택 메모리 & 스택 프레임 ( Stack Frame ) (0) | 2022.07.15 |
#10. 배열과 주소 (0) | 2022.07.15 |
#9. 어셈블리 반복문 (0) | 2022.07.15 |
#8. 어셈블리 분기문 (0) | 2022.07.15 |