Page 1 sur 1
MOV [REGISTRE] , POINTEUR
Publié : ven. 25/juin/2010 21:47
par G-Rom
Toujours moi a la découverte de l'ASM.
c'est plus clair dans ma tête , mais j'ai quelques difficulté de syntaxe.
J'ai un pointeur pb nommé *M
je veut le passer dans le registre EAX
MOV EAX , [adresse mémoire]
je remplis comment le champ adresse mémoire ? sachant qu'elle est contenu dans *M ?
Dois je passer par un registre intermédiaire ?
Re: MOV [REGISTRE] , POINTEUR
Publié : ven. 25/juin/2010 22:28
par Backup
ya pas une histoire de '
P.variable' pour les pointeurs ?
ou
?
Re: MOV [REGISTRE] , POINTEUR
Publié : ven. 25/juin/2010 22:57
par G-Rom
Le problème dans cette exemple , c'est que le contenu de la variable n'est pas modifiée.
il incrémente le pointeur , pas le contenu...
Code : Tout sélectionner
*M = AllocateMemory(4)
PokeI(*M,255)
Debug "ADRESSE AVANT INC EAX : " + Str(*M)
!MOV EAX,[p_M]
!INC EAX
!MOV [p_M],EAX
Debug "ADRESSE APRES INC EAX : " + Str(*M)
Re: MOV [REGISTRE] , POINTEUR
Publié : ven. 25/juin/2010 23:24
par djes
Pour modifier le contenu pointé (active l'asm)
Code : Tout sélectionner
CallDebugger
*M.integer = AllocateMemory(4)
*M\i = 255
Debug "ADRESSE AVANT INC EAX : " + Str(*M\i)
MOV EAX,[p_M]
INC DWORD [EAX]
MOV EBX,DWORD [EAX]
Debug "ADRESSE APRES INC EAX : " + Str(*M\i)
Re: MOV [REGISTRE] , POINTEUR
Publié : ven. 25/juin/2010 23:41
par G-Rom
Merci Djes
elle sert à rien cette ligne? :
Re: MOV [REGISTRE] , POINTEUR
Publié : sam. 26/juin/2010 0:25
par djes
Non, lol, j'ai oublié de l'enlever