Direktivy assembleru ARM

Obecně platí, že assembler Microsoft ARM používá jazyk sestavení ARM, který je zdokumentovaný v referenční příručce k kompilátoru ARM. Implementace některých direktiv sestavení od společnosti Microsoft 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 , CODEALIGNDATANOINITREADONLYREADWRITETHUMBARM .

    Všechny s THUMB výjimkou ARM a fungují, jak je zdokumentované v referenční příručce THUMB

    V assembleru Microsoft ARM označuje, že THUMB oddíl obsahuje kryptografický kód a je výchozí CODE hodnotou pro CODE oddíly. ARM označuje, že oddíl obsahuje kód ARM.

  • ATTR

    Nepodporováno

  • CODE16

    Nepodporuje se, protože implikuje syntaxi pre-UAL Thumb, kterou assembler Microsoft ARM neumožňuje. Místo toho THUMB použijte direktivu spolu se syntaxí UAL.

  • COMMON

    Specifikace zarovnání pro společnou oblast není podporována.

  • DCDO

    Nepodporováno

  • DN, QN, SN

    Specifikace typu nebo dráhy v aliasu registru se nepodporuje.

  • ENTRY

    Nepodporováno

  • EQU

    Specifikace typu definovaného symbolu není podporována.

  • 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ď k označení, že symbol odkazuje na data, nebo k označení, že [DATA][FUNC] 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í pro procedury: zobrazíte seznam registrů, které jsou volajícím uložením, a registrů, které jsou volané-uložení. Zatímco však 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{, WEAKalias{, TYPEt}}

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

    Pokud WEAKalias je zadaný parametr , znamená to, symbol že je slabý externí. Pokud se definice pro něj v době propojení nenašla, všechny odkazy na něj místo toho vytvoří vazbu na alias .

    Pokud TYPEt je zadaný parametr , t určuje, jak se má linker pokusit přeložit symbol . Možné jsou t tyto hodnoty pro :

    Hodnota Popis
    1 V knihovnách nehledat symbol .
    2 V knihovnách vyhledejte symbol .
    3 symbol je alias pro alias (výchozí).

    EXTERN je synonymem pro , s tím rozdílem, že je importován pouze v případě, že jsou odkazy na něj IMPORTsymbol v aktuálním sestavení.

  • MACRO

    Použití proměnné k blokování kódu podmínky makra není podporováno. Výchozí hodnoty parametrů makra nejsou podporovány.

  • NOFP

    Nepodporováno

  • OPT, TTL, SUBT

    Nepodporuje se, protože assembler Microsoft ARM nevytváří výpisy.

  • PRESERVE8

    Nepodporováno

  • RELOC

    RELOC n může postupovat pouze podle instrukce nebo direktivy definice dat. Neexistuje žádný "anonymní symbol", který by bylo možné přemístit.

  • REQUIRE

    Nepodporováno

  • REQUIRE8

    Nepodporováno

  • THUMBX

    Nepodporuje se, protože assembler Microsoft ARM nepodporuje sadu instrukcí Thumb-2EE.

Viz také

Referenční informace k sestavě Command-Line ARM
Diagnostické zprávy assembleru ARM