Instruction assembleur dans un code c
martur
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
martur Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
martur Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour pour tous
J'utilise le GCC pour la compilation d'un code C.
Dans mon code j'ai un tableau et je veux affecter à chaque élément du tableau une valeur se trouvant en mémoire . Par exemple TAB[0] prend la valeur à l'adresse 0x0.
Donc je dois utiliser une instruction en assembleur pour faire cela .
Est ce que quelqu'un une idée comment faire çà.
J'ai utilisé une instruction pour enregistré une output de mon code c dans la mémoire
("l.sw\t0x0(r0) : : "r" (y[0]));
mais pour le chargement j'ai pas d'idée
Je tiens a votre aide
Merci
J'utilise le GCC pour la compilation d'un code C.
Dans mon code j'ai un tableau et je veux affecter à chaque élément du tableau une valeur se trouvant en mémoire . Par exemple TAB[0] prend la valeur à l'adresse 0x0.
Donc je dois utiliser une instruction en assembleur pour faire cela .
Est ce que quelqu'un une idée comment faire çà.
J'ai utilisé une instruction pour enregistré une output de mon code c dans la mémoire
("l.sw\t0x0(r0) : : "r" (y[0]));
mais pour le chargement j'ai pas d'idée
Je tiens a votre aide
Merci
A voir également:
- Instruction assembleur dans un code c
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
8 réponses
Je ne vois pas pourquoi tu as besoin d'une instruction en assembleur. Il suffit d'utiliser un pointeur. Tu peux même faire pointer ton tableau directement sur l'adresse que tu veux . Exemple tab = 0x0; tab + 1 = 0x2;
Merci pour ta réponse
bon j'ai pas de compétence en c.
Donc si je pointe mon tab à l'adresse 0 donc tab[0] aura la valeur existante à l'adresse 0??
bon j'ai pas de compétence en c.
Donc si je pointe mon tab à l'adresse 0 donc tab[0] aura la valeur existante à l'adresse 0??
Alors un pointeur c'est un variable qui stocke une adresse. C'est à dire que si tu met tab = 0x0; tu pointeras vers l'adresse 0x0 ( tu pourras donc accéder à la valeur qui se trouve à cette adresse)
Ensuite si tu veux seulement stocker dans ton tableau la valeur qui est à cette adresse il faut indiquer seulement la valeur:
char *p = 0x0;
*tab = *p;
Ensuite si tu veux seulement stocker dans ton tableau la valeur qui est à cette adresse il faut indiquer seulement la valeur:
char *p = 0x0;
*tab = *p;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok j'ai testé et c bon . Merci bien
Je vais profiter de votre connaissance pour les pointeurs . Donc est ce que je peux enregistrer une résultat à une adresse bien défini??
Je vais profiter de votre connaissance pour les pointeurs . Donc est ce que je peux enregistrer une résultat à une adresse bien défini??
De rien.
En ce qui concerne la sauvegarde à une adresse bien définie ça dépend si l'espace mémoire correspondant a déjà été alloué ou pas.
Si cette adresse correspond à un pointeur déjà alloué pas de problème, il suffit de faire *p = valeur.
Par contre si tu veux choisir l'adresse à laquelle allouer ca devient beaucoup plus compliqué, et honnêtement je ne sais pas si c'est possible. Je sais que sous les systèmes d'exploitation respectant la norme POSIX c'est possible avec la fonction mmap mais je pense que ca dépasse nos compétences à tous les 2 ^^.
En ce qui concerne la sauvegarde à une adresse bien définie ça dépend si l'espace mémoire correspondant a déjà été alloué ou pas.
Si cette adresse correspond à un pointeur déjà alloué pas de problème, il suffit de faire *p = valeur.
Par contre si tu veux choisir l'adresse à laquelle allouer ca devient beaucoup plus compliqué, et honnêtement je ne sais pas si c'est possible. Je sais que sous les systèmes d'exploitation respectant la norme POSIX c'est possible avec la fonction mmap mais je pense que ca dépasse nos compétences à tous les 2 ^^.
Oui je veux choisir l'adresse.
Pas de pb j'utilise une instruction assembleur pour faire celà.
J'ai voulu just la changer si c'est possible en c .
Merci
Pas de pb j'utilise une instruction assembleur pour faire celà.
J'ai voulu just la changer si c'est possible en c .
Merci