상태 레지스터 또는 플래그 레지스터는 마이크로프로세서에서 다양한 산술 연산 결과의 상태를 알려주는 플래그 비트들이 모인 레지스터이다.
주로, 조건문과 같은 실행 순서의 분기에 사용된다.
상태 레지스터 플래그
상태 레지스터에는 다음과 같은 플래그들이 있다.
플래그 기호 | 이름 | 의미 |
---|---|---|
Z | 제로 플래그 | 연산 결과가 0일 경우에 참이 된다. |
C | 캐리 플래그 | 부호 없는 숫자의 연산 결과가 비트 범위를 넘어섰을 때 참이 된다. |
A | 보조 캐리 플래그 | 연산 결과 하위 니블(4bits)에서 비트 범위를 넘어섰을 때 참이 된다. 이진화 십진법(BCD) 연산에 사용된다. |
V / O / W | 오버플로 플래그 | 부호 있는 숫자의 연산 결과가 비트 범위를 넘어섰을 때 참이 된다. |
N / S | 네거티브 플래그, 사인 플래그 | 연산 결과가 음수일 때 참이 된다. |
I / E | 인터럽트 플래그 | 이 플래그가 참일 경우에만 인터럽트 요구를 받아들인다. 일반적으로 관리자 모드에서만 값을 변경 할 수 있다. |
P | 패리티 플래그 | 연산 결과에서 1로된 비트의 수가 짝수일 경우 참이 된다. |
D | 디렉션 플래그 | 문자열 조작에서 참일 경우 주소 레지스터 값이 자동으로 감소하고, 거짓일 경우 자동으로 증가한다. |
D / T | 디버그 플래그, 트랩 플래그 | 참일 경우 한 명령이 실행할 때마다 인터럽트가 발생한다. 디버깅에 사용된다. |
https://ko.wikipedia.org/wiki/%EC%83%81%ED%83%9C_%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0
반응형
'프로그래밍(Programming) > 어셈블리어(asm)' 카테고리의 다른 글
어셈블리어단에서의 스텍프레임과 함수 호출 call, ret, ebp, esp, eip (0) | 2017.02.26 |
---|---|
loop 명령어 조건 정리 ECX (0) | 2017.02.25 |
_asm {점프 할때의 플래그들 정리} (0) | 2017.02.21 |
cmp 에 의한 점프 명령어와 플래그 jmp, je==jz, ja, jb, jna, jnb, jbe , 비트 플래그 (0) | 2017.02.21 |
[어셈블리어 기초] CMP JMP CALL RET NOP (1) | 2013.02.06 |