플래그 레지스터란?
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(참고한것들및 서적들)
'PC리버싱 > (구)기초정리 by ME' 카테고리의 다른 글
어셈블리어 명령어들 정리 (0) | 2020.04.01 |
---|---|
어셈블리어의 기초 (0) | 2020.04.01 |
세그먼트레지스터 (0) | 2020.04.01 |
범용레지스터 추가설명 (0) | 2020.04.01 |
리버스 엔지니어링,리버싱 정리2 (0) | 2020.04.01 |