сегментування пам’яті

У процесорі Intel 8086 сегментування пам'яті організоване сліду-ющим чином.

Вся пам'ять системи представляється не у вигляді безперервного простору-ства, а у вигляді декількох шматків - сегментів заданого розміру (по 64 Кбайта), положення яких в просторі пам'яті можна змінювати про-програмним шляхом.

сегментування пам'яті

сегментування пам'яті

сегментування пам'яті

сегментування пам'яті

• зміщення - це 8-, 16- або 32-розрядне число, включене в ко
манду.

• база - це вміст базового регістра процесора. зазвичай воно
використовується для вказівки на початок деякого масиву.

• індекс - це вміст індексного регістра процесора. зазвичай
воно використовується для вибору одного з елементів масиву.

• масштаб - це множник (він може дорівнювати 1, 2, 4 або 8), ука-
занний в коді команди, на який перед підсумовуванням з другі-
ми компонентами множиться індекс. Він використовується для указу-
ня розміру елемента масиву.

У будь-якому випадку сегментування дозволяє виділити в пам'яті один або кілька сегментів для даних і один або кілька сегментів для програм. Перехід від одного сегмента до іншого зводиться всього лише до зміни вмісту сегментного регістра. Іноді це буває дуже зручно. Але для програміста працювати з сегментированной пам'яттю зви-но складніше, ніж з безперервною, несегментірованной пам'яттю, так як доводиться стежити за межами сегментів, за їх описом, переклю-ням і т.д.