Compartir a través de


Referencia de la línea de comandos de ARM

Los ensambladores ARM de Microsoft, armasm y armasm64, admiten varias opciones de línea de comandos. De forma predeterminada, armasm ensambla el lenguaje de ensamblado ARMv7 Thumb en la implementación de Microsoft del formato de archivo de objeto común (COFF). El ensamblador armasm64 crea código de objeto COFF para los destinos ARM64 y ARM64EC. El enlazador puede vincular objetos de código COFF que genera el ensamblador ARM y el compilador de C/C++. Puede vincularse junto con las bibliotecas de objetos que creó el bibliotecario.

Sintaxis

armasm[opciones] source_file object_file
armasm [options] source_file

armasm64[opciones] source_file object_file
armasm64 [options] source_file

Parámetros

options
Combinación de cero o más de las siguientes opciones:

  • -16
    Disponible solo en armasm. Ensambla el origen como instrucciones Thumb de 16 bits. Es la opción predeterminada.

  • -32
    Disponible solo en armasm. Ensambla el origen como instrucciones ARM de 32 bits.

  • -coff_thumb2_only
    Disponible solo en armasm. Permite solo el código Thumb-2.

  • -errorReport:opción
    Esta opción está en desuso. En Windows Vista y versiones posteriores, los informes de errores se controlan a través de la configuración del Informe de errores de Windows (WER).

  • -errors nombredearchivo
    -e nombredearchivo
    Redirige los mensajes de error y advertencia a nombre de archivo. De forma predeterminada, estos mensajes se envían a stdout.

  • -funcOverride:function_name
    Disponible solo en armasm64. Emite compatibilidad con la invalidación de la función para function_name.

  • -g
    Genera información de depuración.

  • -gh:SHA1
    Usa el algoritmo hash criptográfico SHA-1 para generar una suma de comprobación de cada archivo de origen en la información de depuración. Invalida -gh:SHA256.

  • -gh:SHA256
    Usa el algoritmo hash criptográfico SHA-256 para generar una suma de comprobación de cada archivo de origen en la información de depuración. Esta opción está activada de forma predeterminada en Visual Studio 2022, versión 17.0.

  • -guard:ehcont[-]
    Genera una lista ordenada de las direcciones virtuales relativas (RVA) de todos los destinos de continuación de control de excepciones válidos para un binario. Se usa en tiempo de ejecución para la validación del puntero de instrucción NtContinue y SetThreadContext. La opción -guard:ehcont está desactivada de forma predeterminada y debe habilitarse explícitamente. Para deshabilitar explícitamente esta opción, utilice -guard:ehcont-. Esta opción está disponible en Visual Studio 2019, versión 16.7 y posteriores. La característica es compatible con procesos de 64 bits en un sistema operativo de 64 bits.

  • -help
    -h
    Imprime el mensaje de ayuda de la línea de comandos.

  • -idir[; dir]
    Agrega uno o varios directorios especificados para incluir la ruta de acceso de búsqueda. Separa los directorios mediante un punto y coma (;).

  • -ignorewarning_number
    Deshabilita el número de advertencias especificadas. Para conocer los valores posibles, consulte Mensajes de diagnóstico del ensamblador ARM.

  • -listlist_file
    Crea una lista detallada del lenguaje de ensamblado que se generó para list_file. El parámetro list_file es opcional. Si se omite, el ensamblador anexa .lst al nombre base de source_file para crear el archivo de lista.

  • -machinemáquina
    Especifica el tipo de máquina que se va a establecer en el encabezado PE. En armasm, los valores posibles para machine son los siguientes:

    • ARM: establece el tipo de máquina en IMAGE_FILE_MACHINE_ARMNT. Es la opción predeterminada.
    • THUMB: establece el tipo de máquina en IMAGE_FILE_MACHINE_THUMB.

    En armasm64, los valores posibles son los siguientes:

    • ARM64: establece el tipo de máquina en IMAGE_FILE_MACHINE_ARM64. Es la opción predeterminada.
    • ARM64EC: establece el tipo de máquina en IMAGE_FILE_MACHINE_ARM64EC.
  • -noesc
    -noe
    Omite los caracteres especiales de escape de estilo C, como \n o \t.

  • -nologo
    Suprime el titular de copyright.

  • -nowarn
    -now
    Deshabilita todos los mensajes de advertencia.

  • -oobject_file
    Especifica el nombre del archivo de objeto (salida). La opción -o es opcional; en su lugar, puede especificar un nombre de archivo de objeto como último elemento de la línea de comandos.

  • -oldit
    Disponible solo en armasm. Genera bloques de TI de estilo ARMv7. De forma predeterminada, se generan bloques de TI compatibles con ARMv8.

  • -predefinedirectiva
    -pddirectiva
    Especifica una directiva SETA, SETL o SETS para predefinir un símbolo.
    Ejemplo: armasm.exe -predefine "COUNT SETA 150" source.asm
    Para obtener más información, consulte la Guía de referencia de armasm del compilador ARM.

  • -sourcelink:sourcelink_filename
    sourcelink_filename especifica un archivo de configuración con formato JSON que contiene una asignación sencilla de rutas de acceso de archivo locales a direcciones URL para que los archivos de origen se muestren en el depurador. Para obtener más información sobre el formato de este archivo, consulte Esquema JSON de Source Link. Source Link es un sistema independiente del lenguaje y del control de código fuente, que se usa para la depuración de código fuente en archivos binarios. Source Link se admite para archivos binarios nativos a partir de Visual Studio 2017, versión 15.8. Para obtener información general sobre Source Link, consulte Source Link. Para obtener información sobre cómo usar Source Link en los proyectos y cómo generar el archivo SourceLink como parte del proyecto, consulte Uso de Source Link.

  • -via nombredearchivo
    Lee argumentos de línea de comandos adicionales del nombre de archivo.

source_file
nombre del archivo de origen.

object_file
El último elemento de la línea de comandos puede especificar el nombre del objeto (salida). Si se omite y no se especifica ninguna opción -o, el ensamblador anexa .obj al nombre base de source_file para crear el archivo de objeto.

Comentarios

En el ejemplo siguiente se muestra cómo usar armasm en un escenario típico. En primer lugar, use armasm para compilar un archivo de origen de lenguaje de ensamblado (.asm) en un archivo de objeto (.obj). A continuación, use el compilador C de la línea de comandos de CL para compilar un archivo de origen (.c) y especifique también la opción del enlazador para vincular el archivo de objeto ARM.

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

Consulte también

Mensajes de diagnóstico del ensamblador de ARM
Directivas de ensamblador de ARM