Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коман.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.45 Mб
Скачать
  1. Мікропроцесорна пам'ять.

71. Типи регістрів мпп.

М ПП базового МП 8088 включає в себе 14 двохбайтових запам’ятовуючих регістрів. В ролі базової моделі, зокрема для мови Assembler і відладника програми Debug використовується 14-регістрова система МПП.

Всі регістри можна поділити на 4 групи:

  • універсальні регістри: AX, BX, CX, DX;

  • сегментні регістри: CS, DS, SS, ES;  регістри зміщення: IP, SP, BP, SI, DI;  регістри прапорців: FL.

Рис. Регістри МПП.

Якщо регістри 4-байтові або 8-байтові їх імена дещо змінюються: наприклад 4-байтові універсальні регістри AX, BX, CX, DX іменуються EAX, EBX, ECX, EDX відповідно.

72. Універсальні регістри.

Регістри AX, BX, CX, DX є універсальними (їх називають регістрами загального призначення - РЗП); кожний з них може використовуватися для тимчасового збереження довільних даних, при цьому дозволено працювати з кожним регістром повністю, а можна окремо із кожною його половиною (регістри AH, BH, CH, DH – старші (High) байти, а регістри AL, BL, CL, DL – молодші (Low) байти відповідних двохбайтових регістрів). Але кожний з універсальних регістрів може використовуватися і як спеціальний при виконанні деяких конкретних команд програми. Зокрема:

  • регістр AX – регістр акумулятор, через його порти здійснюється ввід – вивід даних в МП, а при виконанні операцій множення і ділення AX використовується для збереження першого числа, що приймає участь в операції і результату операції після її завершення;

  • регістр BX часто використовується для збереження адреси бази в сегменті даних і початкової адреси поля пам’яті при роботі з масивами;

  • регістр CX – регістр лічильник, використовується як лічильник числа повторень при циклічних операція;

  • регістр DX використовується як розширення регістра – акумулятора при роботі з 32розрядними числами і при виконанні операцій множення і ділення, використовується для зберігання номера порта при операціях вводу – виводу і т.д.

73. Сегментні регісти.

Регістри сегментної адресації CS, DS, SS, ES використовуються для збереження початкових адрес полів пам’яті (сегментів), відведених в програмах для збереження: команд програми (сегмент коду CS); даних (DS); стекової області пам’яті (SS); додаткової області пам’яті даних при між сегментних пересилках, оскільки розмір сегмента в реальному режимі роботи МП обмежений величиною 64 Кбайт.

74. Регістри зміщень.

Регістри зміщень (внутрішньо сегментної адресації) IP, SP, BP, SI, DI призначені для збереження відносних адрес комірок пам’яті всередині сегментів:

  • регістр IP (Instruction Pointer) – зміщення адреси текучої команди програми;

  • регістр SP (Stack Pointer) – зміщення вершини стека (текучої адреси стека);

  • регістр BP (Base Pointer) – зміщення початкової адреси поля пам’яті, безпосередньо відведеного під стек;

  • регістри SI, DI призначені для збереження адресів індекса джерела і приймача даних при операціях над рядками та їх подібними.

75. Регістри прапорців.

Регістр прапорців F містить умовні однорозрядні ознаки – маски, або прапорці управляючі проходженням програми в ПК; прапорці працюють незалежно один від одного і лише для зручності вони розміщені в єдиний регістр. Всього в регістрі міститься 9 прапорців: 6 з них статусні, вони відображають результати операцій, виконаних в комп’ютері, а 3 інших – управляючі, безпосередньо визначають режим виконання програми.

Статусні прапорці:

  • CF (Carry Flag) – прапорець переносу. Містить значення «переносів» (0 або 1) із старшого розряду при арифметичних операціях і деяких операціях зсуву і циклічного зсуву;

  • PF (Parity Flag) – прапорець парності. Перевіряє молодші 8 бітів результатів операцій над даними, непарне число одиничних бітів приводить до установки прапорця в 0, а парне в 1.

  • AF (Auxiliary Carry Flag) – прапорець логічного переносу в двійково–десятковій арифметиці. Він використовується при арифметичних операціях над двійково-десятковими кодами і кодами

ASCII;

  • ZF (Zero Flag) – прапорець нуля. Встановлюється в 1, якщо результат операції рівний 0; якщо результат рівний 0, ZF обнуляється.

  • SF (Sign Flag) – прапорець знаку. Встановлюється у відповідності зі знаком результату після арифметичних операцій: додатній результат встановлює прапорець в 0, від’ємний – в 1;

  • OF (Overflow Flag) – прапорець переповнення. Встановлюється в 1 при арифметичному переповненні.