x86 시스템의 레지스터 종류
1. 범용 레지스터
- EAX : 누산기, 산술 연산 저장
- EBX : 베이스 레지스터, 특정 주소 저장
- ECX : 카운트 레지스터, 루프 횟수 혹은 시프트 비트수 저장
- EDX : 데이터 레지스터, 주로 입출력 동작에서 데이터 저장(큰 수에서는 EAX레지스터와 함께 사용)
** EAX(32비트) > AX(16비트) > AH+AL(각각 8비트) / EBX(32비트) > BX(16비트) > BH+BL(각각 8비트)
ECX(32비트) > CX(16비트) > CH+CL(각각 8비트) / EDX(32비트) > DX(16비트) > DH+DL(각각 8비트)
2. 세그먼트 레지스터
- CS : 코드 세그먼트 레지스터, 기계 명령 포함
- DS : 데이터 세그먼트 레지스터, 데이터/상수/작업 영역 포함
- SS : 스택 세그먼트 레지스터, 데이터나 연산 결과를 임시 저장 및 삭제
- ES, FS, GS : 엑스트라 세그먼트 레지스터
** 세그먼트 레지스터는 16비트이다.
3. 포인트 레지스터
- EBP : 베이스 포인터, SS 레지스터와 함께 사용되어 스택 내 변수 값을 읽음
- ESP : 스택 포인터, SS 레지스터와 함께 사용되어 스택 내 끝(하위) 주소를 읽음
- EIP : 명령 포인터, 명령어 오프셋 저장
4. 인덱스 레지스터
- EDI : 목적지 레지스터, 목적지 주소에 대한 값 저장
- ESI : 출발지 레지스터, 출발지 주소에 대한 값 저장
5. 플래그 레지스터
- EFLAGSS : 연산 결과 및 시스템 상태와 관련된 여러 가지 플래그 값 저장
** S - 상태플래그 / C - 제어플래그 / X - 시스템플래그
CF - 산술 연산 결과로 자리 올림 / ZF - 산술 연살 결과가 0 / OF - 오버플로우 발생
'학교 공부 > 시스템' 카테고리의 다른 글
[시스템] 메모리 주소 지정 방식 종류 (0) | 2021.03.17 |
---|---|
[시스템] x86 시스템, 메모리 접근 모드와 동작 (0) | 2021.03.17 |
[도커 #1] 도커란? (0) | 2020.08.31 |
[운영체제] 병행성 제어와 교착상태 (1) | 2020.03.06 |
[운영체제] CPU 스케줄링 알고리즘 (0) | 2020.03.05 |
댓글