상태 레지스터 란 무엇입니까?
플래그 레지스터, 프로그램 상태 단어 및 조건 코드 레지스터라고도하는 상태 레지스터는 프로세서 내부의 플래그 비트 집단으로 정의됩니다. 레지스터는 프로세서 회로이며 메모리 위치와 매우 유사합니다. 즉, 데이터를 작성하고 읽을 수 있습니다. 메모리 위치와 달리 마이크로 프로세서가 내부적으로 사용하기 때문에 상태 레지스터에는 주소가 없습니다. 8 비트 인 중앙 처리 장치 (CPU)에서, 상태 레지스터 비트는 숫자 1과 동일하거나 숫자 0과 동일하게 set 가 될 수 있으며, 분류 된 프로세서 작동 결과에 의해 숫자 0과 동일 할 수있다. 프로세서는 때때로 비트 자체를 설정하거나 지우지 만 다른 경우에는 특정 프로그램 명령어가 비트를 설정하거나 제거합니다.
상태 레지스터 비트는 플래그 또는 플래그 비트라고도하며 특정 프로그래밍 목적으로 프로그래머가 사용합니다. 상태 레지스터의 각 플래그에는 고유 한 목적이 있습니다. 이전 작업이 일곱 번째 비트를 만든 경우 캐리 플래그 세트대시; 또는 네거티브 플래그 - 오버플로 또는 캐리 플래그를 언더 플로우로 만들었습니다. 논리, 비교 및 산술의 변화 중에 설정됩니다. 가장 최근의 조작 결과가 0 인 경우 Zero 플래그 세트.
"인터럽트 비활성화"라는 플래그는 인터럽트 작동을 허용하거나 허용하지 않음으로써 작동하며, 이는 특정 작업을 일시적으로 중단하여 다른 작업을 수행 할 수있는 지침입니다. 이 특정 플래그가 설정되면 인터럽트가 작동하지 않지만 명확한 경우 인터럽트가 허용됩니다. The Decimal Flag라는 또 다른 플래그를 사용하면 프로세서가보다 고급 바이너리 모드를 따라 완벽한 산술 방정식을 수행 할 수 있습니다. 플래그가 설정되면이 고급 바이너리 모드를 사용합니다. 또 다른 레지스터 비트는 Break Flag 비트입니다. 힘 인터럽트 (BRK) 명령이 실행될 때 설정됩니다.
오버 플로우 플래그 세트는 조작이 INVA를 생산하는 경우 산술 작동 중에뚜껑 결과. 가장 최근의 조작 결과가 1로 설정된 경우 네거티브 플래그 세트. 비트 5라는 마지막 플래그는 이름이없고 항상 1로 설정되어 있습니다. 프로그래머는 본질적 으로이 특정 비트를 사용하지 않습니다.
Flags Register는 특정 중앙 프로세서 유닛에 사용되었으며 프로세서의 현재 상태를 포함하는 상태 레지스터의 한 예입니다. 폭은 16 비트였으며 각각 32 비트 레지스터 및 64 비트 레지스터 인 EFLAGS 및 RFLAGS에 의해 성공했습니다. 그러나 플래그 레지스터에는 Parity 플래그, 보조 플래그 및 트랩 플래그를 포함하여 원래 8 비트 레지스터와 다른 플래그가있었습니다.