Befehlszeilenreferenz zum ARM-Assemblers
Die Microsoft ARM-Assembler, armasm und armasm64 unterstützen mehrere Befehlszeilenoptionen. Standardmäßig fasst armasm ARMv7 Thumb-Assemblysprache in die Microsoft-Implementierung des Common Object File Format (COFF) zusammen. Der Armasm64-Assembler erstellt COFF-Objektcode für ARM64 und ARM64EC Ziele. Der Linker kann COFF-Codeobjekte verknüpfen, die sowohl vom ARM-Assembler als auch vom C/C++-Compiler erstellt werden. Sie kann entweder mit Objektbibliotheken verknüpft werden, die vom Bibliothekar erstellt wurden.
Syntax
armasm
[optionen] source_file object_file
armasm
[optionen] source_file
armasm64
[optionen] source_file object_file
armasm64
[optionen] source_file
Parameter
Optionen
Eine Kombination aus Null oder mehr der folgenden Optionen:
-16
Nur in Armasm verfügbar. Erstellen Sie die Quelle als 16-Bit-Daumenanweisungen. Diese Option ist die Standardeinstellung.-32
Nur in Armasm verfügbar. Zusammensetzen der Quelle als 32-Bit-ARM-Anweisungen.-coff_thumb2_only
Nur in Armasm verfügbar. Nur Thumb-2-Code zulassen.-errorReport:
Option
Diese Option ist veraltet. In Windows Vista und höher wird die Fehlerberichterstattung durch Windows-Fehlerberichterstattung (WER)-Einstellungen gesteuert.-errors
Dateiname
-e
Dateiname
Leiten Sie Fehler- und Warnmeldungen an dateinamen um. Standardmäßig werden diese Nachrichten anstdout
.-funcOverride:
function_name
Nur in armasm64 verfügbar. Ausgeben der Außerkraftsetzung der Funktion für function_name.-g
Generieren Sie Debuginformationen.-gh:SHA1
Verwenden Sie den SHA-1-Kryptografiehashalgorithmus, um eine Prüfsumme jeder Quelldatei in Debuginformationen zu generieren. Überschreibt-gh:SHA256
.-gh:SHA256
Verwenden Sie den SHA-256-Kryptografiehashalgorithmus, um eine Prüfsumme jeder Quelldatei in Debuginformationen zu generieren. Diese Option ist in Visual Studio 2022, Version 17.0 und höher, standardmäßig aktiviert.-guard:ehcont
[-
]
Generieren Sie eine sortierte Liste der relativen virtuellen Adressen (RVA) aller gültigen Fortsetzungsziele für die Ausnahmebehandlung für eine Binärdatei. Sie wird zur Laufzeit für die Überprüfung von Zeigern undNtContinue
SetThreadContext
Anweisungen verwendet. Ist standardmäßig-guard:ehcont
deaktiviert und muss explizit aktiviert sein. Um diese Option explizit zu deaktivieren, verwenden Sie-guard:ehcont-
. Diese Option ist in Visual Studio 2019, Version 16.7 und höher, verfügbar. Das Feature wird für 64-Bit-Prozesse auf einem 64-Bit-Betriebssystem unterstützt.-help
-h
Drucken Sie die Befehlszeilenhilfenachricht.-i
dir[;
dir]
Fügen Sie dem Suchpfad einen oder mehrere angegebene Verzeichnisse hinzu. Trennen Sie Verzeichnisse mithilfe eines Semikolons (;
).-ignore
warning_number
Deaktivieren Sie die angegebene Warnungsnummer. Mögliche Werte finden Sie unter ARM-Assembler-Diagnosemeldungen.-list
list_file
Erstellen Sie eine detaillierte Auflistung der generierten Assemblysprache, um list_file. Der parameter list_file ist optional. Wenn er ausgelassen wird, fügt.lst
der Assembler den Basisnamen source_file an, um die Eintragsdatei zu erstellen.-machine
Maschine
Geben Sie den Computertyp an, der im PE-Header festgelegt werden soll. In armasm sind mögliche Werte für Computer :- ARM: Legt den Computertyp auf
IMAGE_FILE_MACHINE_ARMNT
. Diese Option ist die Standardeinstellung. - THUMB – Legt den Computertyp auf
IMAGE_FILE_MACHINE_THUMB
.
In armasm64 sind mögliche Werte:
- ARM64 : Legt den Maschinentyp auf
IMAGE_FILE_MACHINE_ARM64
. Diese Option ist die Standardeinstellung. - ARM64EC: Legt den Computertyp auf
IMAGE_FILE_MACHINE_ARM64EC
.
- ARM: Legt den Computertyp auf
-noesc
-noe
Ignorieren von Sonderzeichen im C-Stil, z\n
. B. oder\t
.-nologo
Unterdrücken Sie das Copyright-Banner.-nowarn
-now
Alle Warnmeldungen deaktivieren.-o
object_file
Geben Sie den Namen der Objektdatei (Ausgabedatei) an. Die-o
Option ist optional. Sie können stattdessen einen Objektdateinamen als letztes Element der Befehlszeile angeben.-oldit
Nur in Armasm verfügbar. Generieren Sie IT-Blöcke im ARMv7-Stil. Standardmäßig werden ARMv8-kompatible IT-Blöcke generiert.-predefine
Richtlinie
-pd
Richtlinie
Geben Sie eine SETA-, SETL- oder SETS-Direktive an, um ein Symbol vorzudefinieren.
Beispiel:armasm.exe -predefine "COUNT SETA 150" source.asm
Weitere Informationen finden Sie im ARM-Compiler-Armasm-Referenzhandbuch.-sourcelink:
sourcelink_filename
sourcelink_filename gibt eine JSON-formatierte Konfigurationsdatei an, die eine einfache Zuordnung lokaler Dateipfade zu URLs für Quelldateien enthält, die im Debugger angezeigt werden sollen. Weitere Informationen zum Format dieser Datei finden Sie im JSON-Schema für Quelllinks. Die Quellverknüpfung ist ein sprach- und quellcodeverwaltungsunabhängiges System zum Bereitstellen des Quelldebuggings für Binärdateien. Der Quelllink wird für systemeigene Binärdateien ab Visual Studio 2017, Version 15.8, unterstützt. Eine Übersicht über den Quelllink finden Sie unter "Quelllink". Informationen zur Verwendung des Quelllinks in Ihren Projekten und zum Generieren der SourceLink-Datei als Teil Ihres Projekts finden Sie unter Verwenden des Quelllinks.-via
Dateiname
Lesen sie zusätzliche Befehlszeilenargumente aus dem Dateinamen.
source_file
Der Name der Quelldatei.
object_file
Das letzte Element der Befehlszeile kann den Namen der Objektdatei (Ausgabedatei) angeben. Wenn sie weggelassen wird und keine -o
Option angegeben wird, fügt .obj
der Assembler an den Basisnamen von source_file an, um die Objektdatei zu erstellen.
Hinweise
Im folgenden Beispiel wird die Verwendung von Armasm in einem typischen Szenario veranschaulicht. Verwenden Sie zunächst armasm, um eine Assemblysprachenquelldatei (ASM) in eine Objektdatei (.obj) zu erstellen. Verwenden Sie dann den CL-Befehlszeilen-C-Compiler, um eine Quelldatei (.c) zu kompilieren, und geben Sie außerdem die Linkeroption an, um die ARM-Objektdatei zu verknüpfen.
armasm -o myasmcode.obj myasmcode.asm
cl myccode.c /link myasmcode.obj