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 :

Les adresses mémoire !


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Débutant Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Points : 120
    Points
    120
    Par défaut Les adresses mémoire !
    Bonjour tout le monde

    Je voudrai connaitre combien de bit's se stock dans chaque adresse memoire?

    Au niveau de la RAM et du processor ?


    Merci d'avance

    de ce que je comprend :

    chaque adresse
    0x0010 contient 32Bit

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Je voudrai connaitre combien de bit's se stock dans chaque adresse memoire?

    Au niveau de la RAM et du processor ?
    Je crois qu'il y a un problème de compréhension. Une adresse n'indique rien de plus... qu'une adresse. Elle n'indique en aucune manière une taille quelconque.

    Pour faire un parallèle avec les adresses postales, si je dis "J'habite au 10 rue machin-chouette", cela ne donne en aucun cas le nombre de pièce de la maison située à cette adresse...

    Une adresse ne désigne donc qu'un endroit, mais pas la taille de cet endroit.

    La RAM sert à stocker des données qui seront rangées à telles ou telles adresses. Le processeur ne fait que gérer ces données et, pour simplifier, ne mémorise pas grand chose comparé à la mémoire.

    de ce que je comprend :

    chaque adresse
    0x0010 contient 32Bit
    Je ne vois pas trop ce qu'est ce 0x10...

    Sous x86 avec un processeur 32 bits, les adresses sont codées sur 32 bits par défaut et la taille des opérandes est par défaut de 32 bits (cas le plus courant : mode protégé, avec drapeau 'D' du descripteur de segment armé).

    Mais rien n'empêche de prendre des données sur une autre taille que 32 bits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mov al, byte ptr [0x401000] ; on prend un seul octet (8 bits) à l'adresse 0x401000
    Sous x86 on peut prendre des données (à une adresse donc) d'une taille étant égale à (en octet) :

    1, 2, 4, 8, 10 ou 16

    Respectivement (en anglais) : Byte, Word, DoubleWord, QuadWord, Double QuadWord.

    J'espère que c'est un peu plus clair...

  3. #3
    Débutant Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Points : 120
    Points
    120
    Par défaut
    Merci beaucoup de l'explication , mais ce que j'ai vue que lorsqu'on ouvre un programme avec un éditeur Hex en a depuis chaque adresse 32 bit , c'est ce que je ne comprend pas est ce que y'aurai t'il un éditeur qui pourrai avoir depuis chaque adresse plus de bit ou non ?

    Si vous pouvez me donnez une explication complete !

  4. #4
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Citation Envoyé par __snake__
    Merci beaucoup de l'explication , mais ce que j'ai vue que lorsqu'on ouvre un programme avec un éditeur Hex en a depuis chaque adresse 32 bit , c'est ce que je ne comprend pas est ce que y'aurai t'il un éditeur qui pourrai avoir depuis chaque adresse plus de bit ou non ?

    Si vous pouvez me donnez une explication complete !
    En fait un éditeur hexadécimal ne donne qu'une représentation (la sienne) parmi toutes celles qui sont possibles. Suivant l'éditeur, il est possible de changer cette représentation. Par exemple :

    En octet :

    50 4B 03 04 14 00 02 00 08 00 0D 5B
    En mot :

    504B 0304 1400 0200 0800 0D5B
    En double mot :

    504B0304 14000200 08000D5B
    etc.

  5. #5
    Débutant Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Points : 120
    Points
    120
    Par défaut
    Merci mais vous n'avez pas répendu a ma question ,
    l'editeur nous montre en HEX , c'est ce que je demande .
    est ce qu'il peut nous donnez plus de bit en hexa ?


    Citation Envoyé par Neitsa
    En fait un éditeur hexadécimal ne donne qu'une représentation (la sienne) parmi toutes celles qui sont possibles. Suivant l'éditeur, il est possible de changer cette représentation. Par exemple :

    En octet :



    En mot :



    En double mot :



    etc.

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Je ne comprends pas ta question.

    Peux-tu expliquer autrement ou bien nous montrer ce que tu as et ce que tu voudrais obtenir de plus de ton éditeur hexa ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  7. #7
    Débutant Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Points : 120
    Points
    120
    Par défaut
    Bonjour
    d'un eautre facon .

    Lorsqu'on lit un Eprom ou Pic en a dans chaque adresse 32 bit

    Alorsque lorsqu'on ouvre n'importe quel programme windows avec un éditeur Hex alors qu'on a les meme adresse et les meme 32 bit .

    Merci .

  8. #8
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Bonsoir,

    Je vais essayer d'etre clair dans mon explication (et c'est pas gagne!),
    D'une maniere, une adresse pointe sur une vleur 8 bits (je ne sais pas
    si on peut faire pointer une adresse 32 bits en mode protege)

    Par contre, on peut lire a une adresse donnee une valeur 8,16, 32 ou meme 64 bits.

    Si mon adresse vaut 0x20B0h (exemple pris au hazard)
    et que les octets listes par ton editeur hexa sont :
    43 5C 82 9D 12 FF ED 10

    une lecture 8 bits me donnera : 43h (mov AL,0x20B0h)
    une lecture 16 bits : 5C43h (mov AX,0x20B0h)
    une lecture 32 bits : 9D825C43h (mov EAX,0x20B0h)
    une lecture 64 bits : 10EDFF129D825C43 (je n'ai jamais utilise les registres 64 bits )

    donc une adresse peut contenir un nombre de bits qui depend de la facon
    dont on y accede

    par contre le deplacement entre une adresse et la suivante = 8 bits
    donc a l'adresse 0x20B1h tu retrouve la valeur 8 bits 5Ch
    et si tu veux acceder a deux valeurs 16 bits qui sont a la suite l'une de l'autre
    et que la premiere est en 0x20B0h, la deuxieme est en 0x20B2h

    J'espere que mon explication aura ete assez claire

    a+ Francois

  9. #9
    Débutant Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Points : 120
    Points
    120
    Par défaut
    Bonjour et merci de votre explication Forthman

    J'ai un petit peut compris la !
    Merci comme meme

Discussions similaires

  1. Variable et leur adresse mémoire, comment les utiliser ?
    Par snoopy69 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/02/2009, 12h00
  2. Cherche à lister les adresses IP dispo sur la machine
    Par yukkyyuk dans le forum Windows
    Réponses: 3
    Dernier message: 16/03/2005, 11h50
  3. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27
  4. peut on filtrer les adresses IP ?
    Par travail dans le forum 4D
    Réponses: 2
    Dernier message: 04/06/2003, 14h16

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