3.4. 기본 제공 변수 및 상수

Table 3.2에서는 ARM 어셈블러에서 정의한 기본 제공 변수를 보여 줍니다.

Table 3.2. 기본 제공 변수

{ARCHITECTURE}

선택된 ARM 아키텍처 이름을 저장합니다.

{AREANAME}현재 AREA 이름을 저장합니다.
{ARMASM_VERSION}armasm 버전과 함께 증가하는 정수를 저장합니다.
|ads$version|{ARMASM_VERSION} 값과 동일합니다.

{CODESIZE}

{CONFIG}의 동의어입니다.

{COMMANDLINE}명령 행의 내용을 저장합니다.

{CONFIG}

어셈블러에서 ARM 코드를 어셈블하면 32 값을 갖고, Thumb 코드를 어셈블하면 16 값을 갖습니다.

{CPU}

선택된 cpu 이름을 저장합니다. 기본값은 “ARM7TDMI”입니다. 명령 행 --cpu 옵션에 아키텍처가 지정되면 {CPU}는 "Generic ARM" 값을 저장합니다.

{ENDIAN}

어셈블러가 빅엔디안 모드에 있으면 “big” 값을 갖고, 리틀엔디안 모드에 있으면 “little” 값을 갖습니다.

{FPIC}/fpic가 설정되면 bool 값 True를 갖습니다. 기본값은 False입니다.
{FPU}선택된 fpu 이름을 저장합니다. 기본값은 “SoftVFP”입니다.
{INPUTFILE}현재 소스 파일의 이름을 저장합니다.
{INTER}/inter가 설정되면 bool 값 True를 갖습니다. 기본값은 False입니다.
{LINENUM}현재 소스 파일의 행 번호를 나타내는 정수를 저장합니다.

{OPT}

현재 설정된 목록 옵션의 값입니다. OPT 지시어를 사용하여 현재 목록 옵션을 저장하거나 옵션 내 변경을 지시하거나 원래 값을 복원할 수 있습니다.

{PC} 또는 .

현재 명령어의 주소입니다.

{PCSTOREOFFSET}

STR pc,[...] 또는 STM Rb,{..., pc} 명령어의 주소와 저장된 pc 값 간의 오프셋입니다. 이 값은 지정된 CPU나 아키텍처에 따라 달라집니다.

{ROPI}/ropi가 설정되면 bool 값 True를 갖습니다. 기본값은 False입니다.
{RWPI}/rwpi가 설정되면 bool 값 True를 갖습니다. 기본값은 False입니다.

{VAR} 또는 @

저장 영역 위치 카운터의 현재 값입니다.


기본 제공 변수는 SETA, SETL 또는 SETS 지시어를 사용하여 설정할 수 없습니다. 기본 제공 변수는 다음과 같은 식 또는 조건에서 사용할 수 있습니다.

        IF {ARCHITECTURE} = "4T"

기본 제공 변수 |ads$version|은 모두 소문자여야 합니다. 기타 기본 제공 변수의 이름은 대문자나 소문자로만 작성하거나 대소문자를 함께 사용하여 작성할 수 있습니다. 예를 들어 다음과 같습니다.

        IF {CpU} = "Generic ARM"

Note

모든 기본 제공 문자열 변수에는 대소문자를 구분하는 값이 포함됩니다. {CPU}{ARCHITECTURE}에 사용할 수 있는 값을 확인하려면 CPU 이름을 참조하십시오. {FPU}에 사용할 수 있는 값을 확인하려면 FPU 이름을 참조하십시오. 이러한 기본 제공 변수에 대해 관계형 연산을 수행한 결과는 대소문자가 잘못된 문자열과 일치하지 않습니다.

Table 3.3에서는 ARM 어셈블러에서 정의한 기본 제공 bool 상수를 보여 줍니다.

Table 3.3. 기본 제공 bool 상수

{FALSE}

논리 상수 false입니다.

{TRUE}

논리 상수 true입니다.


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