레지스터

https://learn.dreamhack.io/43#6

범용 레지스터

레지스터 이름의미주용도
raxAccumulator Register함수의 반환 값
rbxBase Registerx64에서는 주된 용도 없음
rcxCounter Register반복문의 반복 횟수, 각종 연산의 시행 횟수
rdxData Registerx64에서는 주된 용도 없음
rsiSource Index데이터를 옮길 때 원본을 가리키는 포인터
rdiDestination Index데이터를 옮길 때 목적지를 가리키는 포인터
rspStack Pointer사용 중인 스택의 위치를 가리키는 포인터
rbpStack Base Pointer스택의 바닥을 가리키는 포인터


세그먼트 레지스터

이름주용도
CS (Code Segment)실행할 코드의 시작 주소
DS (Data Segment)프로그램에 지정된 데이터 영역의 시작 주소
SS (Stack Segment)스택 영역의 시작 주소
ES, FS, GS범용적인 용도로 사용


명령어 포인터 레지스터

이름크기
rip8 bytes


플래그 레지스터

플래그의미
CF (Carry Flag)부호 없는 수의 연산 결과가 비트의 범위를 넘을 경우 설정된다.
ZF (Zero Flag)연산의 결과가 0일 경우 설정된다.
SF (Sign Flag)연산의 결과가 음수일 경우 설정된다.
OF (Overflow Flag)부호 있는 수의 연산 결과가 비트 범위를 넘을 경우 설정된다.

Published by