CPP_RO_함수

CJB_ny·2022년 7월 6일
0

C++ 정리

목록 보기
12/95
post-thumbnail

함수 (프로시저 , 서브루틴)

이렇게 PRINT_MSG라는 함수를 만들 수 있고

call로 저곳으로 뛰어넘을 수 있다.

(라벨과 비슷)

두값중 큰값을 반환

레지스터를 사용하여

eax, ebx에 입력값을 ecx에 반환해보도록 하자.

cmp 를 사용하여 eax가 더 크다면(jg) -> L1

ebx가 같거나 더 크다면 mov ecx, ebx -> jmp L2.

레지스터만 사용할 때의 문제

  1. 인자가 10개라면?

  2. eax, ebx에 이미 중요한 값이 있다면 우짜노?

  3. [!] , .bss, .data 를 사용하면?
    => 고정적으로 사용하면 또 낭비이다. 또한 인자를 또 몇개?

인자로 전달 -> 전달 -> 전달 이게 안되기 때문에

stack메모리 영역을 사용할 것이다.

함수가 사용하는 일종의 "메모장"

  • 매개변수 전달

  • 돌아갈 주소 관리

CMAIN에서 사용하던 변수들은 호출이 완료가 되기전까지

값을 유지를 시켜주어야한다.

  • 꿈이 유효한 동안에는 그 꿈을 유지 시켜주어야함.

  • 꿈이 끝나면 그 꿈을 부셔버려도됨.

  • 꿈에서도 또 꿈을 꿀 수 있다는 것을 고려해야함. (유동적으로 유효범위가 확장)

    메모리가 유동적으로 늘어났다 줄어들었다 하는 그런것.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글