ARM 어셈블리 지시문
일반적으로 Microsoft ARM 어셈블러는 ARM 컴파일러 armasm 참조 가이드에 설명된 ARM 어셈블리 언어를 사용합니다. 그러나 일부 어셈블리 지시문의 Microsoft 구현은 ARM 어셈블리 지시문과 다릅니다. 이 문서에서는 차이점을 설명합니다.
ARM 어셈블리 지시문의 Microsoft 구현
AREA
Microsoft ARM 어셈블러는 다음
AREA
DATA
READONLY
ARM
CODE
THUMB
CODEALIGN
READWRITE
NOINIT
특성을ALIGN
지원합니다.THUMB
ARM 컴파일러 armasm 참조 가이드에 설명된 대로 제외 및ARM
작동합니다.Microsoft ARM 어셈블러
THUMB
에서 섹션에 Thumb 코드가CODE
포함되어 있으며 섹션의 기본값CODE
임을 나타냅니다.ARM
는 섹션에 ARM 코드가 포함되어 있음을 나타냅니다.ATTR
지원되지 않습니다.
CODE16
Microsoft ARM 어셈블러에서 허용하지 않는 UAL Thumb 이전 구문을 의미하므로 지원되지 않습니다.
THUMB
대신 UAL 구문과 함께 지시문을 사용합니다.COMMON
공통 영역에 대한 맞춤 사양은 지원되지 않습니다.
DCDO
지원되지 않습니다.
DN
, ,QN
SN
레지스터 별칭의 형식 또는 레인 사양은 지원되지 않습니다.
ENTRY
지원되지 않습니다.
EQU
정의된 기호의 형식 사양은 지원되지 않습니다.
EXPORT
및GLOBAL
다음 구문을 사용하여 내보내기를 지정합니다.
EXPORT
|GLOBAL
symbol
{[type]
}symbol
은 내보낼 기호입니다.[type]
지정된 경우 기호가 데이터를 가리키도록 나타내거나[FUNC]
기호가 코드를 가리키도록 나타낼 수 있습니다[DATA]
.GLOBAL
와EXPORT
는 동의어입니다.EXPORTAS
지원되지 않습니다.
FRAME
지원되지 않습니다.
FUNCTION
및PROC
어셈블리 구문을 사용하면 프로시저에 대한 사용자 지정 호출 규칙을 지정할 수 있습니다. 호출자 저장 레지스터와 callee-save인 레지스터를 나열합니다. 그러나 Microsoft ARM 어셈블러는 구문을 수락하지만 레지스터 목록은 무시합니다. 어셈블러에서 생성되는 디버그 정보는 기본 호출 규칙만 지원합니다.
IMPORT
및EXTERN
다음 구문을 사용하여 가져오기를 지정합니다.
IMPORT
|EXTERN
symbol
{, WEAK
alias
{, TYPE
t
}}symbol
는 가져올 기호의 이름입니다.지정된 경우
WEAK
alias
약한 외부임을symbol
나타냅니다. 링크 타임에 정의를 찾을 수 없는 경우 해당 정의에 대한 모든 참조가 대신 에 바인딩됩니다alias
.지정한
t
경우TYPE
t
링커에서 해결symbol
을 시도하는 방법을 나타냅니다. 이러한 값t
은 다음과 같습니다.값 Description 1 에 대한 라이브러리를 symbol
검색하지 마세요.2 에 대한 라이브러리를 symbol
검색합니다.3 symbol
는 (기본값)의alias
별칭입니다.EXTERN
는 현재 어셈블리에IMPORT
참조가symbol
있는 경우에만 가져오는 것을 제외하고 동의어입니다.MACRO
변수를 사용하여 매크로의 조건 코드를 보유하는 것은 지원되지 않습니다. 매크로 매개 변수의 기본값은 지원되지 않습니다.
NOFP
지원되지 않습니다.
OPT
, ,TTL
SUBT
Microsoft ARM 어셈블러는 목록을 생성하지 않으므로 지원되지 않습니다.
PRESERVE8
지원되지 않습니다.
RELOC
RELOC n
는 명령 또는 데이터 정의 지시문만 따를 수 있습니다. 재배치할 수 있는 "익명 기호"는 없습니다.REQUIRE
지원되지 않습니다.
REQUIRE8
지원되지 않습니다.
THUMBX
Microsoft ARM 어셈블러는 Thumb-2EE 명령 집합을 지원하지 않으므로 지원되지 않습니다.