Direktivy assembleru ARM
Obecně platí, že assembler Microsoft ARM používá jazyk sestavení ARM, který je zdokumentovaný v referenční příručce kompilátoru ARM. Implementace některých direktiv sestavení microsoftu se však liší od direktiv sestavení ARM. Tento článek vysvětluje rozdíly.
Implementace direktiv SESTAVENÍ ARM od Microsoftu
AREA
Assembler Microsoft ARM podporuje tyto
AREA
atributy:ALIGN
,CODE
,CODEALIGN
,DATA
,NOINIT
, ,READONLY
, ,READWRITE
, ,THUMB
.ARM
.Vše kromě
THUMB
aARM
práce popsané v referenční příručce kompilátoru ARM.V assembleru Microsoft ARM označuje,
THUMB
žeCODE
oddíl obsahuje kryptografický kód a je výchozím nastavením proCODE
oddíly.ARM
označuje, že oddíl obsahuje kód ARM.ATTR
Nepodporováno
CODE16
Nepodporuje se, protože to znamená syntaxi palec před uživatelským rozhraním, kterou microsoft ARM assembler nepovoluje. Místo toho použijte direktivu
THUMB
spolu se syntaxí protokolování přístupu uživatele.COMMON
Specifikace zarovnání pro společnou oblast není podporovaná.
DCDO
Nepodporováno
DN
, ,QN
SN
Specifikace typu nebo pruhu v aliasu registru není podporovaná.
ENTRY
Nepodporováno
EQU
Specifikace typu pro definovaný symbol není podporovaná.
EXPORT
aGLOBAL
Určuje exporty pomocí této syntaxe:
EXPORT
|GLOBAL
symbol
{[type]
}symbol
je symbol, který se má exportovat.[type]
, pokud je zadán, může být buď[DATA]
označit, že symbol odkazuje na data, nebo[FUNC]
indikovat, že symbol odkazuje na kód.GLOBAL
je synonymem proEXPORT
.EXPORTAS
Nepodporováno
FRAME
Nepodporováno
FUNCTION
aPROC
Syntaxe sestavení umožňuje určit vlastní konvenci volání procedur: zobrazíte seznam registrů, které jsou uloženy volajícím, a těch, které jsou volané-save. Zatímco assembler Microsoft ARM přijímá syntaxi, ignoruje seznamy registrů. Informace o ladění vytvořené assemblerem podporují pouze výchozí konvenci volání.
IMPORT
aEXTERN
Určuje importy pomocí této syntaxe:
IMPORT
|EXTERN
symbol
{ {, TYPE
, WEAK
alias
t
}}symbol
je název symbolu, který se má importovat.Pokud
WEAK
alias
je zadáno, znamená to, žesymbol
je slabý externí. Pokud definice pro ni není v době propojení nalezena, všechny odkazy na ni jsou vázány místoalias
.Pokud
TYPE
t
je zadán, pakt
určuje, jak se má linker pokusit vyřešitsymbol
. Tyto hodnotyt
jsou možné:Hodnota Description 1 Nevyhledejte knihovny pro symbol
.2 Prohledat symbol
knihovny .3 symbol
je alias proalias
(výchozí).EXTERN
je synonymum proIMPORT
, s výjimkou toho, že je importován pouze v případě, žesymbol
jsou odkazy na něj v aktuálním sestavení.MACRO
Použití proměnné k uložení kódu podmínky makra se nepodporuje. Výchozí hodnoty parametrů makra nejsou podporovány.
NOFP
Nepodporováno
OPT
, ,TTL
SUBT
Nepodporuje se, protože assembler Microsoft ARM nevytáčí výpisy.
PRESERVE8
Nepodporováno
RELOC
RELOC n
může dodržovat pouze instrukce nebo direktivu definice dat. Neexistuje žádný anonymní symbol, který by se mohl přemístit.REQUIRE
Nepodporováno
REQUIRE8
Nepodporováno
THUMBX
Nepodporuje se, protože assembler Microsoft ARM nepodporuje instrukční sadu Thumb-2EE.
Viz také
Referenční dokumentace pro použití nástroje assembleru ARM v příkazovém řádku
Diagnostické zprávy assembleru ARM