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 an stdout.

  • -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 und NtContinue 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.

  • -idir[; dir]
    Fügen Sie dem Suchpfad einen oder mehrere angegebene Verzeichnisse hinzu. Trennen Sie Verzeichnisse mithilfe eines Semikolons (;).

  • -ignorewarning_number
    Deaktivieren Sie die angegebene Warnungsnummer. Mögliche Werte finden Sie unter ARM-Assembler-Diagnosemeldungen.

  • -listlist_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.

  • -machineMaschine
    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.
  • -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.

  • -oobject_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.

  • -predefineRichtlinie
    -pdRichtlinie
    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

Siehe auch

ARM-Assembler-Diagnosemeldungen
ARM-Assembler-Direktiven