본문 바로가기
Reverse Engineering

어셈블리어) R로 시작하는 레지스터

by manchesterandthecity 2020. 11. 20.

여기서 R로 시작하는 이유는,

프로세스가 64bit환경이라 그렇다 32bit환경은 E로 시작한다. 첫번째 문자는 그냥 환경에 맞춰서 그에 해당하는 문자가 출력이 된다.

 

 

RAX(EAX) : 누산기(Accumultor) 레지스터

RBX(EBX) : 베이스 레지스터

RCX(ECX) : 카운터 레지스터

RDX(EDX) : 데이터 레지스터

 

RSP(ESP) : 스택 포인터 레지스터

RBP(EBP) : 베이스 포인터 레지스터

RSI(ESI) : 출발지(source) 인덱스 레지스터

RDI(EDI) : 목적지(Destination) 인덱스 레지스터

RIP(EIP) : RIP 레지스터는 프로세서가 읽고 있는 는 현재 명령의 위치를 가리키는 명령 포인터(Instruction Pointer)레지스터

 

 

 

이 레지스터들은 포인터나 인덱스라 부르기도 한다.

 

포인터 레지스터는 메모리의 위치를 가리키는 64비트 주소를 저장하므로 포인터라 불린다. 이 레지스터들은 프로그램을 실행하고 메모리 관리를 하는데 쓰여 아주 중요하다

 

인덱스 레지스터들은 데이터가 읽히거나 써질 떄 근원지아 목적지를 가리키는 포인터로 쓰이는 포인터다 이 레지스터들은 불러오기 명령과 저장하기 명령에서 쓰이기도 하지만 대부분의 경우 이 헤지스터들을 범용 레지스터로 생각하면 된다. 

 

 

 

출처 :

blog.naver.com/pjt3591oo/220395406400

댓글