Basic program execution register가 가장 중요Control registers, Memory management registers, Debug registers 등에 대해 추가 공부 필요
Basic program execution registers는 다시 4개의 그룹으로 나뉨💬 참고
- EAX: (0~31) 32비트
- AX: (0~15) EAX의 하위 16비트
- AH: (8~15) AX의 하위 8비트
- AL: (0~7) AX의 하위 8비트

각 레지스터의 이름1 (상수/변수 값 저장 용도)
EAX: Accumulation for operands and results data (함수 리턴 값 저장)EBX: Pointer to data in the DS segmentECX: Counter for string and loop operations (루프 돌 때마다 1씩 감소)EDX: I/O pointer각 레지스터의 이름2(메모리 주소 저장 용도)
EBP: Pointer to data on the stack (in the SS segment) -> 함수 호출 시 그 순간의 ESP 저장 후 함수 리턴 시 다시 ESP에 값 전달ESI: source pointerfor string operationsEDI: destination pointer for string operationsESP: Stack pointer (in the SS segment)Segment Descriptor Table(SDT)의 index 저장CS: Code SegmentSS: Stack SemgentDS: Data SegmentES: Extra(Data) SegmentFS: Data SegmentGS: Data SegmentEFLAGS(32비트, 4바이트 크기)
Zero Flag(ZF)Overflow Flag(OF)Carry Flag(CF)EIP: Instruction pointer