bonjour tout le monde j'espere que vous allez bien!!!
ma question est la suivante : dans quel type de programme peut-on parler d'un chevauchement totale (microprocesseur 8086)
merci pour votre attention
bonjour tout le monde j'espere que vous allez bien!!!
ma question est la suivante : dans quel type de programme peut-on parler d'un chevauchement totale (microprocesseur 8086)
merci pour votre attention
Bonjour,
C'est vraisemblablement une question d'examen et « chevauchement total » ne signifie rien de particulier hors contexte, à part le fait d'initialiser tous les registres de segment à la même valeur.
Donne-nous plus d'infos.
oui c'est exactement ça obsidian c'est initialiser tout les registres de segments a la meme valeur mais on peut pas parler d'un chevauchement totale que dans certains programme ce que je veux savoir c'est dans quel type de programme on peut parler de ça!!!!
Comme je te le dis, ça ne concerne pas un type de programme particulier. Ça dépend de la manière dont ton programme a été écrit, comment il gère la mémoire, et ça dépend également du système d'exploitation que tu utilises. À ce sujet, il existe quand même un cas notable : les exécutables *.com de MS-DOS (complètement obsolètes aujourd'hui).
je ne suis qu'une débutante je ne peux pas vous expliquez plus que ça!!
merci pour votre réponse
non on l'a fait au cour mais on a parlé seulement de chevauchement partiel des codes segments et il nous a posé cette question
salut tout le monde parlant de chevauchement c'est quoi son intérêt dans un programme ??? merccii d'avance
je dirait que ça simplifie le code, car du coup il n'y a aucune gestion des segment. une fois initialisé a la bonne valeur on n'y touche plus
par contre ça demande un peu plus de rigeur car si on initialise le segment de code et le segment de donnée au même endroit on peut écraser le code par des données, en même temps ça peut être la chose recherché pour par exemple chiffrer l'exécutable (les virus font ou fesaient ça pour changer leur signature a chaques fois qu'ils se dupliquaient)
C'est tout-à-fait vrai, surtout en cas de dépassement de pile !
Cela dit, ce fil concerne surtout les 8086 où il n'y avait pas de mode protégé non plus. Comme il y a de bonnes chance pour que, même avec des *.exe, les segments soient consécutifs, le risque d'écrasement reste presque aussi élevé…
Je pense que cette notion de chevauchement total a été introduite, au moment de la céation du 8086, pour faciliter le portage des programmes développés pour les microprocesseurs 8 bits antérieurs.
En effet, initialiser tous les registres de segment à la même valeur place le microprocesseur dans une configuration mémoire totalement similaire à celle de ces microprocesseurs :
- Espace limité à 64K pour toute l'application
- Pas de distinction entre espace dédié au code, à la pile ou aux données
Les fichiers ".com" sont d'ailleurs un héritage de cette époque.
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