x86 CPU 레지스터 조사
1. 레지스터의 종류와 그 역할
먼저 종류가 그 목적에 따라 범용 레지스터,
세그먼트 레지스터, 플래그 레지스터,인스트럭션 레지스터로 구성된다
범용 레지스터 : 논리 연산이나 수리 연산에 사용되는
피연산자 또는 주소를 계산하는데 사용되는 피연산자,
그리고 메모리 주소가 저장되는 레지스터 이다.
세그먼트 레지스터 : 코드 세그먼트, 데이터 세그먼트,
스택 세그먼트를 가르키는 주소가 들어있는 레지스터 이다.
플래그 레지스터 : 프로그램의 현재 상태나 조건 등을
검사하는 데 사용되는 플래그들이 있는 레지스터 이다.
인스트럭션 레지스터 : 다음 수행해야할 명령이 포함된
가상 메모리의 주소가 들어있는 레지스터 이다.
1-1 범용 레지스터
프로그래머가 임의로 조작할 수 있게 허용되어 있는
레지스터로 8개의 32bit 변수라고, 볼수있다.
이름: EAX
크기:32bit
설명: 누적 연산기, 각종 연사에 사용하며 연산시에
다른 레지스터보다 속도가 빠르다.
(누산기에 해당하며 대부분의 연산들이 수행)
1-2
이름: ECX
크기:32bit
설명: 카운터, 전송이나 반복횟수를 세는 카운터.
(주로 반복문의 횟수에 사용된다.)
1-3
이름: EDX
크기:32bit
설명: 데이터, 일시적으로 데이터를 기억하며 EAX와 조합
하여 32비트 곱셈, 나눗셈을 하는 데 이용하기도 한다.
(누산기의 확장으로 )
1-4
이름: EBX
크기:32bit
설명: 베이스, 특정 메모리를 가르키는 포인터
(밑 부터는 포인터 레지스터)
1-5
이름: ESP
크기:32bit
설명: 스택의 가장 윗 부분을 가르킨다.
1-6
이름: EBP
크기:32bit
설명: 스택의 바닥을 가르킨다.
1-7
이름 : ESI
크기 : 32bit
설명 : 복사 혹은 비교를 하는데 사용되는 Source문자열을
나타낸다.
1-8
이름 : EDI
크기 : 32bit
설명 : 복사 혹은 비교를 하는데 사용되는 Destination문자열을 나타낸다.
'IT전공관련' 카테고리의 다른 글
어셈블리어 용어 정리 & 리눅스 용어 정리 (0) | 2017.07.19 |
---|---|
c언어 메모리 구조(코드) (0) | 2017.07.17 |
시스템 메모리 구조 조사 및 설명 (0) | 2017.07.17 |
함수 프롤로그, 에필로그, 스택 프레임 조사 (0) | 2017.07.17 |
세계전략 포럼 (0) | 2017.07.03 |