CS/컴퓨터 구조

[컴퓨터 구조](14)[어셈블리어 5]

황올뱀 2025. 1. 24. 18:58

프로시저

  • 제어권 전달
    프로시저 코드의 시작
    리턴 지점으로 돌아가기
  • 데이터 전달
    매개변수, 리턴 값 등
  • 메모리 관리
    프로시저 실행 중 할당
    리턴할 때 저장소(스택) 반납

스택

  • 먼저 들어간 것이 나중에 나오는 메모리 구조
  • 스택은 메모리 주소가 작은 방향으로 성장한다
  • %rsp 레지스터는 스택의 top주소를 저장한다 (가장 최근에 저장된 값의 주소 저장됨)
  • PUSH S: 스택에 S를 저장한다
    %rsp = %rsp-8
    S -> (%rsp)
  • POP D: 스택에서 하나를 빼서 D에 저장한다. (제일 나중에 들어온 것을 D에 저장)
    (%rsp) -> D
    %rsp = %rsp+8

프로시저 CALL
스택에 리턴 주소(호출된 장소) push
호출받은 함수로 jump
프로시저 ret
스택에서 리턴 주소를 pop
pop한 주소로 jump

728x90
반응형