Accueil > Forum > > > > Probleme de compilation je pense
Probleme de compilation je pense
samedi 9 juillet 2005 à 13:25:35 |
Probleme de compilation je pense

Merzhin79
|
ALors c'est assez compliqué alors je vais expliquer ca point par point :
1-j'ai un bootsect en assembleur qui reste en mode reel, qui charge un programme a l'adresse 100:0 et qui le lance.
2-Le programme charger reinitialisise ces segments de données ect.. puis j'apelle un procedure que j'ai ecrite en C qui se nomme "principal".
3-Cette procedure ecrite en C va appeler une fonction par exemple "void test(void)" qui ne fait rien. Quand je debug sous BOCHS, pas de probleme, on voit bien les deux CALL passer (principal + test).
4-Je modifie la fonction test pour prendre un argument (par exemple un int) et je relance le debug sous BOCHS. Le premier CALL a la premiere fonction en C (principal) marche, ensuite il me met n'importe quoi (j'ai pas chercher a savoir ce qu'il faisait exactement) puis il fait un rtn. Bref il a pas fait le CALL de ma deuxieme fonction "test".
Et cela se produit seulement quand je rajoute un argument dans la focntion "test". Je pense avoir un probleme de compilation ou peut etre de lien (j'avoue etre perdue la).
Voila la ligne pour la compilation : gcc -c kernel.c
Je signale aussi que je reste en permanence en mode reel.
|
|
samedi 9 juillet 2005 à 14:35:43 |
Re : Probleme de compilation je pense

ToutEnMasm
|
Salut, Un bon debugger doit faire l'affaire,mais il faudrait quand même préciser si c'est du 16 ou du 32 bits.De l'assembleur ou du mitigé assembleur C,inline pas inline etc ..... ToutEnMasm
|
|
samedi 9 juillet 2005 à 18:58:59 |
Re : Probleme de compilation je pense

Merzhin79
|
Alors c'est du 16 bits et les fonctions ne sont pas inliné.
|
|
dimanche 10 juillet 2005 à 19:37:09 |
Re : Probleme de compilation je pense

ToutEnMasm
|
Salut, C'est déja plus précis,je suspecte des conventions d'appels non respectés.Un appel a une fonction C ne s'écrit pas comme un appel a une fonction asm.Un appel long ne se code pas comme un appel court avec retn.
Pour savoir si le stack Frame (encadrement de la pile en bon franchouillard) est correct frapper ces mots dans MSDN et sa vous ménera directement aux conventions d'appels par proc.Chaque proc est construit suivant un modèle de gestion de la pile qui lui est propre et avec d'autres particularités. Soit l'assembleur fait le travail et on est bien content de ne pas avoir a régler ce genre de détails,soit on essaye de construire soit même un stack frame avec les instructions leave et ret N , mais c'est du bricolage. Masm résoud le problème avec l'instruction proc (construction du Stack frame) et proto (pour la convention d'appel).La convention d'appel peut être standard ou C. Dans quels cas vous placer vous ?. ToutEnMasm
|
|
samedi 30 juillet 2005 à 17:45:22 |
Re : Probleme de compilation je pense

Merzhin79
|
J'ai compris c'est que comme je l'indiquer je suis en mode reel (donc 16 bit) hors GCC est un compilateur 32 bits (donc non compatible avec le mode reel et c'est pourquoi cela marche en mode proteger).
Pour forcer GCC a compiler en 16 bit, il suffit de rajouter l'instruction asm .code16 dans le code.
Bon ben j'ai plus quà continuer.
|
|
Cette discussion est classée dans : fonction, probleme, test, compilation, pense
Répondre à ce message
Sujets en rapport avec ce message
probleme de cryptage avec la fonction crypt [ par kapes ]
j'ai un probleme avec la foncion crypt() de c.en effet, j'ai ecrit un programme c qui creer des comptes utilisateurs. A l'interieur de cette fonction
compilation sous MPLAB [ par alphab18 ]
slt j'ai toujours un probleme de compilation sous MPLAB quand je prend un code du net ,et que je le copie dans mplab pour tester s'il fonctionne .j'
Probleme de dll! (arguments...) [ par BlackWizzard ]
salut les pro!voila, G une fonction contenu dans une dll mais cette fonction, je ne sait pas comment lui ajouter des arguments...voici un extrait du c
PROBLEME DE LINK [ par gg00xiv ]
je cree deux .obj avec le compilateur NASMW et la commande suivante : "nasmw -f obj hello.asm -o hello.obj" . Le probleme c que je veux les linker ens
Fonction Download [ par Stormy ]
StormyQuelqu'un aurait'il connaissance d'une fonction permettant le passage de données (de fichiers plutôt) par le fait d'un socket? Merci et @+
probleme avec l interruption affichage de chaine [ par M0NTOYA ]
bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP
probleme avec l interruption affichage de chaine [ par M0NTOYA ]
bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP
Fonction DLL avec arguments [ par Arnotic ]
Bonjour, J'ai une DLL avec une fonction qui prend 2 arguments (en C (char*, int). Lorsque je la charge j'ai aucun problème mais lors de l'appel à
Probleme avec le serveur [ par TotalIllusion ]
jai poster ma source (un prog sur les ISR et le serveur veut pas mettre le .zip (isr.zip).sa a cree 3 message comme dequoi jaurrais poster 3 source et
projet assembleur [ par zipposou ]
Salut a tousj'ai un enorme probleme, j'ai un projet à rendre en assembleur 68000, c en fait le jeu du serpent.Le probleme c que je ne connais pas gran
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|