PureBasic
https://www.purebasic.fr/french/

MOV [REGISTRE] , POINTEUR
https://www.purebasic.fr/french/viewtopic.php?f=12&t=10717
Page 1 sur 1

Auteur:  G-Rom [ Ven 25/Juin/2010 21:47 ]
Sujet du message:  MOV [REGISTRE] , POINTEUR

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 ?

Auteur:  Backup [ Ven 25/Juin/2010 22:28 ]
Sujet du message:  Re: MOV [REGISTRE] , POINTEUR

ya pas une histoire de 'P.variable' pour les pointeurs ?

Code:
p.v_toto


ou

Code:
P_toto
?

Auteur:  G-Rom [ Ven 25/Juin/2010 22:57 ]
Sujet du message:  Re: MOV [REGISTRE] , POINTEUR

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:
*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)

Auteur:  djes [ Ven 25/Juin/2010 23:24 ]
Sujet du message:  Re: MOV [REGISTRE] , POINTEUR

Pour modifier le contenu pointé (active l'asm)
Code:
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)

Auteur:  G-Rom [ Ven 25/Juin/2010 23:41 ]
Sujet du message:  Re: MOV [REGISTRE] , POINTEUR

Merci Djes
elle sert à rien cette ligne? :

Code:
MOV EBX,DWORD [EAX]

Auteur:  djes [ Sam 26/Juin/2010 0:25 ]
Sujet du message:  Re: MOV [REGISTRE] , POINTEUR

Non, lol, j'ai oublié de l'enlever :)

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/