2.2.3. ARM, Thumb 및 ThumbEE 상태

ARM 명령어를 실행하는 프로세서는 ARM 상태에서 작동하고 Thumb 명령어를 실행하는 프로세서는 Thumb 상태에서 작동합니다. ThumbEE 명령어를 실행하는 프로세서는 ThumbEE 상태에서 작동합니다. 프로세서는 Jazelle 상태라는 다른 상태에서도 작동할 수 있습니다.

특정 상태의 프로세서는 다른 명령어 세트의 명령어를 실행할 수 없습니다. 예를 들어 ARM 상태의 프로세서는 Thumb 명령어를 실행할 수 없고 Thumb 상태의 프로세서는 ARM 명령어를 실행할 수 없습니다. 따라서 프로세서에서 현재 상태와 맞지 않는 명령어 세트의 명령어를 수신하지 않도록 해야 합니다.

대부분의 ARM 프로세서는 항상 ARM 상태에서 코드 실행을 시작합니다. 그러나 일부 프로세서의 경우 Thumb 코드만 실행할 수 있거나 Thumb 상태에서 시작하도록 구성할 수 있습니다.

상태 변경

각 명령어 세트에는 프로세서 상태를 변경하는 명령어가 포함되어 있습니다.

ARM 상태와 Thumb 상태 간에 전환하려면 ARM 또는 THUMB 지시어를 통해 올바른 op 코드를 생성하도록 어셈블러 모드를 전환해야 합니다. Thumb-2EE 코드를 생성하려면 THUMBX를 사용합니다. CODE32CODE16을 사용하는 어셈블러 코드는 어셈블러에서 계속 어셈블할 수 있지만 새 코드에 대해서는 ARMTHUMB을 사용하는 것이 좋습니다.

자세한 내용은 명령어 세트 및 구문 선택 지시어를 참조하십시오.

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