'Intel'에 해당되는 글 1건

  1. 2009.03.20 Intel CPU registers

Intel CPU registers

Programming 2009. 3. 20. 20:10
CPU에서 어떤 명령이 실행되기 위해서는 메모리에 있는 내용이 CPU로 전달되어야 하는데, CPU와 메모리 사이에 데이터가 매번 전송되는 것이 성능상에 문제가 될 수 있기 때문에 CPU 내에 여러 개의 임시 저장소를 가지고 있는데 이를 레지스터(Register)라고 합니다. CPU가 발전함에 따라 레지스터의 크기가 변하기도 하고, 새로운 기능이 추가되면서 레지스터가 추가되기도 합니다. 여기서는 Intel 80386 CPU를 기준으로 가장 일반적으로 사용되는 레지스터들을 나열해 보았습니다.

 

각 레지스터에 대한 보다 자세한 내용은 Intel CPU manual(http://www.intel.com/products/processor/manuals/)을 참고하시기 바랍니다.

 

일반목적의 레지스터

l  EAX : Accumulator (함수의 return value로 사용)

l  EBX : Points to data in DS

l  ECX : Counting

l  EDX : I/O pointer

l  ESI : Source ptr for strings

l  EDI : Destination ptr fro strings

 

특수한 목적의 레지스터

l  ESP : Stack pointer (현재 thread stacktop 위치를 가리키는 pointer)

l  EBP : Points to data on stack (stack frame을 구성하는데 사용)

l  EIP : Instruction pointer(다음에 CPU에서 실행되어야 할 instruction을 가리킴)

 

EFLAGS 레지스터

l  Status Flags

n  CF : Carry Flag

n  PF : Parity Flags

n  AF : Auxiliary Carry Flag

n  ZF : Zero Flag

n  SF : Sign Flag

n  OF : Overflow Flag

l  Control Flag

n  DF : direction Flag

l  System Flags

n  IF : Interrupt Enable Flag

n  TF : Trap Flag

n  IOPL : I/O Privilege Level

n  NT : Nested Task Flag

n  RF : Resume Flag

n  VM : Virtual 8086 mode

n  AC : Alignment Check (486 only)

 

Segment 레지스터

l  CS : Code segment

l  DS : Data segment

l  SS : Stack segment

l  ES : Extra data segment

l  FS : Extra data segment introduced with 386

l  GS : Extra data segmet introduced with 386

'Programming' 카테고리의 다른 글

Thread States  (0) 2009.03.27
Windbg Stack Backtracing 명령어  (0) 2009.03.27
Windbg Remote debugging 설정 방법  (0) 2009.03.20
Windows Error Reporting(WER)이란  (0) 2009.02.25
강제로 덤프파일 수집하기  (0) 2009.02.19
Posted by noenemy
,