ARM-Assemblyanweisungen
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
AREA
Der Microsoft ARM-Assembler unterstützt diese
AREA
Attribute:ALIGN
, ,CODE
,CODEALIGN
,DATA
,NOINIT
,READONLY
,READWRITE
.THUMB
ARM
.Alle außer
THUMB
undARM
arbeiten wie im ARM-Compiler-Armasm-Referenzhandbuch dokumentiert.Gibt im Microsoft ARM-Assembler an,
THUMB
dass einCODE
Abschnitt Daumencode enthält und die Standardeinstellung fürCODE
Abschnitte ist.ARM
gibt an, dass der Abschnitt ARM-Code enthält.ATTR
Nicht unterstützt.
CODE16
Wird nicht unterstützt, da es vor-UAL Thumb-Syntax impliziert, die der Microsoft ARM-Assembler nicht zulässt. Verwenden Sie stattdessen die
THUMB
Direktive zusammen mit der UAL-Syntax.COMMON
Die Spezifikation einer Ausrichtung für den gemeinsamen Bereich wird nicht unterstützt.
DCDO
Nicht unterstützt.
DN
,QN
SN
Die Spezifikation eines Typs oder einer Spur im Registeralias wird nicht unterstützt.
ENTRY
Nicht unterstützt.
EQU
Die Spezifikation eines Typs für das definierte Symbol wird nicht unterstützt.
EXPORT
undGLOBAL
Gibt Exporte mithilfe dieser Syntax an:
EXPORT
|GLOBAL
symbol
{[type]
}symbol
ist 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.GLOBAL
ist ein Synonym fürEXPORT
.EXPORTAS
Wird nicht unterstützt.
FRAME
Wird nicht unterstützt.
FUNCTION
undPROC
Mit 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.
IMPORT
undEXTERN
Gibt Importe mit dieser Syntax an:
IMPORT
|EXTERN
symbol
{ {, TYPE
, WEAK
alias
t
}}symbol
ist der Name des zu importierenden Symbols.Wenn
WEAK
alias
angegeben, gibt es an, dasssymbol
es sich um eine schwache externe Datei handelt. Wenn eine Definition für sie zur Verknüpfungszeit nicht gefunden wird, werden stattdessen alle Verweise daraufalias
gebunden.Wenn
TYPE
t
angegeben, gibt diest
an, wie der Linker versuchen soll, aufzulösensymbol
. Diese Wertet
sind möglich:Wert Beschreibung des Dataflows 1 Suchen Sie keine Bibliotheken nach symbol
.2 Suchbibliotheken nach symbol
.3 symbol
ist ein Alias füralias
(Standard).EXTERN
ist ein Synonym fürIMPORT
, mit der Ausnahme, dass nursymbol
importiert wird, wenn in der aktuellen Assembly Verweise darauf vorhanden sind.MACRO
Die Verwendung einer Variablen zum Speichern des Bedingungscodes eines Makros wird nicht unterstützt. Standardwerte für Makroparameter werden nicht unterstützt.
NOFP
Nicht unterstützt.
OPT
,TTL
SUBT
Wird nicht unterstützt, da der Microsoft ARM-Assembler keine Auflistungen erzeugt.
PRESERVE8
Nicht unterstützt.
RELOC
RELOC n
kann nur einer Anweisung oder einer Datendefinitionsdirektive folgen. Es gibt kein "anonymes Symbol", das verschoben werden kann.REQUIRE
Wird nicht unterstützt.
REQUIRE8
Wird nicht unterstützt.
THUMBX
Wird 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