Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

ВВЕДЕННЯ

Читайте также:
  1. Введення
  2. Введення
  3. Введення аналогових сигналів і формування дискретних статичних сигналів
  4. Введення байта стану одного датчика
  5. Введення в Linux
  6. Введення в економіку. Сутність, предмет і методи економічної теорії.
  7. Введення християнства.
  8. Введення християнства.
  9. Введення.

Системне програмування, як правило, здійснюється на мові низького рівня. Однією з мов низького рівня є мова асемблера (асемблер). У його основі лежить безпосереднє використання команд центрального процесора для створення програм. Крім того, структура програми і процедура підготовки її до виконання наближені до архітектурних особливостей операційної системи і, таким чином, реалізують низький рівень доступу до ресурсів. В результаті системний програміст отримує якнайповніший контроль над процесами, що відбуваються як при підготовці програми до виконання, так і при ЇЇ виконанні.

Команди процесора відповідають окремим мнемонічним інструкціям мови асемблера. Більшість з них орієнтована на обробку двійкових даних, що зберігаються в регістрах усередині процесора або в елементах основної пам'яті. Відповідно до характеру обробки виділяють групи команд: пересилки, арифметичні, логічні, зрушення, передачі управління та інші. Типи оброблюваних даних частіше зв'язуються з розмірами двійкових осередків, що відводяться для їх зберігання, і рідше — з їх смисловим значенням (числа, символи, адреси, команди). Асемблер на рівні інструкцій визначення даних підтримує типи "байт", "слово" (2 байти), "подвійне слово" (4 байти) та інші. При програмуванні в реальному режимі процесора (відповідному процесору 8086) основним типом є 16-бітове слово.

Регістри процесора — його внутрішні двобайтові осередки — використовуються в основному для короткочасного зберігання оброблюваних даних невеликого розміру. Використання регістрів при обробці даних переважно у зв'язку з швидким до них доступом. Звернення до регістрів здійснюється по іменах. Найбільш вільний доступ забезпечується до регістрів загального призначення: АХ, ВХ, СХ, ОХ, БІ, 01, БР і ВР.

Для тривалого розміщення масивів даних і команд програми служить основна (оперативна) пам'ять, що є сукупністю байтових осередків. Звернення до осередків пам'яті проводиться по унікальних номерах осередків — адресах. Мова асемблера дозволяє привласнювати адресам даних і команд імена. Сучасні реалізації асемблерів (зокрема ТАБМ) дозволяють іменувати також ділянки початкового тесту програми і тому є макроасемблерами.

При зверненні до пам'яті використовуються сегменти — ділянки пам'яті з відносною 16-бітовою адресацією. Повна адреса осередку визначається у вигляді пари 16-бітових адрес: сегментної адреси, що визначає положення сегменту в пам'яті, і відносної адреси, що визначає


 

положення осередку усередині сегмент}'. Сегментні адреси містяться в сегментних регістрах CS, DS, ES і SS і указують відповідно на сегменти команд, даних, додаткових даних і стека. Відносні адреси указуються відповідно до режимів адресації пам'яті. У разі прямої адресації відносна адреса указується у вигляді константи, що поміщається в код машинної команди. У разі непрямої адресації відносна адреса визначається за допомогою одного або двох регістрів загального призначення (у 8086 — тільки ВХ, BP, SI або DI). Повні адреси записуються у вигляді адресних пар "сегментна регистрютносительньїй адреса". В більшості випадків сегментний регістр не указується, мається на увазі за умовчанням.

Окрім регістрів загального призначення і сегментних процесор 8086 має два спеціальні регістри: прапорів (Flags) і покажчик команд (IP). Покажчик команд завжди містить відносна адреса команди (у сегменті команд), що підлягає виконанню. Прапорами є окремі біти, які можуть бути встановлені (= 1) або скинуті (= 0), відображаючи тим самим певний стан результату деякої дії (прапори CF, AF, OF, ZF, PF, SF) або задаючи режим роботи процесора (прапори DF, IF, TF),


 


Дата добавления: 2014-12-19; просмотров: 5 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2021 год. (0.088 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав