Delen via


Naslaginformatie over arm-assembly's

De Microsoft ARM-assembly's, armasm en armasm64, ondersteunen verschillende opdrachtregelopties. Standaard stelt armasm ARMv7 Thumb assembly-taal samen in de Microsoft-implementatie van de Common Object File Format (COFF). De armasm64 assemblyer maakt COFF-objectcode voor ARM64- en ARM64EC doelen. De linker kan COFF-codeobjecten koppelen die worden geproduceerd door zowel de ARM-assembly als de C/C++-compiler. Het kan een koppeling maken met objectbibliotheken die zijn gemaakt door de bibliothecair.

Syntaxis

armasm [opties] source_fileobject_file
armasm [opties] source_file

armasm64 [opties] source_fileobject_file
armasm64 [opties] source_file

Parameters

opties
Een combinatie van nul of meer van de volgende opties:

  • -16
    Alleen verkrijgbaar in armasm. Stel de bron samen als 16-bits duiminstructies. Deze optie is de standaardinstelling.

  • -32
    Alleen verkrijgbaar in armasm. Stel de bron samen als 32-bits ARM-instructies.

  • -coff_thumb2_only
    Alleen verkrijgbaar in armasm. Alleen thumb-2-code toestaan.

  • -errorReport: optie
    Deze optie is afgeschaft. In Windows Vista en hoger wordt foutrapportage beheerd door WER-instellingen (Windows Error Reporting).

  • -errors bestandsnaam
    -e bestandsnaam
    Fout- en waarschuwingsberichten omleiden naar bestandsnaam. Deze berichten worden standaard verzonden naar stdout.

  • -funcOverride: function_name
    Alleen verkrijgbaar in armasm64. Functie verzenden die ondersteuning voor function_nameoverschrijft.

  • -g
    Foutopsporingsgegevens genereren.

  • -gh:SHA1
    Gebruik het cryptografische hash-algoritme SHA-1 om een controlesom te genereren van elk bronbestand in foutopsporingsgegevens. Overschrijft -gh:SHA256.

  • -gh:SHA256
    Gebruik het cryptografische hash-algoritme SHA-256 om een controlesom te genereren van elk bronbestand in foutopsporingsgegevens. Deze optie is standaard ingeschakeld in Visual Studio 2022 versie 17.0 en hoger.

  • -guard:ehcont[-]
    Genereer een gesorteerde lijst met de relatieve virtuele adressen (RVA) van alle geldige uitzonderingsafhandelingsdoelen voor een binair bestand. Deze wordt tijdens runtime gebruikt voor NtContinue en SetThreadContext instructiepointervalidatie. Standaard is -guard:ehcont uitgeschakeld en moet deze expliciet zijn ingeschakeld. Als u deze optie expliciet wilt uitschakelen, gebruikt u -guard:ehcont-. Deze optie is beschikbaar in Visual Studio 2019 versie 16.7 en hoger. De functie wordt ondersteund voor 64-bits processen in een 64-bits besturingssysteem.

  • -help
    -h
    Druk het helpbericht van de opdrachtregel af.

  • -i dir[;dir]
    Voeg een of meer opgegeven mappen toe aan het zoekpad opnemen. Gescheiden mappen met behulp van een puntkomma (;).

  • -ignore warning_number
    Schakel het opgegeven waarschuwingsnummer uit. Zie diagnostische berichten van ARM Assemblervoor mogelijke waarden.

  • -list list_file
    Maak een gedetailleerde lijst van de gegenereerde assemblytaal om te list_file. De parameter list_file is optioneel. Als dit wordt weggelaten, voegt de assemblyer .lst toe aan de basisnaam van source_file om het vermeldingsbestand te maken.

  • -machine machine
    Geef het computertype op dat moet worden ingesteld in de PE-header. In armasmzijn mogelijke waarden voor machine:

    • ARM-: hiermee stelt u het type machine in op IMAGE_FILE_MACHINE_ARMNT. Deze optie is de standaardinstelling.
    • THUMB-: hiermee stelt u het computertype in op IMAGE_FILE_MACHINE_THUMB.

    In armasm64zijn mogelijke waarden:

    • ARM64-: stelt het type machine in op IMAGE_FILE_MACHINE_ARM64. Deze optie is de standaardinstelling.
    • ARM64EC: hiermee stelt u het computertype in op IMAGE_FILE_MACHINE_ARM64EC.
  • -noesc
    -noe
    Met C-stijl ontsnapte speciale tekens negeren, zoals \n of \t.

  • -nologo
    De copyrightbanner onderdrukken.

  • -nowarn
    -now
    Schakel alle waarschuwingsberichten uit.

  • -o object_file
    Geef de naam op van het objectbestand (uitvoer). De optie -o is optioneel; u kunt in plaats daarvan een objectbestandsnaam opgeven als het laatste element van de opdrachtregel.

  • -oldit
    Alleen verkrijgbaar in armasm. IT-blokken in ARMv7-stijl genereren. Standaard worden IT-blokken die compatibel zijn met ARMv8 gegenereerd.

  • -predefine richtlijn
    -pd richtlijn
    Geef een SETA-, SETL- of SETS-instructie op voor het vooraf gedefinieerde symbool.
    Voorbeeld: armasm.exe -predefine "COUNT SETA 150" source.asm
    Zie de ARM Compiler armasm Reference Guidevoor meer informatie.

  • -sourcelink: sourcelink_filename
    sourcelink_filename geeft een configuratiebestand met JSON-indeling op dat een eenvoudige toewijzing van lokale bestandspaden naar URL's voor bronbestanden bevat die moeten worden weergegeven in het foutopsporingsprogramma. Zie JSON-schema source linkvoor meer informatie over de indeling van dit bestand. Source Link is een taal- en broncodebeheeragnostisch systeem voor het bieden van bronopsporing voor binaire bestanden. Source Link wordt ondersteund voor systeemeigen binaire bestanden vanaf Visual Studio 2017 versie 15.8. Zie Source Linkvoor een overzicht van de bronkoppeling. Zie Source Link gebruikenvoor informatie over het gebruik van Source Link in uw projecten en het genereren van het SourceLink-bestand als onderdeel van uw project.

  • -via bestandsnaam
    Lees extra opdrachtregelargumenten uit bestandsnaam.

source_file
De naam van het bronbestand.

object_file
Het laatste element van de opdrachtregel kan de naam van het objectbestand (uitvoer) opgeven. Als deze optie wordt weggelaten en er geen -o optie is opgegeven, voegt de assemblyer .obj toe aan de basisnaam van source_file om het objectbestand te maken.

Opmerkingen

In het volgende voorbeeld ziet u hoe u armasm gebruikt in een typisch scenario. Gebruik eerst armasm om een assemblytaalbronbestand (.asm) te bouwen naar een objectbestand (.obj). Gebruik vervolgens de CL-opdrachtregel-C-compiler om een bronbestand (.c) te compileren en geef ook de linkeroptie op om het ARM-objectbestand te koppelen.

armasm -o myasmcode.obj myasmcode.asm 
cl myccode.c /link myasmcode.obj

Zie ook

diagnostische berichten van ARM Assembler
ARM Assembly-instructies