lordv Posté(e) le 1 octobre 2006 Partager Posté(e) le 1 octobre 2006 salut a tous bon le truc c'est que j'ai trouvé un kernel sur le web deja commencé avec le tuto c'est un professeur d'une universite de paris qui l'a fait. mais le HIC c'est que plusieurs fichiers sont en assembleur et le reste en C et comme je n'ai apprit que ce dernier il me sera difficile de continuer le kernel j'ai donc recherché des tutos sur ca et je suis tomber sur celui-ci http://benoit-m.developpez.com/assembleur/...s/Partie1-2.php mais je comprend pas tres bien la page la en question bon j'ai compris le principe de la segmentattion de la memoire et des offsets mais je me perd sur l'addressage en hexadecimal par exemple cet extrait """On pourrait penser que l’octet qui se trouve à l’adresse 0001:0000 est le numéro 65536. Il n’en est rien. C'est l'octet numéro 16. Eh oui ! Les segments ne sont pas situés gentiment les uns à la suite des autres. Ils sont fort mal élevés et n'attendent pas que les segments qui les précédent soient terminés avant de commencer ! Ils se marchent donc sur les pieds. Autrement dit, le deuxième segment ne démarre pas à l'octet 65536 comme il devrait le faire s'il était bien sage, mais à l'octet 16 ! Le troisième démarre à l'octet 32 et ainsi de suite… La notion de segment n’est pas tant physique que mathématique : elle sert à se repérer dans la RAM. La conséquence immédiate de tout cela est qu'un octet n'a pas une adresse unique. Par exemple, l'octet numéro 66 peut être adressé par 0000:0042, mais aussi par 0001:0032, par 0002:0022, par 0003:0012 ou encore par 0004:0002. Toutes ces adresses sont équivalentes. """ je dirais que je trouve pas de relation à tous cela quand on compte en hexa on fait de 0 à 9 puis c'est A qui suit jusqua F apres qu'en est t-il de ce qui suit 10? merci par avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 1 octobre 2006 Partager Posté(e) le 1 octobre 2006 Après 10, c'est 11, 12, 13..., 18, 19, 1A, 1B, ..., 1E, 1F, 20 etc. Sinon la segmentation ne sert plus beaucoup maintenant. Elle est utilisée le temps de charger l'OS (au moins le début), ensuite on passe rapidement en mode pagination. Ce qu'il voulait dire si j'ai bien compris c'est que pour toutes les addresses X1X2X3X4:Y1Y2Y3Y4, il si le résultat X3+Y4 est le même, alors c'est que c'est la même addresse. Pareil pour X2 et Y3 et X1 et Y2. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lordv Posté(e) le 4 octobre 2006 Auteur Partager Posté(e) le 4 octobre 2006 la tu metonne je suis pas encore arriee au X1 et Y3 mais j'espert bien pour l'instant ce que je veux faire c'est ameliorer le kernel apres s'il est stable bah la je pourrai continuer et essayer de comprendre la pagination et tout le reste Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 4 octobre 2006 Partager Posté(e) le 4 octobre 2006 c'est pas grave, ça va venir Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 5 octobre 2006 Partager Posté(e) le 5 octobre 2006 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lordv Posté(e) le 6 octobre 2006 Auteur Partager Posté(e) le 6 octobre 2006 ca veux dire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 7 octobre 2006 Partager Posté(e) le 7 octobre 2006 ça veut dire qu'il ne comprend pas que tu n'aies pas compris ce qu'il voulait dire par X1X2X3X4:Y1Y2Y3Y4 Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 7 octobre 2006 Partager Posté(e) le 7 octobre 2006 Non je n'ai pas compris ta réponse en fait lorinc lordv : Les X1 X2 X3 X4 représentent les digits de la représentation de ton nombre hexadécimal. Pour X1=8 X2=B X3=0 et X4=6, ça donne 8B06. Pareil pour les Y. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lordv Posté(e) le 7 octobre 2006 Auteur Partager Posté(e) le 7 octobre 2006 ok je comprend maintenant tu as decompose la notation des adresseles xxx c'est les segments et les yyyc'est les offsets j'avais pas vu les deux points faut dire que j'ai depasse ce stade maintenant je suis du cote du psp et des piles mais au fait les piles c'est juste pour contenir des donnee comme un reservoir comme les contener le premier à entrer est le dernier à sortir? bon ya que le tuto que je vous ai montrer n'est conforme a mes normes je voulais un tuto sur l'assembleur et le chargement des os mais non monsieur me sert les fichiers EXE de windows pour faire quoi avec ? au fait pourquoi ne pasle develloper ensemble je pensais a un systeme leger pour emuler la play station ou d'autre jeux et le tous avec la possibiliter de jouer en reseaux ? vous en penser quoi on pourrais faire comme pour les tests de HDD avec une mise ajour des codes sources et le vote de quelque personnes pour accepter les code sources ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Le Saigneur Sombre Posté(e) le 10 octobre 2006 Partager Posté(e) le 10 octobre 2006 le mot donnée est un peu large. Disons que la pile peut contenir des données. Il est possible de sauvegarder des informations par la commande assembleur PUSH et de les recupérer par la commande POP. Dernier mis, premier récuperé, comme une pile d'assiette... tu prends pas celle de dessous... Sinon la pile sert a stocker les adresses des fonctions. Quand ton programme est dans la fonction A et qu'il appelle la fonction B, il stocke l'endroit de l'appel (CS:IP) dans la pile, execute B et recharge l'adresse de retour a partir de la pile afin de retrouver ou il etait dans A. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lordv Posté(e) le 11 octobre 2006 Auteur Partager Posté(e) le 11 octobre 2006 rien pige je pense que je vais trouver quelqu'un pour m'aider avec l'assembleur zut alors c'est plus diffiscile que le C Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.