CLI 어셈블리 명령은 모두 Clear Interupt 라고 불리며, CLI 가 작동한 후 모든 외부 인터럽트가 차단되어 현재 실행 중인 코드가 중단되지 않고 코드 실행을 보호하는 역할을 합니다.
STI 어셈블리 명령은 모두 Set Interupt 라고 불리며, STI 가 작동한 후 모든 외부 인터럽트가 복구되어 보호 코드의 작동을 깨고 하드웨어 인터럽트가 인터럽트의 역할을 처리할 수 있도록 합니다. 확장 데이터
CLI 및 STI 어셈블리 명령은 커널 모드에서만 실행할 수 있으며 사용자 모드에서는 실행할 수 없습니다. 또한 커널 모드에서 실행할 때는 가능한 한 빨리 인터럽트를 복구해야 합니다. CLI 는 하드웨어 인터럽트를 비활성화하므로 인터럽트를 장기간 금지하면 마우스 이동과 같은 다른 작업의 실행에 영향을 줄 경우 시스템이 불안정해질 수 있기 때문입니다.
둘째, 플래그 레지스터에서 플래그 클리닝을 중단할 경우 "int?" 를 사용할 수 있습니까? ×× "형식으로 소프트 인터럽트를 호출합니다. 시퀀서는 세그먼트 주소와 오프셋 주소를 변경할 수 있지만, 이 과정에서 세그먼트 레지스터 SS 와 SP 를 변경해야 하는 경우 인터럽트를 금지해야 하며, 변경이 완료되면 인터럽트를 복구할 수 있습니다 (CLI 명령 뒤에 쌍을 이루는 STI 명령이 있어야 합니다. 그렇지 않으면 컴퓨터가 충돌합니다).
바이두 백과-어셈블리 명령 (기타 명령)