x86-64 : 레지스터

Fransis__·2023년 2월 20일
0

pwn

목록 보기
1/5
1. 범용 레지스터

각각 64비트

rax - (accumulator) 함수의 반환 값

하위 : eax (rax 하위 32비트) - ax - ah - al

rbx - (base) 주 용도 x

rcx - (counter) 반복문 반복 횟수 등 각종 횟수

rdx - (data) 주 용도 x

rsi - (source index) 데이터 이동 시 원본을 가리키는 포인터

rdi - (destination index) 데이터 이동 시 목적지를 가리키는 포인터

rsp - (stack pointer) 사용중인 스택의 위치를 가리키는 포인터

rbp - (stack base pointer) 스택 바닥을 가리키는 포인터

2. 세그먼트 레지스터

cs, ss, ds, es, fs, gs (각 16비트)

3. 명령어 포인터 레지스터

CPU가 어느 부분의 코드를 실행할지 가리키는 것

x86-64 -> rip / 8bytes

4. 플래그 레지스터

프로세스의 현재 상태 저장

CF (carry flag) - 절댓값 연산 결과가 비트 범위 초과 시

ZF (zero flag) - 연산 결과가 0일때

SF (sign flag) - 연산 결과가 음수일때

OF (overflow flag) - 부호 있는 수 연산 결과 비트 범위 초과 시

profile
_DM_S_1W_ | KH2P

0개의 댓글