Adresser RAM en assembleur dans OS mode protégé
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 34

Adresser RAM en assembleur dans OS mode protégé



  1. #1
    Computer Mail

    Question Adresser RAM en assembleur dans OS mode protégé


    ------

    Bonjour,

    je suis en train d'écrire un nouveau système d'exploitation complètement en assembleur et je ne trouve pas comment lire et écrire dans la RAM. Je suis sur une architecture x86 en mode protégé et c'est dans ce mode que j'aimerais adresser la RAM, comment pourrais-je m'y prendre en assembleur ?

    -----

  2. #2
    pm42

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    je suis en train d'écrire un nouveau système d'exploitation complètement en assembleur et je ne trouve pas comment lire et écrire dans la RAM.
    Je me demande si tu vois la contradiction entre les 2 parties de ta phrase mais en tout cas, merci comme d'hab pour la rigolade. C'est moins immédiatement hilarant que le robot en bois fonctionnant à la vapeur mais c'est bien quand même.

  3. #3
    Forthman

    Re : Adresser RAM en assembleur dans OS mode protégé

    bien simplement avec l'instruction "mov"

  4. #4
    myoper
    Modérateur

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par pm42 Voir le message
    C'est moins immédiatement hilarant que le robot en bois fonctionnant à la vapeur mais c'est bien quand même.
    Il avait une chance de marcher à minima, celui-la. Il aurait pu imiter la mort et le dernier soupir...
    Pangolito et Pangolita sont dans un bateau...

  5. A voir en vidéo sur Futura
  6. #5
    LeMulet

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Bonjour,

    je suis en train d'écrire un nouveau système d'exploitation complètement en assembleur et je ne trouve pas comment lire et écrire dans la RAM. Je suis sur une architecture x86 en mode protégé et c'est dans ce mode que j'aimerais adresser la RAM, comment pourrais-je m'y prendre en assembleur ?
    Je pense que ce tutoriel pourrait vous intéresser :
    http://tothpaul.developpez.com/boot/
    Bonjour, et Merci.

  7. #6
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Merci beaucoup LeMulet, j'ai survolé promptement et il semble n'y être discuté que d'une manière d'adresser, y-en-aurait-il d'autres ? Autrement si avec cette manière j'arrive à adresser 64go de RAM je m'en contenterais.

  8. #7
    Ikhar84
    Animateur Informatique

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Je suis sur une architecture x86
    Ca risque de poser problème pour gérer 64Go de RAM...

  9. #8
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    À quel niveau ? Ceci https://fr.wikipedia.org/wiki/Extens...resse_physique a l'air de dire le contraire.

  10. #9
    LeMulet

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Merci beaucoup LeMulet, j'ai survolé promptement et il semble n'y être discuté que d'une manière d'adresser, y-en-aurait-il d'autres ?
    L'utilisation de le Global Descriptor Table (GDT) est il me semble conjointe au mode protégé (32 bits), donc non (à mon avis), il n'y a pas d'autre moyen d'adresser la mémoire dans ce mode.
    Mais je vous conseille en tous cas de récupérer le maximum de documentation sur le sujet, "Mode Protégé", pour vous faire une idée claire des implications. (par exemple selon le niveau de privilège, le RING, pouvant prendre une valeur de 0 à 3, certaines instructions ne peuvent pas s'éxecuter dans certains niveau, ou envoient des interruptions qui peuvent alors être traitées par le noyau (par exemple)).
    Par exemple, trouvé depuis la page wikipedia (en cherchant Mode protégé sur google) : http://download.intel.com/design/int...ers/exc_ia.pdf

    Après, la limite d'adressage comme dit plus haut est de 4GB, puisque les adresses destinés au registre d'adressage (inscrits dans la table) sont sur 32 bits pour du X86_32.

    Si vous voulez adresser plus de mémoire, vous devez déjà bien sur avoir un processeur 64bits genre X86_64, ce qui permet de passer en "mode protégé" 64bit. Et là effectivement l'adressage ne se fait pas comme avec le mode protégé 32 bits mais "à plat", ou pas, ou pas complètement... bref le détail...à partir de là moi je décroche.

    Le problème, c'est que tout ça est compliqué du fait de l'évolution de l'architecture des PC (processeur inclus) ...
    Le mieux, à mon avis, si vous voulez avancer sur le sujet, c'est de commencer à la base et récupérer des articles généraux qui traitent du sujet, et de les comprendre:
    Par exemple : http://www.tomshardware.fr/articles/...s,2-135-2.html
    Bonjour, et Merci.

  11. #10
    LeMulet

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    À quel niveau ? Ceci https://fr.wikipedia.org/wiki/Extens...resse_physique a l'air de dire le contraire.
    Voilà pourquoi la réponse n'est pas simple.
    Le détail...
    Citation Envoyé par Wikipedia
    La PAE est fournie par les processeurs Intel Pentium Pro et suivants (incluant tous les processeurs de la série Pentium à l'exception des Pentium M disposant d'un bus 400 MHz), ainsi que par des processeurs compatibles tels ceux d'AMD. Le drapeau « PAE » du champ d'identification du processeur « CPUID (en) » permet aux systèmes d'exploitation de déterminer si le processeur supporte cette fonctionnalité.

    En externe, le processeur possède quatre lignes (physiquement quatre broches sur le processeur) d'adresse supplémentaires utilisées pour adresser la mémoire additionnelle, et en interne il contient des tables de pages de 36 bits.
    Bonjour, et Merci.

  12. #11
    Forthman

    Re : Adresser RAM en assembleur dans OS mode protégé

    Dans d'autres posts tu disais vouloir utiliser le "long mode", pourquoi revenir en arrière et passer en 32 bits ?

  13. #12
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Car selon cette page Wikipedia il est possible d'adresser jusqu'à 64go, pour mon OS je n'ai pas besoin de plus.

  14. #13
    Forthman

    Re : Adresser RAM en assembleur dans OS mode protégé

    mais en 64bits tu as plus de registres disponibles, et donc la possibilité de réaliser un code plus rapide, et pas de jonglage entre les pages de 4Go
    la PAE c'est plus une "bidouille" qui a été proposée entre le 32bits et le 64

  15. #14
    Bluedeep

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Forthman Voir le message
    mais en 64bits tu as plus de registres disponibles, et donc la possibilité de réaliser un code plus rapide, et pas de jonglage entre les pages de 4Go
    la PAE c'est plus une "bidouille" qui a été proposée entre le 32bits et le 64
    Déception; cet OS révolutionnaire sera donc limité aux plateformes 32 bits ? Quel suspens insoutenable .....

  16. #15
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Je dois faire une opération sur deux double mot ne se trouvant pas dans le même bloc de 4go, il serait plus rapide de le faire en 64bits ? Si oui, comment lire et écrie dans la RAM en mode long en assembleur ?
    Dernière modification par Computer Mail ; 12/04/2017 à 15h49.

  17. #16
    Bluedeep

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Je dois faire une opération sur deux octets ne se trouvant pas dans le même bloc de 4go, il serait plus rapide de le faire en 64bits ? Si oui, comment lire et écrie dans la RAM en mode long en assembleur ?
    Code:
    MOV
    on vous l'a déjà dit.

    https://asm.developpez.com/intro/

  18. #17
    azad

    Re : Adresser RAM en assembleur dans OS mode protégé

    Il faut viser très haut, et pour cela aller piocher dans la famille du produit révolutionnaire d'Intel, le 4004 en l'occurence, on y trouve des extenseurs de bus (data ou adresses) qui permettent par tranches de 4 bits, d'adresser jusqu'à 128 voire 256 bits. Grace à eux, plus besoin de gérer une pagination toujours pénalisante en terme d'efficacité.
    Mais il faut faire vite car le 4004 risque fort de passer dans la liste des produits protégés par les lois américaines visants à restreindre l'exportation de produits de haute technologie. On en trouve cependant encore quelques exemplaires.

  19. #18
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Un exemple plus concret que "mov" ?

  20. #19
    azad

    Re : Adresser RAM en assembleur dans OS mode protégé

    Le passe partout, NOP

  21. #20
    jiherve

    Re : Adresser RAM en assembleur dans OS mode protégé

    Bonsoir,
    Vouloir écrire en assembleur et ne pas savoir accéder à la mémoire me semble étonnant, bien sur il faudra lire la data sheet du processeur pour se familiariser avec les modes d'adressage et surtout la gestion de la MMU, des caches et des subtilités de cohérence mémoire, là ce n'est pas trivial.
    Tout ceci me semble peu raisonnable un peu comme vouloir faire l'ascension de l'Everest en n'ayant jamais pratiqué qu'à Fontainebleau.
    JR
    l'électronique c'est pas du vaudou!

  22. #21
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    L'exemple dans le lien de LeMulet ne contient pas qu'un "mov", c'est un dilemme que vous me posez là.

  23. #22
    pm42

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par jiherve Voir le message
    Bonsoir,
    Vouloir écrire en assembleur et ne pas savoir accéder à la mémoire me semble étonnant, bien sur il faudra lire la data sheet du processeur pour se familiariser avec les modes d'adressage et surtout la gestion de la MMU, des caches et des subtilités de cohérence mémoire, là ce n'est pas trivial.
    Tout ceci me semble peu raisonnable un peu comme vouloir faire l'ascension de l'Everest en n'ayant jamais pratiqué qu'à Fontainebleau.
    JR
    Chacun des fils initiiés par ce primo posteur et son avatar précédent a été de la même eau.
    C'est même leur seul intérêt : le voir nous dire qu'il va monter l'Everest mais à 4 pattes, les yeux bandés.

  24. #23
    Bluedeep

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par azad Voir le message
    Il faut viser très haut, et pour cela aller piocher dans la famille du produit révolutionnaire d'Intel, le 4004 en l'occurence, on y trouve des extenseurs de bus (data ou adresses) qui permettent par tranches de 4 bits, d'adresser jusqu'à 128 voire 256 bits. Grace à eux, plus besoin de gérer une pagination toujours pénalisante en terme d'efficacité.
    Mais il faut faire vite car le 4004 risque fort de passer dans la liste des produits protégés par les lois américaines visants à restreindre l'exportation de produits de haute technologie. On en trouve cependant encore quelques exemplaires.
    Excellent !

  25. #24
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Je dois faire une opération sur deux double mot ne se trouvant pas dans le même bloc de 4go, il serait plus rapide de le faire en 64bits ?
    Puis personne n'a répondu à ça aussi.

  26. #25
    pm42

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Puis personne n'a répondu à ça aussi.
    Si, la réponse a été donnée plus haut. Tu n'as pas compris, c'est tout.
    Sinon, pourquoi on fait des processeurs 64 bits d'après toi ?

  27. #26
    JPL
    Responsable des forums

    Re : Adresser RAM en assembleur dans OS mode protégé

    Comment peut-on faire un processeur en silex taillé ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  28. #27
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par pm42 Voir le message
    Si, la réponse a été donnée plus haut. Tu n'as pas compris, c'est tout.
    Sinon, pourquoi on fait des processeurs 64 bits d'après toi ?
    Un copié collé du message en question je ne le trouve pas. Si la réponse à cette question est non pas la peine d'aller en mode long, sinon pourriez-vous me l'expliquer cet adressage de la RAM en assembleur en mode long ?

  29. #28
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé


  30. #29
    pm42

    Re : Adresser RAM en assembleur dans OS mode protégé

    Citation Envoyé par Computer Mail Voir le message
    Bravo, tu as réussi à ne pas comprendre ce qu'on te disait dans 2 forums et dans 2 langues différentes alors que c'était la même chose.

  31. #30
    Computer Mail

    Re : Adresser RAM en assembleur dans OS mode protégé

    Dans ce cas, comment lire et écrire dans la RAM en long mode ?

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Gérer l'usb dans mon OS 100% assembleur
    Par Factorisable dans le forum Programmation et langages, Algorithmique
    Réponses: 12
    Dernier message: 30/07/2016, 10h45
  2. Inclure de l'assembleur dans du C !
    Par inviteb61e4847 dans le forum Électronique
    Réponses: 10
    Dernier message: 09/09/2011, 08h36
  3. Blocage web en IE7 mode protége
    Par Qristoff dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 08/02/2009, 22h16
  4. Fichier protégé dans le cache
    Par invite70eda27f dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 25/12/2007, 14h07
  5. Win16 et mode protégé
    Par abracadabra75 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 27/06/2006, 07h48