2005년04월03일 34번
[임의구분] 서브루틴(subroutine)호출시 복귀 주소를 저장하는 곳은?
- ① ROM
- ② pointer
- ③ stack
- ④ program counter
(정답률: 90%)
문제 해설
서브루틴 호출시에는 현재 실행중인 코드의 주소를 저장하고, 서브루틴이 끝나면 이전 코드로 돌아가야 합니다. 이를 위해 호출한 코드의 주소를 저장하는 곳이 필요한데, 이를 스택(stack)이라고 합니다. 스택은 후입선출(LIFO) 구조로 되어 있어서, 가장 최근에 저장된 주소가 가장 먼저 꺼내지게 됩니다. 따라서 서브루틴이 끝나면 스택에서 저장된 주소를 꺼내어 이전 코드로 돌아갈 수 있습니다.