Четвертый Borland C++ и его окружение

       

Сегментация памяти


Память микропроцессора Intel 80x86 имеет сегментированную

архитектуру. Непосредственно можно адресоваться к 64К памяти сегменту. Процессор 80x86 отслеживает 4 различных сегмента: сегмент кода, сегмент данных, сегмент стека и дополнительный сегмент. В сегменте кода находятся машинные инструкции, а в дополнительном сегменте - дополнительные данные. Процессор 80x86 имеет 4

16-разрядных сегмента (по одному на сегмент) - CS, DS, SS и ES,

которые указывают на сегмент кода, данных, стека и дополнительный

сегмент соответственно. Сегмент может находиться в любом месте

памяти, но начинаться должен по адресу, кратному 10. Сегменты могут перекрываться. Например, все четыре сегмента могут начинаться

с одного адреса.

Стандартная запись адреса имеет форму "сегмент:смещение",

например, 2F84:0546. Начальный адрес сегмента всегда представляет

собой 20-битовое число, но так как сегментный регистр содержит

только 16 бит, нижние 4 бита полагаются равными 0. Это значит,

что сегменты могут начинаться только с тех адресов, у которых

последние 4 бита равны 0.



Содержание раздела