Sdílet prostřednictvím


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 a ARM práce popsané v referenční příručce kompilátoru ARM.

    V assembleru Microsoft ARM označuje, THUMB že CODE oddíl obsahuje kryptografický kód a je výchozím nastavením pro CODE 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, , QNSN

    Specifikace typu nebo pruhu v aliasu registru není podporovaná.

  • ENTRY

    Nepodporováno

  • EQU

    Specifikace typu pro definovaný symbol není podporovaná.

  • EXPORT a GLOBAL

    Určuje exporty pomocí této syntaxe:

    EXPORT|GLOBALsymbol{[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 pro EXPORT.

  • EXPORTAS

    Nepodporováno

  • FRAME

    Nepodporováno

  • FUNCTION a PROC

    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 a EXTERN

    Určuje importy pomocí této syntaxe:

    IMPORT|EXTERNsymbol{ {, TYPE, WEAK aliast}}

    symbol je název symbolu, který se má importovat.

    Pokud WEAK alias je zadáno, znamená to, že symbol je slabý externí. Pokud definice pro ni není v době propojení nalezena, všechny odkazy na ni jsou vázány místo alias.

    Pokud TYPE t je zadán, pak t určuje, jak se má linker pokusit vyřešit symbol. Tyto hodnoty t jsou možné:

    Hodnota Description
    1 Nevyhledejte knihovny pro symbol.
    2 Prohledat symbolknihovny .
    3 symbol je alias pro alias (výchozí).

    EXTERN je synonymum pro IMPORT, s výjimkou toho, že je importován pouze v případě, že symbol 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, , TTLSUBT

    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