Condividi tramite


Riferimenti alla riga di comando dell'assembler ARM

Gli assembler, armasm e armasm64 di Microsoft ARM supportano diverse opzioni della riga di comando. Per impostazione predefinita, armasm assembla il linguaggio di assembly ARMv7 Thumb nell'implementazione Microsoft di Common Object File Format (COFF). L'assembler armasm64 crea codice oggetto COFF per le destinazioni ARM64 e ARM64EC. Il linker può collegare oggetti di codice COFF prodotti sia dall'assembler ARM che dal compilatore C/C++. Può collegarsi con le librerie di oggetti create dalla bibliotecaria.

Sintassi

armasm[opzioni] source_file object_file
armasm [opzioni] source_file

armasm64[opzioni] source_file object_file
armasm64 [opzioni] source_file

Parametri

options
Combinazione di zero o più delle opzioni seguenti:

  • -16
    Disponibile solo in armasm. Assemblare l'origine come istruzioni thumb a 16 bit. Questa opzione è quella predefinita.

  • -32
    Disponibile solo in armasm. Assemblare l'origine come istruzioni ARM a 32 bit.

  • -coff_thumb2_only
    Disponibile solo in armasm. Consenti solo codice Thumb-2.

  • -errorReport: opzione
    Questa opzione è deprecata. In Windows Vista e versioni successive, la segnalazione errori viene controllata dalle impostazioni di Segnalazione errori Windows (WER).

  • -errors Filename
    -e Filename
    Reindirizzare i messaggi di errore e avviso al nome del file. Per impostazione predefinita, questi messaggi vengono inviati a stdout.

  • -funcOverride: function_name
    Disponibile solo in armasm64. Generare il supporto per l'override della funzione per function_name.

  • -g
    Generare informazioni di debug.

  • -gh:SHA1
    Usare l'algoritmo hash crittografico SHA-1 per generare un checksum di ogni file di origine nelle informazioni di debug. Esegue l'override dell'oggetto -gh:SHA256.

  • -gh:SHA256
    Usare l'algoritmo hash crittografico SHA-256 per generare un checksum di ogni file di origine nelle informazioni di debug. Questa opzione è attivata per impostazione predefinita in Visual Studio 2022 versione 17.0 e successive.

  • -guard:ehcont[-]
    Generare un elenco ordinato degli indirizzi virtuali relativi di tutte le destinazioni di continuazione valide per la gestione delle eccezioni per un file binario. Viene usato in fase di esecuzione per NtContinue la convalida del puntatore alle istruzioni e SetThreadContext . Per impostazione predefinita, -guard:ehcont è disattivato e deve essere abilitato in modo esplicito. Per disabilitare in modo esplicito questa opzione, usare -guard:ehcont-. Questa opzione è disponibile in Visual Studio 2019 versione 16.7 e successive. La funzionalità è supportata per i processi a 64 bit in un sistema operativo a 64 bit.

  • -help
    -h
    Stampare il messaggio della Guida della riga di comando.

  • -i dir[;]
    Aggiungere una o più directory specificate al percorso di ricerca di inclusione. Separare le directory usando un punto e virgola (;).

  • -ignore warning_number
    Disabilitare il numero di avviso specificato. Per i valori possibili, vedere Messaggi di diagnostica dell'assembler ARM.

  • -list list_file
    Creare un elenco dettagliato del linguaggio di assembly generato per list_file. Il parametro list_file è facoltativo. Se viene omesso, l'assembler aggiunge .lst al nome di base di source_file per creare il file di elenco.

  • -machine macchina
    Specificare il tipo di computer da impostare nell'intestazione PE. In armasm, i valori possibili per la macchina sono:

    • ARM: imposta il tipo di computer su IMAGE_FILE_MACHINE_ARMNT. Questa opzione è quella predefinita.
    • THUMB: imposta il tipo di computer su IMAGE_FILE_MACHINE_THUMB.

    In armasm64 i valori possibili sono:

    • ARM64: imposta il tipo di computer su IMAGE_FILE_MACHINE_ARM64. Questa opzione è quella predefinita.
    • ARM64EC: imposta il tipo di computer su IMAGE_FILE_MACHINE_ARM64EC.
  • -noesc
    -noe
    Ignorare caratteri speciali in stile C, ad esempio \n o \t.

  • -nologo
    Eliminare il banner sul copyright.

  • -nowarn
    -now
    Disabilitare tutti i messaggi di avviso.

  • -o object_file
    Specificare il nome del file dell'oggetto (output). L'opzione -o è facoltativa. È invece possibile specificare un nome file oggetto come ultimo elemento della riga di comando.

  • -oldit
    Disponibile solo in armasm. Generare blocchi IT di tipo ARMv7. Per impostazione predefinita, vengono generati blocchi IT compatibili con ARMv8.

  • -predefine direttiva
    -pd direttiva
    Specificare una direttiva SETA, SETL o SETS per impostare un simbolo predefinito.
    Esempio: armasm.exe -predefine "COUNT SETA 150" source.asm
    Per altre informazioni, vedere la Guida di riferimento all'armasm del compilatore ARM.

  • -sourcelink: sourcelink_filename
    sourcelink_filename specifica un file di configurazione in formato JSON che contiene un semplice mapping di percorsi di file locali agli URL per i file di origine da visualizzare nel debugger. Per altre informazioni sul formato di questo file, vedere Source Link JSON Schema.For more information on the format of this file, see Source Link JSON Schema. Il collegamento di origine è un sistema indipendente dal linguaggio e dal controllo del codice sorgente per fornire il debug di origine per i file binari. Il collegamento all'origine è supportato per i file binari nativi a partire da Visual Studio 2017 versione 15.8. Per una panoramica del collegamento all'origine, vedere Collegamento all'origine. Per informazioni su come usare il collegamento di origine nei progetti e su come generare il file SourceLink come parte del progetto, vedere Uso del collegamento all'origine.

  • -via Filename
    Leggere gli argomenti della riga di comando aggiuntivi dal nome file.

source_file
Nome del file di origine.

object_file
L'ultimo elemento della riga di comando può specificare il nome del file dell'oggetto (output). Se viene omesso e non viene specificata alcuna -o opzione, l'assembler aggiunge .obj al nome di base di source_file per creare il file dell'oggetto.

Osservazioni:

L'esempio seguente illustra come usare l'armasm in uno scenario tipico. In primo luogo, usare armasm per compilare un file di origine del linguaggio assembly (con estensione asm) in un file di oggetto (.obj). Usare quindi il compilatore C della riga di comando CL per compilare un file di origine (con estensione c) e specificare anche l'opzione del linker per collegare il file oggetto ARM.

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

Vedi anche

Messaggi di diagnostica dell'assembler ARM
Direttive assembler ARM