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
yARM
, 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ónCODE
contiene código Thumb y es el valor predeterminado para las seccionesCODE
.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
yGLOBAL
Especifica las exportaciones mediante esta sintaxis:
EXPORT
|GLOBAL
symbol
{[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 deEXPORT
.EXPORTAS
No compatible.
FRAME
No compatible.
FUNCTION
yPROC
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
yEXTERN
Especifica las importaciones mediante esta sintaxis:
IMPORT
|EXTERN
symbol
{, WEAK
alias
{, TYPE
t
}}symbol
es el nombre del símbolo que se va a importar.Si
WEAK
alias
se especifica , indica quesymbol
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 aalias
.Si
TYPE
t
se especifica ,t
indica cómo el enlazador debe intentar resolversymbol
. Estos son valores posibles parat
:Valor Description 1 No busque bibliotecas para symbol
.2 Busque bibliotecas para symbol
.3 symbol
es un alias paraalias
(valor predeterminado).EXTERN
es un sinónimo deIMPORT
, excepto quesymbol
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