Partilhar via


Referência de linha de comando do ARM Assembler

Os montadores Microsoft ARM, armasm e armasm64, suportam várias opções de linha de comando. Por padrão, armasm monta a linguagem de montagem ARMv7 Thumb na implementação da Microsoft do Common Object File Format (COFF). O armam64 assembler cria código de objeto COFF para ARM64 e ARM64EC alvos. O vinculador pode vincular objetos de código COFF produzidos pelo assembler ARM e pelo compilador C/C++. Ele pode se conectar com bibliotecas de objetos criadas pelo bibliotecário.

Sintaxe

armasm [opções] source_fileobject_file
armasm [opções] source_file

armasm64 [opções] source_fileobject_file
armasm64 [opções] source_file

Parâmetros

opções
Uma combinação de zero ou mais das seguintes opções:

  • -16
    Disponível apenas em armasm. Monte a fonte como instruções de polegar de 16 bits. Esta opção é o padrão.

  • -32
    Disponível apenas em armasm. Monte a fonte como instruções ARM de 32 bits.

  • -coff_thumb2_only
    Disponível apenas em armasm. Permitir apenas o código Thumb-2.

  • -errorReport: opção
    Esta opção foi preterida. No Windows Vista e versões posteriores, o relatório de erros é controlado por configurações de do Relatório de Erros do Windows (WER).

  • -errors nome do arquivo
    -e nome do arquivo
    Redirecionar mensagens de erro e aviso para nome de arquivo. Por padrão, essas mensagens são enviadas para stdout.

  • -funcOverride: function_name
    Disponível apenas em armasm64. Função de emissão substituindo o suporte para function_name.

  • -g
    Gere informações de depuração.

  • -gh:SHA1
    Use o algoritmo de hash criptográfico SHA-1 para gerar uma soma de verificação de cada arquivo de origem nas informações de depuração. Substitui -gh:SHA256.

  • -gh:SHA256
    Use o algoritmo de hash criptográfico SHA-256 para gerar uma soma de verificação de cada arquivo de origem nas informações de depuração. Essa opção está ativada por padrão no Visual Studio 2022 versão 17.0 e posterior.

  • -guard:ehcont[-]
    Gere uma lista ordenada dos endereços virtuais relativos (RVA) de todos os destinos de continuação de tratamento de exceção válidos para um binário. Ele é usado em tempo de execução para NtContinue e SetThreadContext validação de ponteiro de instruções. Por padrão, -guard:ehcont está desativado e deve ser explicitamente habilitado. Para desativar explicitamente essa opção, use -guard:ehcont-. Esta opção está disponível no Visual Studio 2019 versão 16.7 e posterior. O recurso é suportado para processos de 64 bits em um sistema operacional de 64 bits.

  • -help
    -h
    Imprima a mensagem de ajuda da linha de comando.

  • -i dir[;dir]
    Adicione um ou mais diretórios especificados ao caminho de pesquisa de inclusão. Separe os diretórios usando um ponto-e-vírgula (;).

  • -ignore warning_number
    Desative o número de aviso especificado. Para obter valores possíveis, consulte mensagens de diagnóstico do ARM Assembler.

  • -list list_file
    Crie uma lista detalhada da linguagem de assembly gerada para list_file. O parâmetro list_file é opcional. Se for omitido, o assembler acrescenta .lst ao nome base do source_file para criar o arquivo de listagem.

  • -machine máquina
    Especifique o tipo de máquina a ser definido no cabeçalho PE. Em armasm, os valores possíveis para da máquina são:

    • ARM—Define o tipo de máquina como IMAGE_FILE_MACHINE_ARMNT. Esta opção é o padrão.
    • THUMB—Define o tipo de máquina como IMAGE_FILE_MACHINE_THUMB.

    Em armasm64, os valores possíveis são:

    • ARM64—Define o tipo de máquina como IMAGE_FILE_MACHINE_ARM64. Esta opção é o padrão.
    • ARM64EC—Define o tipo de máquina como IMAGE_FILE_MACHINE_ARM64EC.
  • -noesc
    -noe
    Ignorar caracteres especiais com escape no estilo C, como \n ou \t.

  • -nologo
    Suprimir o banner de direitos autorais.

  • -nowarn
    -now
    Desative todas as mensagens de aviso.

  • -o object_file
    Especifique o nome do arquivo de objeto (saída). A opção -o é opcional; Em vez disso, você pode especificar um nome de arquivo de objeto como o último elemento da linha de comando.

  • -oldit
    Disponível apenas em armasm. Gere blocos de TI no estilo ARMv7. Por padrão, os blocos de TI compatíveis com ARMv8 são gerados.

  • -predefine diretiva
    -pd diretiva
    Especifique uma diretiva SETA, SETL ou SETS para predefinir um símbolo.
    Exemplo: armasm.exe -predefine "COUNT SETA 150" source.asm
    Para obter mais informações, consulte o ARM Compiler armasm Reference Guide.

  • -sourcelink: sourcelink_filename
    sourcelink_filename especifica um arquivo de configuração formatado em JSON que contém um mapeamento simples de caminhos de arquivos locais para URLs para arquivos de origem a serem exibidos no depurador. Para obter mais informações sobre o formato desse arquivo, consulte Source Link JSON Schema. Source Link é um sistema agnóstico de controle de idioma e origem para fornecer depuração de origem para binários. O link de origem é suportado para binários nativos a partir do Visual Studio 2017 versão 15.8. Para obter uma visão geral do Source Link, consulte Source Link. Para obter informações sobre como usar o Source Link em seus projetos e como gerar o arquivo SourceLink como parte do projeto, consulte Usando o Source Link.

  • -via nome do arquivo
    Leia argumentos de linha de comando extras de nome de arquivo.

source_file
O nome do arquivo de origem.

object_file
O último elemento da linha de comando pode especificar o nome do arquivo de objeto (saída). Se for omitida e nenhuma opção -o for especificada, o assembler acrescentará .obj ao nome base do source_file para criar o arquivo de objeto.

Comentários

O exemplo a seguir demonstra como usar armasm em um cenário típico. Primeiro, use armasm para criar um arquivo de origem de linguagem assembly (.asm) para um arquivo de objeto (.obj). Em seguida, use o compilador C da linha de comando CL para compilar um arquivo de origem (.c) e também especifique a opção do vinculador para vincular o arquivo de objeto ARM.

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

Ver também

mensagens de diagnóstico do ARM Assembler
Diretivas ARM Assembler