레지스터란 CPU 안에서 쓰이는 저장 공간을 말합니다. 일반 메모리보다 훨씬 빠른 속도로 접근할 수 있고 사용가능하며 범용, 세그먼트, 플래그, 인스트럭션 레지스터로 나뉩니다.
범용 레지스터 : 데이터(연산자, 주소) 연산/전송에 쓰이며 메모리 포인터가 저장됩니다.
EAX - 산술 연산의 저장
EBX - 데이터 주소를 가리키는 포인터
ECX - 문자열 처리, 루프 처리
EDX - (EAX와 비슷함) 부호 확장 명령, 입출력 포인터, 일반 자료 저장
EDI - 복사 작업시 주소 임시 저장소, 주로 ESI 레지스터의 주소가 저장됨(다음 목적지 주소 값 저장)
ESI - 데이터 조작시 소스 데이터의 주소 저장(출발지 주소에 대한 값 저장)
ESP - 스택 프레임의 가장 끝 주소
EBP - 스택 프레임의 시작 주소 저장
세그먼트 레지스터 : 프로그램의 특정 세그먼트를 가리킨다, 특정 데이터를 가져오는데 도움을 줌.
CS - 실행 가능 명령어가 저장되어 있는 세그먼트의 오프셋 저장
DS - 데이터가 저장되어있는 세그먼트의 오프셋 저장
SS - 스택에 존재하는 세그먼트의 오프셋 저장
플래그 레지스터 : 프로그램의 상태를 나타내는 플래그들의 집합
CF, ZF, OF, SF, DF
인스트럭션 포인터 : 다음 실행할 명령이 있는 메모리의 주소
EIP - 다음에 실행해야될 명령어가 존재하는 메모리 주소를 저장, 현재 명령어를 실행 완료 후에는 EIP 레지스터에 저장되어 있는 주소에 위치한 명령어를 실행
'스터디 > system' 카테고리의 다른 글
리눅스 시그널 강의 링크 (0) | 2013.09.27 |
---|---|
Missing separate debuginfos, use: debuginfo-install glibc 문제 해결방법 - Missing separate debuginfos, use: debuginfo-install glibc 2.11.203.i686 (0) | 2013.02.18 |
리눅스마스터 2급 1차 시험 통과했습니다ㅎ (0) | 2013.02.13 |
리눅스 관련 7가지 용어 (0) | 2013.02.09 |
리눅스 설치 시 꼭 알아야 되는 유용한 팁, 노하우 10가지 (0) | 2013.02.09 |