Compartir a través de


Directiva del ensamblador de ARM

Por lo general, el ensamblador de ARM de Microsoft usa el lenguaje de ensamblado ARM, que se documenta en la Guía de referencia armasm del compilador de ARM. Sin embargo, las implementaciones de Microsoft de algunas directivas de ensamblado difieren de las directivas de ensamblado ARM. En este artículo se explican la diferencias.

Implementaciones de Microsoft de directivas de ensamblado ARM

  • AREA

    El ensamblador de ARM de Microsoft admite estos atributos de AREA: ALIGN, CODE, CODEALIGN, DATA, NOINIT, READONLY, READWRITE, THUMB, ARM.

    Todos, excepto THUMB y ARM, funcionan como se documenta en la Guía de referencia armasm del compilador de ARM.

    En el ensamblador de ARM de Microsoft, THUMB indica que una sección CODE contiene código Thumb y es el valor predeterminado para las secciones CODE. ARM indica que la sección contiene código ARM.

  • ATTR

    No admitida.

  • CODE16

    No es compatible porque implica el uso de la sintaxis pre-UAL Thumb, que el ensamblador de ARM de Microsoft no permite. Use la directiva THUMB en su lugar, junto con la sintaxis UAL.

  • COMMON

    No se admite la especificación de una alineación para la región común.

  • DCDO

    No admitida.

  • DN, , QN, SN

    No se admite la especificación de un tipo o un carril en el alias de registro.

  • ENTRY

    No admitida.

  • EQU

    No se admite la especificación de un tipo para el símbolo definido.

  • EXPORT y GLOBAL

    Especifica las exportaciones mediante esta sintaxis:

    EXPORT|GLOBALsymbol{[type]}

    symbol es el símbolo que se va a exportar. [type], si se especifica, puede ser [DATA] para indicar que el símbolo apunta a datos o [FUNC] para indicar que el símbolo apunta al código. GLOBAL es un sinónimo de EXPORT.

  • EXPORTAS

    No compatible.

  • FRAME

    No compatible.

  • FUNCTION y PROC

    La sintaxis del ensamblado le permite especificar una convención de llamada personalizada en los procedimientos: usted enumera los registros que se guardan por autor de llamada y los que se guardan por destinatario. Sin embargo, aunque el ensamblador de ARM de Microsoft acepta la sintaxis, omite las listas de registro. La información de depuración que genera el ensamblador solo admite la convención de llamada predeterminada.

  • IMPORT y EXTERN

    Especifica las importaciones mediante esta sintaxis:

    IMPORT|EXTERNsymbol{, WEAK alias{, TYPE t}}

    symbol es el nombre del símbolo que se va a importar.

    Si WEAK alias se especifica , indica que symbol es un externo débil. Si no se encuentra una definición para este elemento en tiempo de vínculo, todas las referencias a él se enlazan a alias.

    Si TYPE t se especifica , t indica cómo el enlazador debe intentar resolver symbol. Estos son valores posibles para t:

    Valor Description
    1 No busque bibliotecas para symbol.
    2 Busque bibliotecas para symbol.
    3 symbol es un alias para alias (valor predeterminado).

    EXTERN es un sinónimo de IMPORT, excepto que symbol se importa solo si hay referencias a él en el ensamblado actual.

  • MACRO

    No se admite el uso de una variable para contener el código de condición de una macro. No se admiten los valores predeterminados para los parámetros de macro.

  • NOFP

    No admitida.

  • OPT, , TTL, SUBT

    No son compatibles, ya que el ensamblador de ARM de Microsoft no genera listas.

  • PRESERVE8

    No admitida.

  • RELOC

    RELOC n solo puede seguir una instrucción o una directiva de definición de datos. No hay ningún "símbolo anónimo" que se pueda reubicar.

  • REQUIRE

    No compatible.

  • REQUIRE8

    No compatible.

  • THUMBX

    No es compatible, porque el ensamblador de ARM de Microsoft no admite el conjunto de instrucciones Thumb-2EE.

Consulte también

Referencia de la línea de comandos del ensamblador de ARM
Mensajes de diagnóstico del ensamblador de ARM