Referência de linha de comando do assembler ARM
Os assemblers do Microsoft ARM, armasm e armasm64, dão suporte a várias opções de linha de comando. Por padrão, armasm monta a linguagem assembly ARMv7 Thumb na implementação da Microsoft do formato COFF. O assembler armasm64 cria código de objeto COFF para destinos ARM64 e ARM64EC. O vinculador pode vincular objetos de código COFF produzidos pelo assembler ARM e pelo compilador C/C++. Ele pode vincular as bibliotecas de objetos criadas pelo arquivador.
Sintaxe
armasm
[opções] source_fileobject_file
armasm
[options] source_file
armasm64
[opções] source_fileobject_file
armasm64
[options] source_file
Parâmetros
options
Uma combinação de zeros ou mais das seguintes opções:
-16
Disponível somente em armasm. Monta a origem como instruções de 16 bits do Thumb. Essa é a opção padrão.-32
Disponível somente em armasm. Monta a origem como instruções de 32 bits do ARM.-coff_thumb2_only
Disponível somente em armasm. Permite somente código Thumb-2.-errorReport:
opção
Essa opção foi preterida. Desde o Windows Vista, o relatório de erros é controlado pelas configurações WER (Relatório de Erros do Windows).-errors
filename
-e
filename
Redireciona mensagens de erro e aviso para filename. Por padrão, essas mensagens são enviadas parastdout
.-funcOverride:
function_name
Disponível somente em armasm64. Emite suporte à substituição de função para function_name.-g
Gera as informações de depuração.-gh:SHA1
Usa o algoritmo de hash criptográfico SHA-1 para gerar uma soma de verificação de cada arquivo de origem em informações de depuração. Substitui-gh:SHA256
.-gh:SHA256
Usa o algoritmo de hash criptográfico SHA-256 para gerar uma soma de verificação de cada arquivo de origem em informações de depuração. Essa opção está ativada por padrão no Visual Studio 2022 versão 17.0 e posteriores.-guard:ehcont
[-
]
Gera uma lista classificada dos RVAs (endereços virtuais relativos) de todos os destinos de continuação de tratamento de exceção válidos para um binário. Ela é usada durante o runtime para a validação do ponteiro de instruçãoNtContinue
eSetThreadContext
. Por padrão,-guard:ehcont
está desativado e deve ser habilitado explicitamente. Para desabilitar explicitamente essa opção, use-guard:ehcont-
. Essa opção está disponível no Visual Studio 2019 versão 16.7 e posteriores. O recurso tem suporte para processos de 64 bits em um sistema operacional de 64 bits.-help
-h
Imprimir a mensagem de ajuda da linha de comando.-i
dir[;
dir]
Adiciona um ou mais diretórios especificados para inclusão do caminho de pesquisa. Separa os diretórios usando um ponto e vírgula (;
).-ignore
warning_number
Desabilita o número de aviso especificado. Para obter os valores possíveis, confira as mensagens de diagnóstico do assembler do ARM.-list
list_file
Cria uma listagem detalhada da linguagem assembly gerada para list_file. O parâmetro list_file é opcional. Se ele for omitido, o montador acrescentará.lst
ao nome base de source_file para criar o arquivo de listagem.-machine
máquina
Especifica o tipo de computador a ser definido no cabeçalho PE. Em armasm, os valores possíveis para machine são:-
ARM: define o tipo de computador como
IMAGE_FILE_MACHINE_ARMNT
. Essa é a opção padrão. -
THUMB: define o tipo de computador como
IMAGE_FILE_MACHINE_THUMB
.
Em armasm64, os valores possíveis são:
-
ARM64: define o tipo de computador como
IMAGE_FILE_MACHINE_ARM64
. Essa é a opção padrão. -
ARM64ec: define o tipo de computador como
IMAGE_FILE_MACHINE_ARM64EC
.
-
ARM: define o tipo de computador como
-noesc
-noe
Ignora caracteres especiais com escape no estilo C, como\n
ou\t
.-nologo
Suprime a mensagem da faixa de direitos autorais.-nowarn
-now
Desabilita todas as mensagens de aviso.-o
object_file
Especifica 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 somente em armasm. Gera blocos de TI no estilo ARMv7. Por padrão, blocos de TI compatíveis com ARMv8 são gerados.-predefine
diretiva
-pd
diretiva
Especifica 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, confira o Guia de referência do armasm do compilador do ARM.-sourcelink:
sourcelink_filename
sourcelink_filename especifica um arquivo de configuração formatado por JSON que contém um mapeamento simples de caminhos de arquivo local para URLs para arquivos de origem a serem exibidos no depurador. Para obter mais informações sobre o formato desse arquivo, confira Esquema JSON de Source Link. Source Link é um sistema agnóstico de controle do código-fonte e linguagem de programação para fornecer depuração de código-fonte para binários. O Source Link é compatível com binários nativos do Visual Studio 2017 versão 15.8 e posteriores. Para obter uma visão geral do Source Link, confira Source Link. Para obter informações sobre como usar Source Link em seus projetos e como gerar o arquivo SourceLink como parte do projeto, confira Usando o Source Link.-via
filename
Lê argumentos de linha de comando extras de filename.
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 ele for omitido e nenhuma opção -o
for especificada, o montador acrescentará .obj
ao nome base de 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 compilar um arquivo de origem de linguagem assembly (.asm) em um arquivo de objeto (.obj). Depois, 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
Confira também
Mensagens de diagnóstico do ARM Assembler
Diretivas do ARM Assembler