Segmentregister
Een segmentregister is een register met een speciale functie in een x86-processor. Een segmentregister heeft 16 bits. Steeds als de processor het geheugen benad…
Een segmentregister is een register met een speciale functie in een x86-processor. Een segmentregister heeft 16 bits. Steeds als de processor het geheugen benadert, wordt daarbij een segmentregister gebruikt. De gedachte hierachter is dat het geheugen in een aantal delen - segmenten - kan worden verdeeld en dat een programma in elk segment kan draaien, als het segmentregister maar de juiste waarde heeft.
Beschrijving van de registers
De oorspronkelijke 8086 heeft vier segmentregisters.
- CS - code segment. Wordt gebruikt in combinatie met IP (instruction pointer) bij het ophalen van programma-instructies.
- SS - stack segment. Wordt gebruikt in combinatie met SP (stack pointer) bij het gebruik van de hardwarestack.
- DS - data segment. Wordt gebruikt als een instructie het geheugen adresseert.
- ES - extra segment. Wordt gebruikt in combinatie met het register DI (destination index) in instructies die twee geheugenadressen adresseren, zoals CMPS en MOVS, en nog enkele daarmee verwante instructies zoals STOS.
Een instructie kan van een prefix worden voorzien om in plaats van DS een ander segmentregister te gebruiken.
De 80386 heeft nog twee extra segmentregisters, FS en GS. Deze worden alleen als prefix gebruikt.
Protected mode
In de protected mode, waarin veel meer geheugen geadresseerd moet worden, zijn de segmentregisters te klein. De segmentregisters zijn nu indices in een tabel waarin de feitelijke segmentgegevens staan. Deze tabel bevat niet alleen segmentadressen, maar ook beveiligingsgegevens. Wordt een segmentregister geladen, dan haalt de processor de bijbehorende gegevens uit de tabel. Deze worden in een apart register - de segmentdescriptor - opgeslagen.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.