[resolu] Valeur de pointeur en assembleur

Valeur de pointeur en assembleur [resolu] - ASM - Programmation

Marsh Posté le 14-11-2006 à 19:59:00    

Bonjour !
Je me prend la tête depuis plusieurs heures sur un problème et j'avance pas.
 
Mettons que j'ai une variable du type :
int *var;
 
Qui est donc un pointeur vers un entier.
Cette variable est initialisée.
 
Lors d'un fichier en assembleur, j'aurais voulu la valeur de cette variable (l'équivalent du *var en C).
On accède à var par
EXTRN _var
 
J'ai essayé :
- MOV BX,_var
Operande ne fonctionne pas
 
- MOV BX, OFFSET _var
Cette version fonctionne, mais je n'ai pas *var, mais var, et donc l'adresse de var...
 
C'est compliqué....
 
Pouvez-vous me donner un coup de main ?
 :hello:  
Merci


Message édité par ForgetTheNorm le 15-11-2006 à 08:55:52
Reply

Marsh Posté le 14-11-2006 à 19:59:00   

Reply

Marsh Posté le 14-11-2006 à 20:39:17    

mov bx, [_var]
 
edit: et encore de l'assembleur 16 bits :pfff:

Message cité 1 fois
Message édité par Harkonnen le 14-11-2006 à 21:37:19

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-11-2006 à 08:19:33    

Harkonnen a écrit :

mov bx, [_var]
 
edit: et encore de l'assembleur 16 bits :pfff:


 
Ca ne fonctionne pas mieux :
Erreur dans l'opérande...

Reply

Marsh Posté le 15-11-2006 à 08:55:40    

Réponse trouvée tout seul :
Il fallait appeler EXTRN _var : WORD
(et non pas EXTRN _var : NEAR)....
 
Merci quand même :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed