begin process at 2012 02 09 06:19:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

dword ptr / word ptr chez nasm


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

dword ptr / word ptr chez nasm

lundi 2 janvier 2006 à 14:12:55 | dword ptr / word ptr chez nasm

morganitos

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...
lundi 2 janvier 2006 à 15:03:02 | Re : dword ptr / word ptr chez nasm

Nasman

Réponse acceptée !
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
mardi 3 janvier 2006 à 19:10:57 | Re : dword ptr / word ptr chez nasm

morganitos

Merci beaucoup pour cet explication plus que complète !!! Tu ne t'appelle pas Nasman pour rien... ;-)
vendredi 9 avril 2010 à 22:25:39 | Re : dword ptr / word ptr chez nasm

Micro_and_Macro



Instructif, merci.

 


Cette discussion est classée dans : word, ptr, dword, nasm, ebx


Répondre à ce message

Sujets en rapport avec ce message

Fichier [ par RM50Man ] Je lis dans un fichier et je reecris ce que g lu dans l autre, mais ca ne m ecrit pas dans le nouveau fichier ce que g lu ds l autre fichier !!!!Si qu optimisation [ par sajid_morad ] salut tout le monde , j ai une parti du code en c++, que j ai voulu optimiser , le l ai reécri en asm , mai ça donne pas grand chose, si quelqu un po "MOV WORD, EBX" Comment faire ? [ par Nowid50 ] Bonjour,Je suis débtant en assembleur et après quelques recherches, je ne trouve pas mon bonheur.Mon application requiert que je face l'instruction su en quel langage est ecrit ce programme [ par jedilu ] bonjouren quel language est ecrit ce programme car j'ai un probleme pour le lancermerci00629DE5   AE               SCAS BYTE PTR ES:[EDI]00629DE6   9E Problemme avec mes character... XD [ par belette321 ] J'esseil d'ajouter une commande administrateur a dans un des mes jeux en-ligne, /admin_popup (Fait apparaitre un MSG dans une boite dans le lobby). Un REVERSE ENGEEER aide API [ par Fuckly94 ] Salut tout le monde!!je me lance dans le reverse engeneer,c'est à dire la modification de programme déja compilé!!le seul probléme que j'ai,c'est pour inversion de l'ordre d'uns string [ par VBFRANCE ] Je suis un jeune debutant dans l'assembleur.J'ai un petit prog pour afficher les valeur sous format binaire, mais je suis bloquer par un petit soucis. [NASM] binary output format ??? [ par sheeper ] Bonjour,Comment fait on pour faires des appels aux API sous NASM ?? J'ai bien vu plusieurs sources sur le site qui le faisaient ainsi (en gros):%INCLU nombre premier en nasm [ par YAWLY ] MED.MERZOUG salut tout le monde vous pouvez m'aider si j le compile sa affiche chaque fois le nbr est non premeir > le code est : Section .date ch GetProcAddress d'une procédure dans une Dll [ par biloute54 ] bonjour, j'essaie d'appeler une procédure dans une DLL, mais GetProcAddress me retourne 0 [u]programme principal :[/u] [code=autre] dll DWORD ? fnc


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales