1) General-Perpose Register
operand | ||
r8 | 8-bit general-purpose register | AH, AL, BH, BL, CH, CL, DH, DL |
r16 | 16-bit general-purpose register | AX, BX, CX, DX, SI, DI, SP, BP |
r32 | 32-bit general-purpose register | EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP |
reg | any general-purpose register |
1> EAX (Accumulator Register)
- 저장 : 상수/변수 값의 저장(연산 결과 저장)
- data 이동 및 일시적 저장
- 입출력 명령
2> EBX (Base rRegister)
- 주소의 간접 지정
- data 이동 및 일시적 저장
3> ECX (Counter Register)
- Counter : 반복문, 문자열 명령어, 비트 이동, 회전 명령 등에서 Counter(세고 있다.)
(REP(반복 레지스터)에 얼마나 반복할 것인지 ECX에 저장)
- data 이동 및 일시적 저장
4> EDX (Data Register)
- EAX(AX류) 보조 : EAX 혼자서 담을 수 없는 data를 저장
- 큰 data (ex> 곱셈)
- 나눗셈할 때 몫은 EAX, 나머지는 EDX에
- 입출력 주소 지정 (간접 번지 지정에 의한 입출력 명령을 실행)
- data 이동 및 일시적 저장
5> ESI (Source Index)
- 출발지 주소 저장 (복사나 비교를 할 때)
6> EDI (Destination Index)
- 목적지 주소 저장 (복사나 비교를 할 때)
7> ESP (Stack Pointer)
- Stack Pointer의 가장 최근에 저장된 공간의 주소를 저장 (Stack이 쌓일 때마다 ESP 값이 1 증가한다.)
(나의 stack은 지금 어디있는가?)
8> EBP (Base Pointer)
- Stack Pointer의 기준 주소(바닥 부분)을 저장
9> EIP (Instruction Pointer)
- 수행할 다음 명령어가 저장되어 있는 주소를 저장
10> EFLAGS
- 16bit인 flag register가 확장된 register
(아래 나올 register들이 flag register인 듯)(아래 flag register는 1 bit만 차지하는 듯)
11> Sign Flag (부호 플래그)
- 연산 결과 최상위 bit(부호 자리)가 1인 경우 1로 설정 (즉, 음수 일때, 1로 설정)
12> Overflow Flag
(signed arithmetic의 결과 범위를 초과하면)
- 연산의 결과가 용량 초과하였을 경우 1로 설정
13> Zero Flag
- 연산의 값이 0일 경우 1로 설정
14> Carry Flag
(unsigned arithmetic의 결과 범위를 초과하면)
- 덧셈과 뺄셈에서 각각 Carry(자리 올림)과 Borrow(부호 비트 앞 비트에 변경이 생김)이 발생할 때 1로 설정
15> Auxiliary Carry Flag
- carry from bit 3 to bit 4 (3번째에서 4번째 bit로 가는 carry over가 발생했을 때)
16> Parity Flag
- sum of 1 bits is an even number (결과의 1의 개수가 짝수 일 때)
'Assembly' 카테고리의 다른 글
4-1강 - Data Transfer, Addressing and Arithmetic 1 (Data Transfer Instruction) (0) | 2020.05.04 |
---|---|
3-2강 - 어셈블리어 기본 2 (Assembly Language Fundamentals 2) - (0) | 2020.04.30 |
3-1강 - 어셈블리어 기본 1 (Assembly Language Fundamentals 1) - 기본 구성 요소 (0) | 2020.04.29 |
2강 - X86 Proceesor Architecture (0) | 2020.04.28 |
1강 - 기본 개념 (Basic Concept) (0) | 2020.04.27 |