728x90
반응형
레지스터 구조
main에 breakpoint 걸고 run으로 실행한 후 레지스터 정보를 gdb 로 열었습니다.
레지스터 구조
4개의 범용 레지스터 ( 사진엔 rax,rbx,rcx,rdx 로 되어 있다. 이는 메모리 효율을 위해 절반의 비트만을 사용한 것이다.)
EAX - accumulator
EBX - base
ECX- counter
EDX - data
->주로 CPU가 기계어를 실행할 때 임시변수로 사용되는 레지스터
4개의 범용 레지스터
ESP - Stack Pointer (32,64비트 저장)
EBP - Base Pointer
ESI - Source Index (인덱스도 엄밀히 말해선 포인터)
EDI - Destination Index (각각의 위치를 가리킨다)
->프로그램을 실행하고 메모리를 관리
EIP 레지스터(Instruction Pointer)
-> 프로세서가 읽고 있는 현재 명령의 위치를 가리키는 명령어 포인터 레지스터
EFLAGS 레지스터
-> 비교와 메모리 분할, 몇비트의 플래그로 이루어짐
-> 메모리 세그먼트 관리
-> 대부분 메모리 직접 접근 X
728x90
반응형