제로 플래그

Zero flag

제로 플래그는 대부분의 기존 CPU 아키텍처(x86, ARM, PDP-11, 68000, 6502 및 기타 포함)의 핵심 기능인 단일 비트 플래그다.일반적으로 상태 레지스터 또는 플래그 레지스터라고 불리는 전용 레지스터에 다른 플래그와 함께 저장되는 경우가 많다.0 플래그는 대부분의 문서 및 어셈블리 언어에서 일반적으로 Z 또는 ZF 또는 이와 유사하게 축약된다.

제로 플래그는 운반 플래그, 사인 플래그, 오버플로 플래그와 함께 비트 와이즈 논리적인 지시를 포함하여 산술 연산 결과를 확인하는 데 사용된다.산술 결과가 0이면 1 또는 true로 설정되고 그렇지 않으면 재설정된다.여기에는 저장되지 않은 결과가 포함되며, 대부분의 기존 명령 집합은 결과가 폐기되는 경우 비교 명령을 빼기 위해 실행하기 때문이다.프로세서가 결과를 저장하지 않는 비트의 AND-인스트레이션을 갖는 것도 일반적이다.

2개의 완료 이진 피연산자에 대한 0 플래그의 논리 공식은 NOT(OR(해당 피연산자의 모든 비트))이다.

대부분의 프로세서에서 제로 플래그는 주로 조건부 분기 명령어에 사용되며, 이는 이전 명령 결과에 대한 제어 흐름을 변경하지만, 다른 사용도 종종 있다.

MIPS 아키텍처와 같은 일부 명령 집합에서는 전용 플래그 레지스터가 사용되지 않으며, 대신 점프 명령이 레지스터에서 0을 검사한다.