Qu'est-ce que la segmentation de la mémoire ?

En assembleur, on appelle segment de mémoire le mécanisme de base de la gestion des adresses pour des processeurs de type 80x86. Les instructions sont stockées dans le registre IP. Il s'agit d'adresses dont la taille est de 16 bits. Or, avec 16 bits il n'est possible d'adresser que 216= 64 Ko.

Les bus d'adresses récents possèdent toutefois 32 bits. Les adresses qu'ils véhiculent sont donc constituées de deux composantes de 16 bits :

  • un segment de 16 bits
  • un déplacement (ou offset en anglais) de 16 bits

Les segments CS et DS

Les segments sont stockés dans des registres de 16 bits, dont les deux principaux sont :

  • Le segment de données : DS (Data Segment)
  • Le segment de code : CS (Code segment)

Le processeur utilise le segment CS pour lire le code d'une instruction. Lors de la lecture de celui-ci il crée une adresse de 32 bits formée de la paire constituée par le registre segment CS et le registre de déplacement IP, on note cette paire CS:IP.
Le registre segment CS est initialisé automatiquement au chargement du programme sur le segment contenant la première instruction à exécuter.

Le segment DS permet au processeur d'aller chercher les données stockées à une adresse. Il crée alors la paire constituée du registre segment DS et de l'adresse 16 bits indiquée dans l'instruction. C'est au programmeur de définir dans le code source l'adresse du segment de données à utiliser, en initialisant le registre DS.

Dernière modification le mardi 14 octobre 2008 à 17:40:29.Ce document intitulé « Segmentation de la mémoire en assembleur » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Meilleures réponses pour « Segmentation de la mémoire en assembleur » dans :
Assemblage d'un PC - Mise en place des barrettes de mémoire Voir Insertion de barrettes de RAM Il existe différents types de mémoire vive. Les cartes mères les plus récentes sont équipées de DDR2 ou de DDR. Certaines sont encore équipées de RamBus. Les plus anciennes enfin disposent de connecteur de mémoire...
La gestion de la mémoire Voir Description de la mémoire La mémoire physique sur un système se divise en deux catégories : la mémoire vive : composée de circuit intégrés, donc très rapide la mémoire de masse : composée de supports magnétiques (disque dur, bandes...
Liste des instructions en assembleur Voir Tableau des principales instructions en assembleur Voici une liste (non exhaustive) des principales instructions en assembleur des processeurs 80x86, ainsi que du code machine qui leur est associé et de leur taille en mémoire. Les valeurs val et...
[Mémoire] Tester ses barrettes de RAM avec MemTest VoirTester sa RAM avec MemTest Il existe un logiciel fonctionnant sur n'importe quel PC permettant de tester à fond ses barrettes de mémoire, il s'agit de MemTest86 : http://www.memtest86.com http://www.memtest.org/ Pour l'utiliser il suffit...
L'adresse mémoire ne peut pas être 'Read' ou 'Written' VoirL'adresse mémoire ne peut pas être 'Read' ou 'Written' Vérifier le fonctionnement des barrettes mémoire Vérifier la présence de malwares et le cas échéant, les éradiquer Vérifier la configuration de Windows Nettoyer le disque dur Réparer...
Formater une carte mémoire flash VoirLes cartes mémoire flash doivent nécessairement être formatées avec le système de fichiers FAT16 pour pouvoir être utilisées par les périphériques (Appareil photo, PDA, téléphone, etc.). Or, pour des cartes mémoire de capacité supérieure à 32Mo,...
Télécharger Aide-mémoire VoirCe logiciel permet de coller des aides mémoires (post-it) sur votre bureau. Son but est simple, éviter de décorer votre écran d'ordinateur avec de multiples postits. Caractéristiques Taille et couleur personnalisable Les aides mémoires peuvent...
Branchements en assembleur VoirOn appelle saut (ou branchement) en assembleur le fait de passer à une instruction autre que celle qui suit celle en cours en mémoire. En effet, en temps normal (c'est-à-dire sans instruction contraire) le processeur exécute les instructions...
La mémoire vive (RAM ou mémoire PC) VoirTypes de mémoires vives On distingue généralement deux grandes catégories de mémoires vives : Les mémoires dynamiques (DRAM, Dynamic Random Access Module), peu coûteuses. Elles sont principalement utilisées pour la mémoire centrale de...
Ordinateur - Introduction à la notion de mémoire VoirRôle de la mémoire On appelle « mémoire » tout composant électronique capable de stocker temporairement des données. On distingue ainsi deux grandes catégories de mémoires : la mémoire centrale (appelée également mémoire interne) permettant de...