티스토리 뷰
1. 레지스터란 ?
=> 프로세서 안에 존재하는 저장 장치
-메모리나 보조 기억 장치보다 빠르게 동작
1) x86 아키텍처의 레지스터
(1) 범용 레지스터
-EAX ( Accumulator register, 산술 레지스터 ) :연산 결과 저장
-ECA ( Counter register, 카운터 레지스터 ) : 루프 숫자 등의 카운트 저장
-EDX ( Data register, 데이터 레지스터 ) : 연산에 사용하는 데이터 저장
-EBX ( Base register ,베이스 레지스터 ) : 주소의 기본 값 저장
-ESI ( Source Index register ,출발지 인덱스 레지스터 ) : 일부 데이터 전송 명령에서 출발지 저장
-EDI ( Destination Index register, 목적지 인덱스 레지스터 ) : 일부 데이터 전송 명령에서 목적지 저장
(2) 특수 레지스터★
-EBP ( Base Pointer register ,베이스 포인터 레지스터 ) : 현재 스택 프레임의 기준 주소를 저장
-ESP ( Stack Pointer register ,스택 포인터 레지스터 ) : 현재 스택의 최상단 주소 저장
-EIP ( Instruction Pinter register ,명령 포인터 레지스터 ) : 다음에 실행할 어셈블리 명령 주소 저장
< x86 범용 레지스터 >
-범용 레지스터 중 EAX,ECX,EDX,EBX 레지스터의 하위 16비트는 각각 AX,CX,DX,BX 레지스터라고 한다.
그 안에서도 상위 8비트는 AH,CH,DH,BH 레지스터, 하위 8비트는 AL,CL,DL,BL 레지스터라고 한다.
-ESI,EDI 레지스터의 하위 16비트는 각각 SI,DI 레지스터라고 한다.
(3) 플래그 레지스터
-CF ( Carry Flag ,캐리 플래그 ) : 연산 명령으로 Carry(자리 올림) 또는 Boroow(부호 비트 앞 비트에 변경이 생김) 가 발생할때 설정(1) 된다.
-ZF ( Zero Flag ,제로 플래그 ) : 연산 결과가 0이 되는 경우 설정(1) 된다. 아닐 때는 해제(0)
-SF ( Sign Flag ,부호 플래그 ) : 연산 결과가 음수가 될 때 설정(1) 된다. 양수일 경우 해제(0)
-DF ( Direction Flag ,방향 플래그 ) : 문자열 처리를 할 때 연속되는 문자열 처리 방향에 따라 설정(1) 된다.
-OF ( Overflow Flag ,오버플로우 플래그 ) : 부호 있는 연산 결과가 레지스터에 저장 가능한 용량보다 큰 경우 설정(1) 된다.
(4) 세그먼트 레지스터
=> 세그먼트 주소를 참조하는 데 사용하는 레지스터
# 세그먼트 : 메모리를 관리하기 위해 저장 데이터의 종류에 따라 영역을 구분하는 것
-CS ( Code Segment register ,코드 세그먼트 레지스터 ) : 코드 세그먼트 주소 저장
-DS ( Data Segment register ,데이터 세그먼트 레지스터 ) : 데이터 세그먼트 주소 저장
-SS ( Stack Segment register ,스택 세그먼트 레지스터 ) : 스택 세그먼틑 주소 저장
-ES ( Extra Segment register ,보조 세그먼트 레지스터 ) : 보조 세그먼트 주소 저장
2) x86-64 아키텍처의 레지스터
=> x86 아키텍처의 레지스터를 확장해서 레지스터 폭이 64비트
< x86-64 범용 레지스터 >
'Programming > ASM' 카테고리의 다른 글
기본적인 어셈블리 명령 (0) | 2016.11.13 |
---|
- Total
- Today
- Yesterday
- BOF
- Python
- 1번
- lord of sqlinjection
- 자바
- 설치
- 0xdeadbeef
- attackme
- java
- 우분투
- Los
- 파이썬
- wargame.kr
- wargame
- my-pass
- Lord of SQL Injection
- C
- webhacking.kr
- 워게임
- MySQL
- WebHacking
- lob
- ubuntu
- pwnable
- cobolt
- 명령어
- 웹해킹
- c언어
- pwnable.kr
- ftz
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |