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

x86 32-bits / 64-bits Assembleur Discussion :

TYPE dans un descripteur de segment


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 2
    Points
    2
    Par défaut TYPE dans un descripteur de segment
    Bonjour tout le Monde
    Dans le descripteur de segment,situé entre le bit S et la BASE 23:16 est situé un camp de 4 bits appelé TYPE.
    Avez-vous une documentation sur les 16 combinaisons de ce champ?
    Je vous remercie beaucoup.
    Cordialement.

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Pas compris votre explication/question...
    Le segment:adress est facile à comprendre , les 16 bits sont les adresses ,et les segment c'est un peu une "page" pour pouvoir adresser plus que 65536 adresse.
    Cela est du à la limite du x86 de ne pouvoir adresser que 16 bits d'adresse n, donc il y'a un registre qui permet de changer les adresses haute.

    Donc la partie haute ne lit que 4 bits (mais le registre de segment fait bel et bien 16 bits) ce qui donne aux x86 16 bits de pouvoir adresser 1Mo d'adresse.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 2
    Points
    2
    Par défaut Re:
    Bonjour et merci.
    Dans mon bootsecteur je suis en 16 bits mais quand je passe en mode protégé mon noyau (kernel)doit avoir une GDT de 64 bits...donc le champ" type" possède 4 bits....d'ou ma question maladroite....à quoi correspond éxactement ces 4 bits.Je ne trouve pas d'explication sur le net ou incomplètes.
    Je passe en mode protégé dans mon noyau.
    J'ai oublié mon objectif,je suis désolé.
    Cordialement.

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 2
    Points
    2
    Par défaut Re:
    Bonjour

    Pour mieux comprendre une description du descripteur de segment de 64 bits(code ou données)

    de 0:15 limite
    de 0: 15 base
    de 16:23 base
    de 24:31 base
    de 16:19 limite
    etc....

    Entre la base 16:23 et la limite 16:19 nous avons 8 bits:

    le bit P
    les deux bits DPL
    le bit S
    et le fameux TYPE de 4 bits.


    La question à quoi correspond ces fameux 4 bits...certain avance que c'est pour définir si c'est un segment de données ou de pile !!!!

    Merci beaucoup et excusez moi si je m'explique mal...

    Cordialement.

  5. #5
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Ok , j'ai du mal à suivre mais tu parle de ceci donc ?


    Tu as une explication détaillé ici :
    https://wiki.osdev.org/Global_Descriptor_Table
    Qui est appelé ici Acces Byte

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 2
    Points
    2
    Par défaut TYPE
    Bonjour tout le Monde.
    Déjà un grand remerciement à ceux qui me répondent.
    Sur votre site un tutoriel de "Chevalier au taureau"aborde ce sujet et m'a fait progresser sur ce sujet.
    Avez-vous un descriptif plus précis sur les valeurs possibles de Type dans l'excellent tutoriel de "Chevalier au taureau"?.
    Je vous remercie.
    Cordialement.

  7. #7
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par Roudoudou11 Voir le message
    Sur votre site un tutoriel de "Chevalier au taureau"aborde ce sujet et m'a fait progresser sur ce sujet.
    Avez-vous un descriptif plus précis sur les valeurs possibles de Type dans l'excellent tutoriel de "Chevalier au taureau"?.
    Tu as lu le lien que je t'ai passé ?

    Plus détaillé que ça donc...
    Ex: Executable bit. If 1 code in this segment can be executed, ie. a code selector. If 0 it is a data selector.
    DC: Direction bit/Conforming bit.
    Direction bit for data selectors: Tells the direction. 0 the segment grows up. 1 the segment grows down, ie. the offset has to be greater than the limit.
    Conforming bit for code selectors:
    If 1 code in this segment can be executed from an equal or lower privilege level. For example, code in ring 3 can far-jump to conforming code in a ring 2 segment. The privl-bits represent the highest privilege level that is allowed to execute the segment. For example, code in ring 0 cannot far-jump to a conforming code segment with privl==0x2, while code in ring 2 and 3 can. Note that the privilege level remains the same, ie. a far-jump form ring 3 to a privl==2-segment remains in ring 3 after the jump.
    If 0 code in this segment can only be executed from the ring set in privl.

    RW: Readable bit/Writable bit.

    Readable bit for code selectors: Whether read access for this segment is allowed. Write access is never allowed for code segments.
    Writable bit for data selectors: Whether write access for this segment is allowed. Read access is always allowed for data segments.

    Ac: Accessed bit. Just set to 0. The CPU sets this to 1 when the segment is accessed.
    Ensuite , je ne suis pas l'auteur des articles écrits et j'en ai quasiment lu quasi aucun sur l'asm ici (je ne fais quasiment jamais du x86).
    Mais si une partie vous pose soucis , vous pouvez le détailler ici pour qu'on puisse vous répondre.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/07/2005, 17h08
  2. créer un type dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/07/2005, 13h54
  3. Incompatibilité de types dans un formulaire
    Par ahage4x4 dans le forum ASP
    Réponses: 3
    Dernier message: 03/05/2005, 15h39
  4. "Différence de type dans une expression" Tquery
    Par Hakim dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2004, 00h22
  5. GDT Descripteur de segment de code & segment de données
    Par Edouard Kaiser dans le forum x86 32-bits / 64-bits
    Réponses: 15
    Dernier message: 03/04/2004, 12h40

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