Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
En règle générale, l’assembleur Microsoft ARM utilise le langage d’assembly ARM, qui est documenté dans le guide de référence du compilateur ARM. Toutefois, les implémentations Microsoft de certaines directives d’assembly diffèrent des directives d’assembly ARM. Cet article explique les différences.
Implémentations Microsoft des directives d’assembly ARM
AREAL’assembleur Microsoft ARM prend en charge ces
AREAattributs :ALIGN,READONLYNOINITCODEALIGNCODEDATA,READWRITE, .ARMTHUMBTous sauf
THUMBetARMfonctionnent comme documentés dans le Guide de référence du compilateur ARM.Dans l’assembleur Microsoft ARM,
THUMBindique qu’uneCODEsection contient du code Pouce et est la valeur par défaut pourCODEles sections.ARMindique que la section contient du code ARM.ATTRNon pris en charge.
CODE16Non pris en charge, car il implique une syntaxe pouce pré-UAL, que l’assembleur Microsoft ARM n’autorise pas. Utilisez plutôt la
THUMBdirective, ainsi que la syntaxe UAL.COMMONLa spécification d’un alignement pour la région commune n’est pas prise en charge.
DCDONon pris en charge.
DN, ,QNSNLa spécification d’un type ou d’une voie sur l’alias d’inscription n’est pas prise en charge.
ENTRYNon pris en charge.
EQULa spécification d’un type pour le symbole défini n’est pas prise en charge.
EXPORTetGLOBALSpécifie les exportations à l’aide de cette syntaxe :
EXPORT|GLOBALsymbol{[type]}symbolest le symbole à exporter.[type], s’il est spécifié, peut être[DATA]soit pour indiquer que le symbole pointe vers des données ou[FUNC]pour indiquer que le symbole pointe vers le code.GLOBALest un synonyme deEXPORT.EXPORTASNon pris en charge.
FRAMENon pris en charge.
FUNCTIONetPROCLa syntaxe d’assembly vous permet de spécifier une convention d’appel personnalisée sur les procédures : vous répertoriez les registres qui sont appelant-enregistrer et ceux qui sont appelés-enregistrer. Toutefois, alors que l’assembleur Microsoft ARM accepte la syntaxe, il ignore les listes d’inscriptions. Les informations de débogage générées par l’assembleur prennent uniquement en charge la convention d’appel par défaut.
IMPORTetEXTERNSpécifie les importations à l’aide de cette syntaxe :
IMPORT|EXTERNsymbol{, WEAKalias}, TYPEt}symbolest le nom du symbole à importer.S’il
WEAKaliasest spécifié, il indique qu’ilsymbols’agit d’un externe faible. Si une définition pour celle-ci n’est pas trouvée au moment du lien, toutes les références à celle-ci sont liées à la place àalias.Si
TYPEtelle est spécifiée,tindique comment l’éditeur de liens doit tenter de résoudresymbol. Ces valeurstsont possibles :Valeur Description 1 Ne recherchez pas les bibliothèques . symbol2 Rechercher des bibliothèques pour symbol.3 symbolest un alias pouralias(valeur par défaut).EXTERNest un synonyme deIMPORT, sauf qu’ilsymbolest importé uniquement s’il y a des références à celle-ci dans l’assembly actuel.MACROL’utilisation d’une variable pour contenir le code de condition d’une macro n’est pas prise en charge. Les valeurs par défaut des paramètres de macro ne sont pas prises en charge.
NOFPNon pris en charge.
OPT, ,TTLSUBTNon pris en charge, car l’assembleur Microsoft ARM ne produit pas de listes.
PRESERVE8Non pris en charge.
RELOCRELOC npeut uniquement suivre une instruction ou une directive de définition de données. Il n’y a pas de « symbole anonyme » qui peut être déplacé.REQUIRENon pris en charge.
REQUIRE8Non pris en charge.
THUMBXNon pris en charge, car l’assembleur Microsoft ARM ne prend pas en charge le jeu d’instructions Thumb-2EE.
Voir aussi
Référence de la ligne de commande de l’assembleur ARM
Messages de diagnostic de l’assembleur ARM