|
Segmenten
De architectuur van de x86 bewerkerskrachten aan het gebruik van geheugensegmenten om de informatie te beheren, de grootte van deze segmenten is van 64kb.
De reden om van deze segmenten te zijn is dat, van mening zijnd dat de maximumgrootte van een aantal dat de bewerker kan beheren door een woord van 16 beetjes of register wordt gegeven, het niet mogelijk zou zijn om meer dan tot 65536 plaatsen van geheugen toegang te hebben dat slechts één van deze registers gebruikt, maar nu, als het geheugen in groepen of segmenten, elke één van 65536 plaatsen verdeeld is, en wij gebruiken een adres op een exclusief register om elk segment te vinden, en dan maken wij elk adres van een specifieke groef met twee registers, en het is mogelijk voor ons om tot een hoeveelheid van 4294967296 bytes van geheugen toegang te hebben.
Opdat de assembleur de gegevens kan beheren, is het noodzakelijk dat elk stuk van informatie of Instructie in het gebied wordt gevonden dat aan zijn respectieve segmenten beantwoordt. De assembleur heeft toegang tot deze informatie rekening houdend met de localisatie van het segment, die door de registers van DS, van S, SS en van Cs en binnen het register wordt gegeven het adres van het gespecificeerde stuk van informatie. Het is wegens dit dat wanneer wij een programma gebruikend Debug over elke lijn die wij assembleren, iets creëren als dit verschijnt:
1CB0:0102 MOV AX,BX
Waar het eerste aantal, 1CB0, aan het geheugensegment dat beantwoordt wordt gebruikt, tweede verwijst naar het adres binnen dit segment, en de Instructies die van dat adres zullen worden opgeslagen volgen.
De assembleur past de grootte van de segmenten aan die als basis het aantal bytes nemen behoeften van elke de geassembleerde Instructie, aangezien het een afval van geheugen zou zijn om de gehele segmenten te gebruiken. Bijvoorbeeld, als een programma slechts 10kb vergt om gegevens op te slaan, zal het gegevenssegment slechts van 10kb en niet 64kb zijn het kan behandelen.
|
|