2.5. 레지스터에 상수 로드

메모리에서 데이터를 로드하지 않으면 단일 ARM 명령어로 임의의 32비트 즉치 상수를 레지스터에 로드할 수 없습니다. 이것은 ARM 및 Thumb-2 명령어의 길이가 32비트이기 때문입니다.

데이터 로드를 통해 32비트 값을 레지스터로 로드할 수 있지만 보다 직접적이고 효율적인 방법으로 공통적으로 사용되는 많은 상수를 로드할 수 있습니다.

별도의 로드 연산 없이 공통적으로 사용되는 많은 상수를 데이터 처리 명령어 내에 피연산자로 직접 포함할 수 있습니다. 16비트 Thumb 명령어에 피연산자로 포함할 수 있는 상수의 범위는 훨씬 더 좁습니다.

ARMv6T2 이상에서는 두 개의 명령어 MOVMOVT를 차례로 사용하여 32비트 값을 레지스터에 로드할 수 있습니다. MOV32 의사 명령어를 사용하여 명령어 시퀀스를 생성할 수 있습니다.

다음 단원에서는 다음 내용에 대해 설명합니다.

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