- •Питання для іспиту з дисципліни
- •“Комп’ютерна схемотехніка” для спеціальності 5.05010201
- •Особливості процесу виконання команди кр580вм80.
- •Поняття про цикл процесу виконання команди в мп.
- •Алгоритм циклічного обчислювального процесу.
- •Команди звернення до підпрограми.
- •Поняття про логічні адреси при формуванні 20-розрядної адреси у 16-розрядному процесорі.
- •Перерахуємо всі 10 типів:
- •Регістр прапорців мп і 8086, призначення прапорців.
- •Команди умовних викликів підпрограми. Приклади.
- •Практична частина
Перерахуємо всі 10 типів:
Вибір першого байту команди
Читання з памяті
Запис у память
Читання з стеку
Запис у стек
Ввід із ПВВ
Вивід із ПВВ
Підтвердження переривання
Підтвердженя зупинки
Підтвердження переривання при зупинці.
Типи виразів в програмі на мові Асемблер.
А) команди, що транслюються
Б) директиви, що не транслюються, а лише керують процесом трансляції.
Роль стекової пам’яті при виконання команди CALL.
Звернення до підпрограми відбувається за допомогою команд безумовного (CALL) та умовних (CNZ, CZ, CNC, CC, CPO, CPE, CP, CM викликів підпрограми
При виконанні команди безумовного виклику підпрограми вміст програмного лічильника, який представляє собою адресу наступної за порядком команди основної програми заноситься в дві сусідні комірки стекової пам’яті, а замість нього в програмний лічильник заноситься початкова адреса підпрограми
Особливості використання стекової пам’яті при зверненні до підпрограми і при поверненні в основну програму.
Звернення до підпрограми відбувається за допомогою команд безумовного (CALL) та умовних (CNZ, CZ, CNC, CC, CPO, CPE, CP, CM викликів підпрограми
При виконанні команди безумовного виклику підпрограми вміст програмного лічильника, який представляє собою адресу наступної за порядком команди основної програми заноситься в дві сусідні комірки стекової пам’яті, а замість нього в програмний лічильник заноситься початкова адреса підпрограми, тобто виконуються наступні дії:
[(SP) -1] [ (SP) - 2] ← (PC);
SP ← (SP) – 2;
PC ← <В3 В2>.
При виконанні команди безумовного повернення з підпрограми (RET) в програмний лічильник повертається зі стеку адреса наступної команди основної програми, яка була туди занесена командою виклику підпрограми (CALL), тобто виконуються дії:
(PC) ← [(SP)] [(SP) + 1];
SP ← (SP) + 2;
Регістр прапорців мп і 8086, призначення прапорців.
Більшість арифметичних і логічних команд впливають на регістр стану процесора (або прапорці - flags). У цьому регістрі 16 біт. Кожен біт називається прапорцем і може приймати значення 1 або 0.
Carry Flag (CF) - перенос - цей прапор встановлюється в 1, коли є беззнакове переповнення. Наприклад, якщо ви збільшили байт 255 + 1 (результат не міститься в діапазоні 0...255). Якщо переповнення не відбувається, цей прапор установлений в 0.
Zero Flag (ZF) - нуль - установлюється в 1, якщо результат дорівнює нулю. Якщо результат не нульовий, то цей прапор установлюється в 0.
Sіgn Flag (SF) - знак - установлений в 1, якщо результат - негативне число. Якщо результат позитивний, то цей прапор установлюється в 0. Звичайно цей прапор приймає значення старшого значущого біта.
Overflow Flag (OF) - переповнення - установлюється в 1, якщо трапляється переповнення при арифметичних операціях зі знаком. Наприклад, якщо ви збільшили байт 100 + 50 (результат не міститься в діапазоні -128...127).
Parіty Flag (PF) - контроль із - цей прапор установлюється в 1, якщо в молодших 8-бітових даних парне число. Якщо число непарне, то цей біт установлений в 0. Навіть якщо результат - це слово, то з тільки 8 молодших біт!
Auxіlіary Flag (AF) - зовнішній перенос - установлений в 1, якщо трапилося переповнення без знака молодших 4-х битов (тобто перенос із 3-го біта).
Іnterrupt enable Flag (ІF) - переривання - якщо цей прапор установлений в 1, то процесор реагує на переривання від зовнішніх пристроїв.
Dіrectіon Flag (DF) - напрямок - цей прапор використовується деякими командами для обробки ланцюжка даних. Якщо прапор установлений в 0 - обробка відбувається в прямому напрямку, якщо 1 - у зворотному.
Основні групи системи команд МП і8086.
Синтаксис мови асемблера визначається системою команд конкретного процесора.
Усі команди МП можна розподілити на п'ять груп:
команди передачі інформації (команди пересилання, роботи зі стеком, введення-виведення);
команди обробки інформації (арифметичні, логічні, команди зсуву);
рядкові команди;
команди передачі керування, включаючи команди переривань;
команди керування станом МП.
Типи ЗП МПС за швидкістю обміну інформацією з АЛП.
Формат керуючого слова ППІ КР580ВВ55.Приклад запису керуючого слова.
Формат керуючого слова режиму показаний на рис. 3.
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
1 |
M1 |
M2 |
IOA |
IOC’ |
M |
IOB |
IOC” |
Рис. 3. Формат керуючого слова режиму.
Окремі біти керуючого слова мають наступне призначення:
біти М1, М0 задають режим групи А: 00 – режим 0, 01 – режим 1, 1х – режим 2;
біт ІОА задає режим введення або виведення порту А (1 – введення інформації, 0 – виведення);
біт ІОC’ задає режим введення або виведення порту C’ (1 – введення інформації, 0 – виведення);
біт М задає режим роботи групи В (0 – режим 0, 1 – режим 1);
біт ІОВ задає режим введення або виведення порту B (1 – введення інформації, 0 – виведення);
біт IOC” задає режим введення або виведення порту C” (1 – введення інформації, 0 – виведення).
Сигналом RESET всі порти ППІ настроюються на виведення в режимі 0. На рис. 4 приведене керуюче слово, яке встановлює режим 0 для всіх портів, причому порт А програмується на введення інформації, а порти В і С - на виведення.
-
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
1
0
0
0
0
Рис. 4. Формат керуючого слова заданого режиму.
Стан “зупинки” МП.
В системі команд МП є спеціальна команда, яка викликає припинення виконання програми і перехід в стан зупинки, при цьому всі буфери переходять в третій стан , про що свідчить сигнал на виході “COAT”
Структура виразів на мові Асемблер.
{<мітка>}; <мнемокод>{<операнд>},{<операнд>}{;коментар}
В фігурних дужках наведені елементи, яких може не бути в деяких командах.
Приклади виразів першого типу
Мітка |
Мнемокод |
Операнд(и) |
Коментар |
M1: |
MOV ADD |
AX,05 AX,BX |
AX 05 AX AX+BX |
Приклади виразів другого типу
Мітка |
Мнемокод |
Операнд(и) |
Коментар |
COUNT
|
DB |
1 |
Кількість повторень байту даних директива якого використовується для росп. п |
