![]() |
![]() |
![]() |
![]() |
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'il véhicule sont donc constituées de deux composantes 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 DS sert au processeur pour aller chercher les données stockées à une adresse. Il crée alors la paire constitué 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ée à utiliser, en initialisant le registre DS.