Numéro d'article: 111500 - Dernière mise à jour: mardi 14 octobre 2003 - Version: 1.1

N° de bogue : Virgules de fin peut provoquer des messages d'erreur incorrect

Sommaire

Agrandir tout | Réduire tout

Symptômes

Si des virgules extra fin sont placées à la fin d'une instruction de déclaration de données, Microsoft Macro Assembler (MASM) peut générer des messages d'erreur incorrect, ce qui peuvent inclure :
erreur A2207 : parenthèse droite dans l'expression manquante
erreur A2081 : opérande manquant après l'opérateur unaire
erreur A2206 : opérateur manquant dans expression
erreur A2050 : réel ou le numéro de BCD interdit
Le message donné peut varient selon le code avoisinant. Dans certains cas incorrect est attribué au message uniquement lorsqu'un fichier listing est généré (le commutateur /Fl est utilisé). Dans d'autres cas les messages d'erreur peuvent signaler la ligne incorrecte.

Résolution

Si un message d'erreur semble incorrecte, vérifiez la ligne indiquée et les lignes adjacentes pour les virgules supplémentaires ou mal placés.

Statut

Microsoft a confirmé l'existence de ce problème dans MASM versions 6.1 x. Nous recherche ce problème et nous publierons de nouvelles informations dans la base de connaissances Microsoft dès que possible.

Plus d'informations

Le message d'erreur attendu pour les virgules superflues à la fin d'une instruction de déclaration de données est :
erreur A2009 : erreur de syntaxe dans l'expression
Notez que les erreurs incorrects se produisent uniquement lorsque plus d'une virgule de poids faible est utilisée.

S'il existe une seule virgule de poids faible et la ligne suivante est vide ou un commentaire puis aucune erreur n'est signalée. La virgule de poids faible indique que les données sur la ligne suivante doivent être concaténées pour les données précédentes. Un espace ou un commentaire de ligne est ignorée par MASM et donc rien n'est effectuée. Toutefois, si une virgule unique se produit et la ligne suivante n'est pas vide ou un commentaire et ne contient-elle pas de données correct pour le type allouée, l'erreur correcte sera généré. Par exemple
   db "Hello",
   nop
				
génère correctement :
erreur A2008 : erreur de syntaxe : nop
L'exemple suivant illustre plusieurs messages d'erreur incorrecte possible lorsque assemblé avec MASM 6.1 x. Les messages d'erreur et leurs emplacements ne sont pas affichés dans l'exemple de code comme commentaires dans la mesure où ajouter les commentaires modifiera le comportement de MASM.

Exemple de code

;Assembly options needed: /c /Fl

.model small

.data
   db "1",,

   db "1",
      "2",,

   db "1",,
      "2",

   db "1",
      "2",,
      "!"

end
				

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Macro Assembler 6.1 Standard Edition
  • Microsoft Macro Assembler 6.1a
  • Microsoft Macro Assembler 6.11 Standard Edition
Mots-clés : 
kbmt KB111500 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 111500  (http://support.microsoft.com/kb/111500/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Retired KB ArticleExclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
 

Traductions disponibles