Initialisation d'une variable externe
Bonjour !
Je travaille actuellement sur un problème, j'utilise TASM.
Le projet est composé de plusieurs fichiers, en C et un en ASM.
Dans un des fichiers C, une variable est déclarée comme ceci :
int *var;
Puis est initialisée dans le programme grâce à
Code:
1 2
| var = (int*) malloc (sizeof(int));
var = 15; |
Maintenant, mon but est de récupérer cette valeur "15" afin de la placer dans le pointeur de pile SS (afin d'effectuer un changement de processus pour un noyau ordonnanceur).
J'ai donc essayé simplement
Code:
1 2
| EXTRN _var ;pour accéder à la variable externe
MOV AX, [_var] ; pour placer la VALEUR de var (15) dans AX. |
Mais j'ai un massage d'erreur à la compilation qui me dit qu'il y a un pb d'opérande.
Le seul moyen que j'ai trouvé pour mettre une info de var dans AX est d'utiliser l'offset, mais ça ne fonctionne pas non plus... (ça compile, puis ça plante)
Code:
1 2
| MOV AX, offset _var
MOV AX, _var |
Ces 2 là ne fonctionnent pas...
Vous avez des idées ??
Merci
edit : je travaille en 8086...