함수 (프로시저 , 서브루틴)
이렇게 PRINT_MSG라는 함수를 만들 수 있고
call로 저곳으로 뛰어넘을 수 있다.
(라벨과 비슷)
레지스터를 사용하여
eax, ebx에 입력값을 ecx에 반환해보도록 하자.
cmp 를 사용하여 eax가 더 크다면(jg) -> L1
ebx가 같거나 더 크다면 mov ecx, ebx -> jmp L2.
인자가 10개라면?
eax, ebx에 이미 중요한 값이 있다면 우짜노?
[!] , .bss, .data 를 사용하면?
=> 고정적으로 사용하면 또 낭비이다. 또한 인자를 또 몇개?
인자로 전달 -> 전달 -> 전달 이게 안되기 때문에
함수가 사용하는 일종의 "메모장"
매개변수 전달
돌아갈 주소 관리
CMAIN에서 사용하던 변수들은 호출이 완료가 되기전까지
값을 유지를 시켜주어야한다.
꿈이 유효한 동안에는 그 꿈을 유지 시켜주어야함.
꿈이 끝나면 그 꿈을 부셔버려도됨.
꿈에서도 또 꿈을 꿀 수 있다는 것을 고려해야함. (유동적으로 유효범위가 확장)
메모리가 유동적으로 늘어났다 줄어들었다 하는 그런것.