PureBasic

Forums PureBasic
Nous sommes le Mer 21/Aoû/2019 23:44

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 
Auteur Message
 Sujet du message: une petite explication sur mov
MessagePosté: Mer 21/Avr/2010 20:35 
Hors ligne

Inscription: Lun 12/Avr/2010 22:17
Messages: 44
Bonsoir,
je suis vraiment très très nul en asm, mais j'essaie de mis mettre doucement et surement ! :p
voila je recherche des adresses de base dans différents programme et je suis tombé la dessus :
mov [eax], esi
EAX = 0BBF0648
ESI = 0000002B
donc d'après le peu de chose que je connais ESI est une constante. mais je comprend pas bien on déplace la valeur
de la constante ESI dans EAX ? on ajoute soustrait ?
Merci par avance pour votre aide !
Aliong


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: une petite explication sur mov
MessagePosté: Mer 21/Avr/2010 23:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 08/Jan/2010 1:14
Messages: 808
Localisation: Québec, Canada
Bonjour à toi!

Pour commencer, si tu pouvait nous dire ton assembleur que tu utilise ( Il en existe plusieurs : Nasm, GAS, Masm, Tasm et des poussières... ).
Quoique pour ce problème ce ne soit pas vraiment necéssaire! ESI est un registre, et non une constante. C'est la version étendue ( 32 bits ) du registre SI il me semble. Elle pointe généralement vers un bout de mémoire important ( Désolé, je ne me rapelle plus très bien des bases! ).
La fonction MOV permet de placer la valeur d'un registre ou bien tout simplement une donnée dans l'un des registre. Elle ne soustrait ni addition. Elle remplace simplement la valeur du premier registre par celui du deuxième indiquer.

MOV [Cible], [Donnée/Registre]

Bon codage!

EDIT : J'avais pas remarquer sur le coup, mais il y a des crochets autour du registre cible. Cela change tout le sens de l'instruction. Lorsque nous employons des balises, cela veut dire "L'adresse de ...". Pour ton instruction par exemple, cela signifie "Copier la valeur du registre ESI à l'adresse du registre EAX". Ce qui pour moi n'a pas trop de sens... :?
Y a-t-il un autre expert dans la salle? :lol:

Sinon, je peux aussi te conseiller ce tutoriel. Il n'offre que l'assembleur avec Tasm en 16 bits ( Voir section Download ), mais il contient les bases de n'importe lequel assembleur à savoir : les instructions et la syntaxe.
http://www.iprezo.org/index.php?page=asm


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: une petite explication sur mov
MessagePosté: Jeu 22/Avr/2010 7:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 27/Oct/2006 12:19
Messages: 1224
Localisation: Calvados (14)
Warkering a écrit:
EDIT : J'avais pas remarquer sur le coup, mais il y a des crochets autour du registre cible. Cela change tout le sens de l'instruction. Lorsque nous employons des balises, cela veut dire "L'adresse de ...". Pour ton instruction par exemple, cela signifie "Copier la valeur du registre ESI à l'adresse du registre EAX". Ce qui pour moi n'a pas trop de sens... :?


Salut

je ne suis pas expert, loin de là, mais j'ai quelques reste ASM 8 bits et 16 bits.
Copier une valeur/registre dans un autre registre permet de modifier ce registre, mais les crochets permettent de modifier "l'octet" à l'adresse de ce registre.
Si EAX = 0BBF0648 et ESI = 0000002B, et que les valeurs à ces emplacements mémoire soient respectivement FFFFFFFF et 99999999, alors on a :

Mov eax, esi ==> EAX=0000002B ==> Emplacement mémoire 0BBF0648 contient toujours FFFFFFFF
Mov[eax],esi ==> EAX=0BFF0648 ==> Emplacement mémoire 0BBF0648 contient maintenant 99999999

les crochets permettent de changer la valeur à une adresse mémoire indiquée par le registre eax par celle contenue dans ESI.

Aux experts : ai-je bien expliqué ?

_________________
Image

Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: une petite explication sur mov
MessagePosté: Jeu 22/Avr/2010 7:37 
Hors ligne

Inscription: Lun 12/Avr/2010 22:17
Messages: 44
TazNormand a écrit:
Warkering a écrit:
Aux experts : ai-je bien expliqué ?

je sais pas si tu as bien expliqué une chose est sur c'est que j'ai très bien compris et je vous remerci tous les deux pour vos réponses.
donc si j'ai bien compris ce que je recherche est stocké dans 0000002B.
je test et vous tiens au courant ! merci encore pour votre aide !
Aliong


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye