IA-32 레지스터
범용레지스터(32bit*8) : EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP
- EAX~EDX는 모두 정수연산, 부울연산, 논리연산, 메모리연산의 저장 용도로 많이 사용되는데, EAX는 추가로 함수의 리턴값에도 사용되며, ECX는 반복문에서 반복카운트로 사용된다.
- ESI, EDI는 LODS, STOS, REP, MOVS 등과 함께 메모리 복사에 사용된다.
- EBP, ESP는 스택프레임 범위를 참고하는데 사용되기 때문에 함부로 사용하면 안된다.
프로그램 상태 레지스터(32bit) : EFLAGS
- 프로그램 명령을 계속 수행하다가 플래그에 영향을 주는 명령이 실행된 경우 플래그의 상태값이 변경된다.
- Jcc처럼 조건에 따라 다른 명령을 수행하도록 하는 명령어에서 조건을 담당한다.
세그먼트 레지스터(16bit*6): CS, DS, SS, ES, FS, GS
명령 포인터 레지스터(32bit) : EIP
'리버싱' 카테고리의 다른 글
디버깅 기본 명령어, 사용법 모음 (x86) (0) | 2020.12.06 |
---|---|
메인함수 찾기 (0) | 2020.07.12 |
리버싱 돋보기 1 : 하이레벨 관점과 로우레벨 관점의 차이 (0) | 2019.10.30 |