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
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
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.Je voudrai connaitre combien de bit's se stock dans chaque adresse memoire?
Au niveau de la RAM et du processor ?
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.
Je ne vois pas trop ce qu'est ce 0x10...de ce que je comprend :
chaque adresse
0x0010 contient 32Bit
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 :
Sous x86 on peut prendre des données (à une adresse donc) d'une taille étant égale à (en octet) :
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
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...
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 :Envoyé par __snake__
En octet :
En mot :50 4B 03 04 14 00 02 00 08 00 0D 5B
En double mot :504B 0304 1400 0200 0800 0D5B
etc.504B0304 14000200 08000D5B
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 ?
Envoyé par Neitsa
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]
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 .
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
Bonjour et merci de votre explication Forthman
J'ai un petit peut compris la !
Merci comme meme
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager