Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im Allgemeinen verwendet der Microsoft ARM-Assembler die ARM-Assemblysprache, die im ARM-Compiler-Referenzhandbuch dokumentiert ist. Die Microsoft-Implementierungen einiger Assemblydirektiven unterscheiden sich jedoch von den ARM-Assemblydirektiven. In diesem Artikel werden die Unterschiede erläutert.
Microsoft-Implementierungen von ARM-Assemblydirektiven
AREADer Microsoft ARM-Assembler unterstützt diese
AREAAttribute:ALIGN, ,CODE,CODEALIGN,DATA,NOINIT,READONLY,READWRITE.THUMBARM.Alle außer
THUMBundARMarbeiten wie im ARM-Compiler-Armasm-Referenzhandbuch dokumentiert.Gibt im Microsoft ARM-Assembler an,
THUMBdass einCODEAbschnitt Daumencode enthält und die Standardeinstellung fürCODEAbschnitte ist.ARMgibt an, dass der Abschnitt ARM-Code enthält.ATTRNicht unterstützt.
CODE16Wird nicht unterstützt, da es vor-UAL Thumb-Syntax impliziert, die der Microsoft ARM-Assembler nicht zulässt. Verwenden Sie stattdessen die
THUMBDirektive zusammen mit der UAL-Syntax.COMMONDie Spezifikation einer Ausrichtung für den gemeinsamen Bereich wird nicht unterstützt.
DCDONicht unterstützt.
DN,QNSNDie Spezifikation eines Typs oder einer Spur im Registeralias wird nicht unterstützt.
ENTRYNicht unterstützt.
EQUDie Spezifikation eines Typs für das definierte Symbol wird nicht unterstützt.
EXPORTundGLOBALGibt Exporte mithilfe dieser Syntax an:
EXPORT|GLOBALsymbol{[type]}symbolist das zu exportierende Symbol.[type], falls angegeben, kann entweder angegeben werden[DATA], dass das Symbol auf Daten zeigt oder[FUNC]darauf hinweist, dass das Symbol auf Code verweist.GLOBAList ein Synonym fürEXPORT.EXPORTASWird nicht unterstützt.
FRAMEWird nicht unterstützt.
FUNCTIONundPROCMit der Assemblysyntax können Sie eine benutzerdefinierte Aufrufkonvention für Prozeduren angeben: Sie listen die Register auf, die vom Aufrufer gespeichert werden, und die Register, die angerufen werden. Während der Microsoft ARM-Assembler jedoch die Syntax akzeptiert, werden die Registerlisten ignoriert. Die debuginformationen, die vom Assembler erstellt werden, unterstützen nur die Standardaufrufkonvention.
IMPORTundEXTERNGibt Importe mit dieser Syntax an:
IMPORT|EXTERNsymbol{ {, TYPE, WEAKaliast}}symbolist der Name des zu importierenden Symbols.Wenn
WEAKaliasangegeben, gibt es an, dasssymboles sich um eine schwache externe Datei handelt. Wenn eine Definition für sie zur Verknüpfungszeit nicht gefunden wird, werden stattdessen alle Verweise daraufaliasgebunden.Wenn
TYPEtangegeben, gibt diestan, wie der Linker versuchen soll, aufzulösensymbol. Diese Wertetsind möglich:Wert Beschreibung des Dataflows 1 Suchen Sie keine Bibliotheken nach symbol.2 Suchbibliotheken nach symbol.3 symbolist ein Alias füralias(Standard).EXTERNist ein Synonym fürIMPORT, mit der Ausnahme, dass nursymbolimportiert wird, wenn in der aktuellen Assembly Verweise darauf vorhanden sind.MACRODie Verwendung einer Variablen zum Speichern des Bedingungscodes eines Makros wird nicht unterstützt. Standardwerte für Makroparameter werden nicht unterstützt.
NOFPNicht unterstützt.
OPT,TTLSUBTWird nicht unterstützt, da der Microsoft ARM-Assembler keine Auflistungen erzeugt.
PRESERVE8Nicht unterstützt.
RELOCRELOC nkann nur einer Anweisung oder einer Datendefinitionsdirektive folgen. Es gibt kein "anonymes Symbol", das verschoben werden kann.REQUIREWird nicht unterstützt.
REQUIRE8Wird nicht unterstützt.
THUMBXWird nicht unterstützt, da der Microsoft ARM-Assembler den Thumb-2EE-Anweisungssatz nicht unterstützt.
Siehe auch
Befehlszeilenverweis des ARM-Assemblers
Diagnosemeldungen des ARM-Assemblers