Dword ptr / word ptr chez nasm [Résolu]

Messages postés
28
Date d'inscription
samedi 1 février 2003
Dernière intervention
27 septembre 2007
- - Dernière réponse : Micro_and_Macro
Messages postés
43
Date d'inscription
dimanche 26 mars 2006
Dernière intervention
1 août 2009
- 9 avril 2010 à 22:25
Bonjour à tous, je code sous nasm et voici mon problème :

Quand j'écris une instruction du type :
mov eax, dword ptr [ebx]
OU
cmp word ptr [ebx], 0h

j'obtiens cett erreur : comma or end of line expected.

Voilà je suppose que "dword ptr" n'est pas compris par nasm mais je ne sais pas par quoi le remplacer.
Merci de votre aide...
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Dernière intervention
29 septembre 2008
3
Merci
Bonjour Morganitos,



Effectivement la syntaxe de Nasm est légèrement différente de celle de Masm.

Masm considère les contenus comme des valeurs de variables. L'instruction

mov eax,dword ptr[ebx] signifie:



lire le contenu du registre ebx

considérer cette valeur comme un pointeur et donc constitue une adresse

lire le dword à l'adresse en question et le mettre dans eax.



Avec Nasm tu n'as qu'à écrire

mov eax,[ebx]



En règle générale avec Nasm tu doit oublier les ptr, les offsets et autres truc.

Pour Nasm, adresse est une adresse, le contenu situé à cette adresse est [adresse].

Il ne faut pas oublier les crochets.



Lecture d'une adresse d'une variable

mov eax,offset variable (MASM)

mov eax,variable (NASM)



Lecture du contenu d'une variable

mov eax,variable (MASM)

mov eax,[variable] (NASM)



Les 4 octets situés à partir de l'adresse variable sont accessibles individuellement de la façon suivante:

mov al,[variable] octet de poids faible

mov al,[variable+1]

mov al,[variable+2]

mov al,[variable+3] octet de poids fort




En résumé tu pourra transcrire

mov eax, dword ptr [ebx] par mov eax,[ebx]

et

cmp word ptr [ebx], 0h par cmp word [ebx],0 ou cmp [ebx],word 0

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Nasman
Messages postés
28
Date d'inscription
samedi 1 février 2003
Dernière intervention
27 septembre 2007
0
Merci
Merci beaucoup pour cet explication plus que complète !!!

Tu ne t'appelle pas Nasman pour rien... ;-)
Commenter la réponse de morganitos
Messages postés
43
Date d'inscription
dimanche 26 mars 2006
Dernière intervention
1 août 2009
0
Merci
Instructif, merci.

 
Commenter la réponse de Micro_and_Macro

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.