본문 바로가기
Programming/Reversing

Register

by NAMP 2009. 4. 8.

Register - 2009/04/07 

  • General Register

  • Pointer Register

  • Index Register

  • Instruction Register

  • Segment Register

  • Flag Register

  • Control Register

  • Debug Register

 


 

범용 레지스터

l        EAX (Extended Accumulator Register)

[        곱셈과 나눗셈 명령에서 자동으로 사용되고 함수의 리턴값이 저장되는 용도로도 사용된다.

l        EBX (Extended Base Register)

[        ESIEDI와 결합하여 인덱스에 사용된다.

l        ECX (Extended Counter Register)

[        반복 명령어 사용시 반복 카운터로 사용된다. ECX 레지스터에 반복할 횟수를 지정해 놓고 반복 작업을 수행하게 된다.

l        EDX (Extended Data Register)

[        EAX와 같이 쓰이며 부호 확장 명령 등에 쓰인다.

l        ESI (Extended Source Index)

[        데이터 복사나 조작시 Source Data의 주소가 저장된다. ESI 레지스터가 가리키는 주소의 데이터를 EDI 레지스터가 가리키는 주소로 복사하는 용도로 많이 사용된다.

l        EDI (Extended Destination Index)

[        복사 작업시 Destination의 주소가 저장된다. 주로 ESI 레지스터가 기리키는 주소의 데이터가 복사된다.

l        ESP (Extended Stack Pointer)

[        하나의 스택 프레임의 끝 지점 주소가 저장된다. PUSH, POP 명령어에 따라서 ESP의 값이4Byte씩 변한다.

l        EBP (Extended Base Pointer)

[        하나의 스택 프레임의 시작 지점 주소가 저장된다. 현재 사용되는 스택 프레임이 소멸되지 않는 동안 EBP의 값은 변하지 않는다. 현재의 스택 프레임이 소멸되면 이전에 사용되던 스택 프레임을 가리키게 된다.

 

명령 포인터

l        EIP (Extended Instruction Pointer)

[        다음에 실행해야 할 명령어가 존재하는 메모리 주소가 저장된다. 현재 명령어를 실행 완료 한 후에 EIP 레지스터에 저장되어 있는 주소에 위치한 명령어를 실행하게 된다. 실행 전 EIP 레지스터에는 다음 실행해야 할 명령어가 존재하는 주소의 값이 저장된다.


세그먼트 레지스터

l        CS (Code Segment)

[        실행 가능한 명령어가 존재하는 세그먼트의 오프셋이 저장된다.

l        DS (Data Segment)

[        프로그램에서 사용되는 데이터가 존재하는 세그먼트의 오프셋이 저장된다.

l        SS (Stack Segment)

[        스택이 존재하는 세그먼트의 오프셋이 저장된다.

 

플래그 레지스터

l        CF (Carry Flag)

[        부호 없는 연산 결과가 용량보다 클 때 세트(1)된다.

l        ZF (Zero Flag)

[        연산 결과가 0일 때 세트(1)된다. 연산 결과가 0이 아닐 때 해제(0) 된다.

l        OF (Overflow Flag)

[        부호 있는 연산 결과가 용량보다 클 때 세트(1)된다.

l        SF (Sign Flag)

[        연산 결과가 음수가 되었을 때 세트(1)된다. 연산 결과가 양수가 되었을 때 해제(0)된다.

l        DR (Direction Flag)

[        문자열 처리에서 연속되는 문자열의 처리 방향에 따라 세트된다.

 

이 글은 스프링노트에서 작성되었습니다.

'Programming > Reversing' 카테고리의 다른 글

ASM 1  (0) 2009.04.09
MASM32 / EditPlus 연동  (0) 2009.04.09
Memory  (0) 2009.04.08
OpenRCE Anti Reverse Engineering Techniques Database  (0) 2009.03.29
모음 - 크랙 관련 사이트  (0) 2009.03.26

댓글