begin process at 2012 05 25 03:32:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

c, c++ et asm

 > 

Ca doit pas être bien compliqué!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ca doit pas être bien compliqué!

mercredi 27 novembre 2002 à 19:14:36 | Ca doit pas être bien compliqué!

david23

Quelqu'un pourrait-il m'expliquer la marche à suivre pour appeler un routine en assembleur depuis un code en C ou C++?
(syntaxe, passage de paramètre...)
Un petit exemple simple serait bienvenu.
(J'utilise gcc et nasm sous linux)

mercredi 27 novembre 2002 à 23:37:41 | Re : Ca doit pas être bien compliqué!

gblade


je travail sous win32 uniquement donc ca va etre dur de repondre mais pour le standard C les appels de fonctions de tte facon ont tjrs la mm syntaxe, les caracteristiques sont :
- passage des arguments de droite a gauche
- c la fonction appelante qui vide la pile
- ajout d'un underscore devant le nom des fonctions
- respect de la casse

voila c tt ce ke je sait ^^

pr un exemple je crois ke ca sera pas possible vu quon a pas le mm environnement

-------------------------------
Réponse au message :
-------------------------------

Quelqu'un pourrait-il m'expliquer la marche à suivre pour appeler un routine en assembleur depuis un code en C ou C++?
(syntaxe, passage de paramètre...)
Un petit exemple simple serait bienvenu.
(J'utilise gcc et nasm sous linux)


vendredi 29 novembre 2002 à 19:01:43 | Re : Ca doit pas être bien compliqué!

david23

Ok. je vais être plus précis.
Je travaille habituellement uniquement en C++. Je débute en assembleur. Ce que je veux faire est appeler une routine assembleur depuis un programme C++.
Je compile le code C++ et obtient un fichier obfet 'machin.o'
J'assemble la routine en assembleur avec nasm -f elf ... et j'obtien un autre fichier objet 'routinetruc.o' J'aimerais ensuite pouvoir les linker ensemble (g++ -o executable routinetruc.o machin.o)
Evidement ça marche pas tout seul car le linker ne sais pas que la fonction que j'appelle depuis le C++ est codeé dans 'routinetruc.o'
Le seul truc qui me manque, c'est comment je déclare dans mon code assembleur ce lien.

J'spere que j'ai été clair .....




-------------------------------
Réponse au message :
-------------------------------


je travail sous win32 uniquement donc ca va etre dur de repondre mais pour le standard C les appels de fonctions de tte facon ont tjrs la mm syntaxe, les caracteristiques sont :
- passage des arguments de droite a gauche
- c la fonction appelante qui vide la pile
- ajout d'un underscore devant le nom des fonctions
- respect de la casse

voila c tt ce ke je sait ^^

pr un exemple je crois ke ca sera pas possible vu quon a pas le mm environnement

-------------------------------
Réponse au message :
-------------------------------

Quelqu'un pourrait-il m'expliquer la marche à suivre pour appeler un routine en assembleur depuis un code en C ou C++?
(syntaxe, passage de paramètre...)
Un petit exemple simple serait bienvenu.
(J'utilise gcc et nasm sous linux)



vendredi 29 novembre 2002 à 21:51:17 | Re : Ca doit pas être bien compliqué!

gblade


fo declarer tes routines public

public routine

-------------------------------
Réponse au message :
-------------------------------

Ok. je vais être plus précis.
Je travaille habituellement uniquement en C++. Je débute en assembleur. Ce que je veux faire est appeler une routine assembleur depuis un programme C++.
Je compile le code C++ et obtient un fichier obfet 'machin.o'
J'assemble la routine en assembleur avec nasm -f elf ... et j'obtien un autre fichier objet 'routinetruc.o' J'aimerais ensuite pouvoir les linker ensemble (g++ -o executable routinetruc.o machin.o)
Evidement ça marche pas tout seul car le linker ne sais pas que la fonction que j'appelle depuis le C++ est codeé dans 'routinetruc.o'
Le seul truc qui me manque, c'est comment je déclare dans mon code assembleur ce lien.

J'spere que j'ai été clair .....




-------------------------------
Réponse au message :
-------------------------------


je travail sous win32 uniquement donc ca va etre dur de repondre mais pour le standard C les appels de fonctions de tte facon ont tjrs la mm syntaxe, les caracteristiques sont :
- passage des arguments de droite a gauche
- c la fonction appelante qui vide la pile
- ajout d'un underscore devant le nom des fonctions
- respect de la casse

voila c tt ce ke je sait ^^

pr un exemple je crois ke ca sera pas possible vu quon a pas le mm environnement

-------------------------------
Réponse au message :
-------------------------------

Quelqu'un pourrait-il m'expliquer la marche à suivre pour appeler un routine en assembleur depuis un code en C ou C++?
(syntaxe, passage de paramètre...)
Un petit exemple simple serait bienvenu.
(J'utilise gcc et nasm sous linux)




mardi 3 décembre 2002 à 11:09:36 | Re : Ca doit pas être bien compliqué!

david23




j'ai pas réussi avec public (mauvaise syntaxe pour nasm ou je sais pas koi) mais avec GLOBAL, c'est ok! Merci.
Il me reste maintenant à en apprendre plus sur l'assembleur pour coder cette routine (string matching)...

-------------------------------
Réponse au message :
-------------------------------


fo declarer tes routines public

public routine

mardi 3 décembre 2002 à 11:25:37 | Re : Ca doit pas être bien compliqué!

gblade


dsl pr la mauvaise info, j'utilise MASM dc je savais pas ;)

-------------------------------
Réponse au message :
-------------------------------




j'ai pas réussi avec public (mauvaise syntaxe pour nasm ou je sais pas koi) mais avec GLOBAL, c'est ok! Merci.
Il me reste maintenant à en apprendre plus sur l'assembleur pour coder cette routine (string matching)...

-------------------------------
Réponse au message :
-------------------------------


fo declarer tes routines public

public routine




Cette discussion est classée dans : compliqué


Répondre à ce message

Sujets en rapport avec ce message

Deux Questions (Pas compliqué) [ par Dalamar ] Je commence en Assembleur et j'ai deux questions:1-Je travaille avec dev-c++ et je voudrais savoir comment on inclus de l'assembleur2-J'ai trouvé u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales