본문 바로가기
CS

레지스터의 종류

by 노믹 2022. 11. 19.

범용 레지스터

  • EAX (Extended Accumulator Register)

산술 연산 레지스터로, 곱셈과 나눗셈 명령에서 사용하고 함수의 return 값을 저장한다.

 

  • EBX (Extended Base Register)

산술 연산 레지스터로, ESI나 EDI와 합쳐져 인덱스에 사용한다.

 

  • ECX (Extended Counter Register)

산술 연산 레지스터로, 반복 명령어(Loop)를 사용할 때 반복 카운터를 저장한다.

반복 횟수를 저장한다.

 

  • EDX (Extended Data Register)

산술 연산 레지스터로, EAX의 보조 역할을 한다.

EAX만으로 연산 결과가 담기지 않을 때 부호 확장 명령 등으로 사용한다.

 

  • ESI (Extended Source Index)

인덱스 레지스터로, 데이터를 복사 또는 비교할 때 소스의 데이터 주소가 된다.

 

  • EDI (Extended Destination Index)

인덱스 레지스터로, 데이터를 복사 또는 비교할 때 목적지의 주소가 저장된다.

 

  • EBP (Extended Base Pointer)

포인터 레지스터로, 스택 프레임의 시작 주소가 저장된다.

현재 스택 프레임이 이용되는 동안은 값이 변하지 않지만 현재의 스택프래임이 사라지면 이전의 스택 프레임을 가리킨다.

 

  • ESP (Extended Stack Pointer)

포인터 레지스터로, 스택 프레임의 가장 최근 주소를 저장한다.

PUSH나 POP등의 명령어로 값이 변한다.

 

  • EIP (Extended Instruction Pointer)

포인터 레지스터로, 다음 명령어가 저장된 메모리의 주소를 저장한다.

 

CPU 전용 레지스터

  • PC (Program Counter)

다음 인출(Fetch) 될 명령어의 주소를 가지고 있는 레지스터

 

  • AC (Accumulator)

연산 결과 데이터를 일시적으로 저장하는 레지스터

 

  • IR (Instruction Register)

가장 최근에 인출된 명령어(현재 실행 중인 명령어)가 저장되어 있는 레지스터

 

  • SR (Status Register)

현재 CPU 의 상태를 가지고 있는 레지스터

 

  • MAR (Memory Address Register)

PC 에 저장된 명령어 주소가 사용되기 전에 일시적으로 저장되는 주소 레지스터

 

  • MBR (Memory Buffer Register)

기억장치에 저장될 데이터 혹은 읽혀진 데이터가 일시적으로 저장되는 버퍼 레지스터

'CS' 카테고리의 다른 글

22.11.25 / CS특강 / UDP  (0) 2022.11.29
22.11.25 / CS특강 / OSI 7계층  (0) 2022.11.29
22.11.18 / CS특강 / 동기 비동기  (0) 2022.11.20
22.11.18 / CS특강 / 프로세스 스레드  (0) 2022.11.19
22.11.11 / CS특강 / CPU  (0) 2022.11.19