2.4. 조건부 실행

ARM 상태 및 Thumb-2가 포함된 프로세서의 Thumb 상태에서는 대부분의 데이터 처리 명령어에 연산 결과에 따라 APSR (응용 프로그램 상태 레지스터) 의 ALU 상태 플래그를 업데이트하는 옵션이 있습니다. 일부 명령어는 모든 플래그를 업데이트하고 일부 명령어는 하위 세트만 업데이트합니다. 플래그가 업데이트되지 않으면 원래 값이 저장됩니다. 각 명령어의 설명 부분에는 해당 명령어가 플래그에 주는 영향이 자세히 나와 있습니다. 실행되지 않는 조건부 명령어는 플래그에 영향을 주지 않습니다.

Thumb-2 이전 프로세서의 Thumb 상태에서는 대부분의 데이터 처리 명령어가 ALU 상태 플래그를 자동으로 업데이트합니다. 플래그를 변경 및 업데이트하지 않는 옵션은 없습니다. 이외의 명령어는 플래그를 업데이트할 수 없습니다.

ARM 상태 및 Thumb-2가 포함된 프로세서의 Thumb 상태에서는 다음과 같이 다른 명령어에 설정된 ALU 상태 플래그에 따라 조건부로 명령어를 실행할 수 있습니다.

거의 모든 ARM 명령어는 APSR의 ALU 상태 플래그의 상태에 대해 조건부로 실행될 수 있습니다. 명령어를 조건부 명령어로 만들기 위해 명령어에 추가하는 접미사 목록은 Table 2.2를 참조하십시오.

Thumb 상태에서는 조건부 분기를 통해 조건부 실행을 위한 메커니즘이 제공됩니다.

Thumb-2가 포함된 프로세서의 Thumb 상태에서는 특수 IT (If-Then) 명령어를 사용하여 명령어를 조건부 명령어로 만들 수도 있습니다. 또한 CBZ (0인 경우 조건부 분기) 및 CBNZ 명령어를 사용하여 레지스터의 값을 0과 비교하고 결과에 대해 분기할 수도 있습니다.

이 단원에서는 다음 내용을 설명합니다.

Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential