IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation d'OS Assembleur Discussion :

Système d'exploitation hybride


Sujet :

Programmation d'OS Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut Système d'exploitation hybride
    Tout d'abord, bonjour.

    J'ai hésité à poster ce sujet ici ou dans le asm, et j'ai pris le premier venu. ^^

    Donc, voila : j'ai un projet a mener à terme : créer un noyau de système d'exploitation hybride mélangeant assembleur et C. Pourquoi ? Tout d'abord, car le C est beaucoup plus simple à utiliser, plus compact et plus "transportable". J'entends par là qu'il serait un peu universel.

    Ma difficulté est que ça fait trois jours que je me suis lancé dans ce projet et que je ne connaissait même pas l'assembleur. Donc, je me suis lancé dans un apprentissage assez rapide de l'assembleur et en meme temps dans l'apprentissage de la constitution d'un noyau de SE ( Systeme d'exploitation ).

    La meilleure solution est, pour moi, d'incorporer le C directement dans le programme en assembleur a l'aide de : .cpro ... .endproc, mais il faudrait que je puisse avoir accès aux variable assembleur dans mon codage en C.

    Et donc voila ma question : comment faire pour pouvoir utiliser des variables assembleur dans le C ?

    Merci d'avance de vos réponses quelles qu'elles soient. Vu que je me lance dans le sujet, j'étudierai toutes les propositions qui pourraient me servir sur ce sujet de SE hybride ^^

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Tu entends quoi plus exactement par hybride ?

    La meilleur solution est pour moi d'incorporé le c directement dans le programme en asm
    En général, c'est le contraire qui est fait...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    baa vu que je par à la base avec un SE en asm, je trouve plus facile de transformer l'asm en C. Vu que je suis novice dans ce domain, je compte procédé par petite partie.

    Mais je suis ouvert a toute proposition ^^ car si je suis ta logique, je fais mon programme en C et ensuite j'insorpore le code qui ne peut pas etre convertie ^^ comme les interruption 21h par exemple nan??? en fesant appele a un interruption externe en C.

    Dsl si je suis vague ou que je te désepère car je suis encore dans ma phase de recherche de solution ^^

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Alors, je suis pas pro de l'assembleur sur architecture x86 (j'ai fait plus sur M68k), mais il me semble que l'interruption 21h, c'est une interruption qui existe seulement quand windows ou DOS est déjà chargé...

    Donc il te sera impossible de lancer cette interruption

  5. #5
    Membre chevronné Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Par défaut
    Si ce n'est pas déjà fait commence par lire quelque chose de théorique sur la conception d'un OS, ça par exemple : http://www.amazon.fr/Syst%C3%A8mes-d...e=UTF8&s=books
    Dans le même temps tu peux apprendre l'ASM de base puis la programmation système.
    Si tu veux tu peux écrire une grande partie de l'OS en C. Le plus simple c'est d'écrire certaines fonctions en C, certaines en ASM en respectant les conventions du C et de refiler le tout au linker. C'est assez simple, tes fonctions doivent préserver les valeurs d'EBX, ESI, EDI et EBP et se terminer avec RET (pas RET imm). En général les compilateurs ajoutent un underscore au début des identifiants mais je ne suis pas sûr que c'est systématique.
    Tu peux aussi utiliser l'ASM inline pour des petits trucs mais c'est moins puissant et la syntaxe change avec les compilateurs.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    le probleme c'est que j'ai besoin d'info que l'asm me fourni ... vu me que je sais pas comment les avoir en c. a la rigeur es ce que c'est possible de créé des variable intermédiaire du genre : variable1, et l'utiliser pour faire le lien entre les variable asm et c ???

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mov variable1,si
    .cpro
    void main (variable1)
    {
    [...];
    }
    .endproc

Discussions similaires

  1. Commet créer un Système d'exploitation ?
    Par reggae dans le forum Langages de programmation
    Réponses: 31
    Dernier message: 25/07/2013, 11h54
  2. [Winxp] Installer un deuxième système d'exploitation
    Par goma771 dans le forum Windows XP
    Réponses: 15
    Dernier message: 30/11/2005, 23h12
  3. choisir le système d'exploitation à amorcer
    Par mouloudéen dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 30/06/2005, 09h11
  4. Réponses: 4
    Dernier message: 26/06/2005, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo