- •Тема 1: Основні елементи апаратних засобів комп’ютера. Пам’ять, одиниці об’єму пам’яті. Реальний та захищений режим роботи процесора
- •Пристрій керування шиною (контролер шини)
- •Характеристика та загальна структура мікропроцесорів
- •Регістри загального призначення Регістри загального призначення використовуються для будь-яких операцій без обмежень, але мають і свої спеціальні призначення
- •Регістр командного показчика
- •Регістр прапорців
- •Пам’ять, виділення пам’яті, біти, байти, сегменти, регістри
- •Реальний та захищений режими роботи
- •Адресація пам’яті в реальному режимі
- •0000H: 0000h [ сегмент: зміщення ] fffFh: 000Fh
- •Адресація пам’яті в реальному режимі
Регістри загального призначення Регістри загального призначення використовуються для будь-яких операцій без обмежень, але мають і свої спеціальні призначення
Особливістю регістрів загального призначення є те, що існує можливість їх адресувати як подвійного слова, одного слова а також однобайтної частини. Лівий байт слова є старшою частиною (High), а правий молодшою (Low).
Регістр ЕAX (акумулятор):
О
сновний
суматор, використовується для усіх
операцій вводу/виводу, деяких операцій
над рядками (символьними даними), також
використовується в десятковій арифметиці.
Р
егістр
EBX
(база):
Виконує роль базового регістру. Тобто це єдиний регістр загального призначення, який може використовуватись в якості “індексу” для розширеної адресації (індексна адресація). Крім того BX використовується при обчисленнях.
Р
егістр
ECX
(лічильник):
Необхідний для керування числом повторень циклів, а також операцій зсуву вліво чи вправо. Крім того CX використовується при обчисленнях.
Р
егістр
EDX
(регістр даних):
Регістр даних застосовується для деяких операцій вводу/виводу і тих операцій множення і ділення над великими числами, які використовують регістрову пару ЕDX : ЕAX (AX : DX).
Регістри загального призначення можуть використовуватись в операціях додавання і віднімання.
Регістри покажчики ЕSP і ЕBP
Регістри покажчики забезпечують доступ до даних в сегменті стеку. Інколи застосовуються для операцій додавання і віднімання.
SP – покажчик стеку, забезпечує використання стеку в пам’яті, дозволяє тимчасово зберігати адреси і в окремих випадках дані. Цей регістр адресує стек аналогічно регістру SS (зв’язаний з ним).
BP – покажчик бази, забезпечує зсилки на параметри (дані і адреси, що передані через стек).
Стек – це область пам’яті, яка відведена для зберігання проміжних результатів, тимчасових даних і адрес. Доступ до даних записаних в стек відбувається за принципом останній зайшов – перший вийшов, тобто доступним є останній записаний елемент в стек елемент.
Індексні регістри ЕSI і ЕDI
Індексні регістри застосовуються для розширеної адресації, для виконання операцій додавання і віднімання і операціях над стрічками.
ЕSI – регістр індексу джерела. Використовується в деяких операціях над рядками і символами, аналогічний регістру DS (зв’язаний з ним)
ЕDI – регістр індексу отримувача, або індекс призначення. Використовується в тих же операціях, що і регістр ЕSI ( зв’язаний з ES).
Регістр командного показчика
ЕIP – містить зміщення команди, яка повинна бути виконана. Зміщення задається відносно базової адреси сегменту коду (CS). В основному використовується при відлагодженні для відслідковування команд, що будуть виконуватись.
Сегментні регістри CS, DS, SS і ES
Кожен сегментний регістр забезпечує адресацію пам’яті об’ємом 64 Kb. Кожен сегмент вирівнюється на межу параграфа, тобто по будь-якій адресі кратній 16, і його адреса в сегментному регістрі передбачає наявність справа 4-ох нульових бітів.
Призначення регістрів :
CS – регістр сегменту коду. Містить в собі початкову адресу сегменту коду. Ця
адреса плюс значення зміщення в покажчику команд (Inst.Point) визначає адресу команди, яка повинна вибиратися для виконання. При написанні звичайних програм нема необхідності робити зсилки на регістр CS.
DS – регістр сегменту даних. Містить початкову адресу сегменту даних. Ця адреса
плюс значення зміщення, яке визначається в команді, вказують на комірку в сегменті даних з якою буде проводитись робота.
SS – регістр стека. Містить початковий адрес сегменту стеку. Стек містить адреси
повернення для підпрограм запущеної програми та коди повернення в DOS запущеної програми.
ES – додатковий сегментний регістр. Використовується для управління адресацією пам’яті. Цей регістр використовують для деяких операцій над стрічками (символьними даними). При необхідності використання ES (FS, GS) його необхідно ініціалізувати в програмі.
Послідовність регістрів і сегментів не зберігається.
В середині програми всі адреси пам’яті відносні до початку сегменту. Такі адреси називають зміщенням від початку сегменту.
Для звернення до будь-якої адреси в програмі комп’ютер додає адресу в регістрі сегменту до зміщення. Наприклад, початкова адреса сегменту даних
