Directiva del ensamblador de ARM
Por lo general, el ensamblador de Microsoft ARM usa el lenguaje de ensamblado ARM, que se documenta en la Guía de referencia del compilador de ARM. Sin embargo, las implementaciones de Microsoft de algunas directivas de ensamblado difieren de las directivas de ensamblado de ARM. En este artículo se explican las diferencias.
Implementaciones de Microsoft de directivas de ensamblado de ARM
AREAEl ensamblador arm de Microsoft admite
AREAestos atributos: , , , , , , , ,ALIGNCODECODEALIGNDATANOINITREADONLYREADWRITETHUMBARM.Todos excepto y funcionan como se documenta en la Guía de referencia
THUMBARMdel compilador deTHUMBEn el ensamblador de Microsoft ARM, indica que una sección contiene código
THUMBThumb y es el valor predeterminado para lasCODECODEsecciones.ARMindica que la sección contiene código arm.ATTRNo se admite.
CODE16No se admite porque implica la sintaxis thumb anterior a UAL, que el ensamblador arm de Microsoft no permite. Use la
THUMBdirectiva en su lugar, junto con la sintaxis de UAL.COMMONNo se admite la especificación de una alineación para la región común.
DCDONo se admite.
DN,QN,SNNo se admite la especificación de un tipo o un carril en el alias de registro.
ENTRYNo se admite.
EQUNo se admite la especificación de un tipo para el símbolo definido.
EXPORTyGLOBALEspecifica las exportaciones con esta sintaxis:
EXPORT|GLOBALsymbol{[type]}symboles el símbolo que se va a exportar.[type], si se especifica, puede ser para indicar que el símbolo apunta a los datos o para indicar[DATA]que el símbolo apunta al[FUNC]código.GLOBALes un sinónimo deEXPORT.EXPORTASNo se admite.
FRAMENo se admite.
FUNCTIONyPROCLa sintaxis del ensamblado le permite especificar una convención de llamada personalizada en los procedimientos: enumera los registros que son llamador-guardar y los que son destinatario-guardado. Sin embargo, aunque el ensamblador de Microsoft ARM acepta la sintaxis , omite las listas de registros. La información de depuración que genera el ensamblador solo admite la convención de llamada predeterminada.
IMPORTyEXTERNEspecifica las importaciones con esta sintaxis:
IMPORT|EXTERNsymbol{, WEAKalias{, TYPEt}}symboles el nombre del símbolo que se va a importar.Si
WEAKaliasse especifica , indica que es unsymbolexterno débil. Si no se encuentra una definición para él en el momento del vínculo, todas las referencias a ella se enlazan en su lugar aalias.Si
TYPEtse especifica , indica cómotel vinculador debe intentar resolversymbol. Estos valores paratson posibles:Valor Descripción 1 No busque bibliotecas para symbol.2 Busque bibliotecas para symbol.3 symboles un alias paraalias(valor predeterminado).EXTERNes un sinónimo de , salvo que solo se importa si hay referencias aIMPORTél en el ensambladosymbolactual.MACRONo 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.
NOFPNo se admite.
OPT,TTL,SUBTNo se admite, porque el ensamblador de Microsoft ARM no genera listas.
PRESERVE8No se admite.
RELOCRELOC nsolo 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.REQUIRENo se admite.
REQUIRE8No se admite.
THUMBXNo se admite, porque el ensamblador de Microsoft ARM no admite el conjunto de instrucciones Thumb-2EE.
Vea también
Referencia de ensamblador Command-Line ARM
Mensajes de diagnóstico del ensamblador de ARM