Flag

Posted by Hide­
2014.05.04 18:04 Security/System

1. 캐리플래그(CF)

: 부호없는 수의 산술연산결과가 목적지 오퍼랜드에 저장할 수 없을만큼 큰수를 생성하였는지를 나타낸다.

  부호없는 수의 덧셈에서 최상위 비트로부터 자리올림이 있거나 뺄셈에서 최상위 비트로 자리빌림이 있으면

  CF는 1이 되고 아니면 0이 된다.

 

2. 제호플래그(ZF)

: 연산결과가 0이면 1이 되고 연산결과가 0이 아니면 0이 된다.

 

3. 부호플래그(SF)

: 부호있는 수의 연산결과가 0이거나 양수이면 0이 되고 음수이면 1이 된다.

 

4. 오버플로그 플래그(OF)

: 부호있는 수의 연산결과가 정상적인 표현범위를 벗어났는지를 나타내기 위해 사용된다. 8비트인 경우

  -128 ~ 127, 16비트인 경우 -32768 ~ 32767 을 벗어나면 OF는 1이 되고 아니면 0이 된다.

 

- MOV나 XCHG 명령어와 같은 데이터 전송명령어는 데이터 전송에 의해 레지스터나 메모리변수의 내용은

  바뀌지만 상태플래그는 바뀌지 않는다.

 

- 부호없는 수의 연산에서 오버플로우 발생은 CF가 1인지를 확인한다.

- 부호있는 수의 연산에서 오버플로우 발생은 OF가 1인지를 확인한다.



다른 사람들이 많이 읽은 글

'Security > System' 카테고리의 다른 글

Stack, Prologue, Leave, Ret  (0) 2014.05.13
각 영역별 정리  (0) 2014.05.05
Flag  (0) 2014.05.04
BOF 기초  (2) 2014.04.12
솔라리스10 텔넷취약점  (0) 2009.03.16
Format string bug - 기법만 간략하게정리  (0) 2007.03.13
이 댓글을 비밀 댓글로

티스토리 툴바