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 ?
MOV [REGISTRE] , POINTEUR
Re: MOV [REGISTRE] , POINTEUR
ya pas une histoire de 'P.variable' pour les pointeurs ?
ou
?
Code : Tout sélectionner
p.v_toto
ou
Code : Tout sélectionner
P_toto
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...
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
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
Non, lol, j'ai oublié de l'enlever