Asm

Fermé
soso - 4 mai 2008 à 11:29
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 6 mai 2008 à 17:02
Bonjour,
j"ai envie de faire un programme qui calcule la taile de la ram,
j'ai pensé auu mode protegé ,j'ai pas su comment generer des adresses direct vers la ram ...

1 réponse

sous windows, ça se fait avec les apis win32
tu peux demander sur le newsgroup professionnel des apis win32 :
news://nntp.aioe.org/fr.comp.os.ms-windows.programmation
où ça a souvent é
té discuté...
0
en faite je cherche le code assebleur,
j'ai jammais travailler avec les apis windows,
l'aidé c'est de generer une adresse a incrementé jusqu'a ce qu'on tembe sur interruption adresse n'existe pas; cette adresse sera la taille de la ram.
je cherche comment definir les tables des segement et des pages de sort a savoir ou on est dans la ram
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > soso
6 mai 2008 à 17:02
l'aidé c'est de generer une adresse a incrementé jusqu'a ce qu'on tembe sur interruption adresse n'existe pas; cette adresse sera la taille de la ram.

Salut,

Non cette adresse ne sera pas la taille de la ram, ce sera une adresse virtuelle qui ne pointe sur aucune adresse physique.
Je crois que tu te fais une idée fausse de la gestion de la mémoire.
En mode protégé, tu ne peux accéder à la mémoire qu'en utilisant le système de mémoire virtuelle.

Donc si tu parcoures la mémoire virtuelle de bout en bout, tu vas te crasher vite car effectivement tu tombera sur une page de mémoire virtuelle qui ne pointe sur aucune adresse physique. Alors d'accord ça lèvera une exception (un "page fault") mais juste pour te dire que cette page ne pointe sur rien.

Si tu veux parcourir toute la ram, il faudrait déjà que tu sois en mode noyau.

Franchement l'idéal dans ton cas serait d'utiliser l'Api Windows, il doit bien y avoir quelques fonctions qui donnent la taille de la mémoire.
0