PC리버싱/(구)기초정리 by ME

플래그 레지스터

Lamed_Dhhd 2020. 4. 1. 11:35
반응형

플래그 레지스터란?

1플래그 레지스터의 이름은 EFLAGS 이며 32 bit(4byte) 크기 입니다

2각레지스터 비트가 0과1 참또는거짓 on/off값을가진다

일부bit은 시스템설정

일부는 명령등 어셈블리어 실행때 설정된다

플래그 설명 1일때 0일때
OF(overflow) 자리넘침 OV(overflow) NV(not overflow)
DF(direction) 방향 DN(down) UP(up)
IF(interrupt) 가로채기 EI(enable) DI(disable)
SF(sign) 부호 NG(negative) PL(plus)
ZF(zero) 영(0) ZR(zero) NZ(not zero)
AF(aux,carry) 하위 4bit의 캐리 AC(aux, carry) NA(not aux)
PF(parity) 패리티 PE(parity even) PO(parity odd)
CF(carry) 자리올림 CY(carry) NC(not carry)

OF(overflow)는 산술 연산 후 상위(가장 왼쪽) 비트의 오버플로를 나타낸다.]

 

DF(direction)는 스트링(문자) 데이터를 이동시키거나 비교할 때 왼쪽 또는 오른쪽의 방향을 결정한다.

 

IF(interrupt)는 키보드 입력과 같은 외부 인터럽트가 처리되어야 하는지 또는 무시되어야 하는지를 나타낸다.

 

TF(trap)는 단일 단계 모드(single-step mode)의 프로세서 연산을 허용한다. DEBUG와 같은 디버거 프로그램은 TF 플래그를 설정해서, 한번에 하나씩 명령어를 실행시키고, 레지스터와 메모리 상에서 그영향을 조사할 수 있게 한다.

 

SF(sign)는 산술 연산의 결과 값에 대한 부호를 포함한다.(0 = 양수, 1 = 음수)

 

ZF(zero)는 산술이나 비교 연산의 결과를 나타낸다.(0 = 결과값이 0이 아님, 1 = 결과 값이 0)

 

AF(auxiliary carry)는 특수화된 산술에서 사용되며, 그 산술 연산에서 비트 3에서 비트 4로의 캐리를 포함한다.

 

PF(parity)는 연산 결과 1비트들의 개수를 나타낸다. 그 개수가 짝수인 경우 짝수 패리티(even parity)라 부르며, 홀수인 경우 홀수 패리티(odd parity)라 한다.

 

CF(carry)는 산술 연산 후 상위(가장 왼쪽) 비트의 캐리를 포함한다. 또한 비트 자리이동(shift) 또는 비트 회전(rotate)연산 후 가장 마지막의 비트 내용을 포함한다.

 

다음은 플래그 레지스터를 그림으로 나타낸 것이다.

 

 

REF(참고한것들및 서적들)

https://m.blog.naver.com/PostView.nhn?blogId=source_jy&logNo=50085127490&proxyReferer=https%3A%2F%2Fwww.google.com%2F

https://karfn84.tistory.com/entry/%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0%EC%9D%98-%EA%B8%B0%EB%8A%A5

반응형

'PC리버싱 > (구)기초정리 by ME' 카테고리의 다른 글

어셈블리어 명령어들 정리  (0) 2020.04.01
어셈블리어의 기초  (0) 2020.04.01
세그먼트레지스터  (0) 2020.04.01
범용레지스터 추가설명  (0) 2020.04.01
리버스 엔지니어링,리버싱 정리2  (0) 2020.04.01