Page 69 - 149
P. 69
одночасно МП має доступ до 256 КБайт пам'яті. На рисунку 4.29 наведений
приклад розміщення сегментів у просторі пам'яті МП системи.
При необхідності збільшення об'єму будь-якого з сегментів потрібна
зміна початкової адреси у відповідному сегментному регістрі. Будь-який з
сегментів може бути відсутній, а для нескладних програм, де загальний обсяг
оперативної та постійної пам'яті не перевищує 64 КБайт, всі сегменти можна
об'єднати (сегментні регістри мають однакову початкову адресу). Початкові
адреси чотирьох сегментів записують в регістри СS, DS, SS і ЕS, тим самим
фіксуючи біжучі сегменти коду, даних, стеку і додаткових даних. Для
звернення до команд і даних, які знаходяться в інших сегментах, необхідно
змінити вміст сегментних регістрів, що дозволяє використовувати весь
простір пам'яті. Сегментні регістри ініціалізуються програмним шляхом при
запису в них відповідних констант.
МП ВМ 86 генерує 20-бітову адресу за таким алгоритмом:
фізична адреса=зміщення+16•(регістр сегмента).
На рисунку 2.6 поданий приклад обчислення фізичної адреси:
70