- •2 Модуль
- •3 Модуль
- •4 Модуль
- •1 Вузли обчислювальної техніки та мікропроцесорних систем.
- •2 Програмування мікропроцесорів фірми Intel.
- •1 Модуль
- •1 Обчислювальні та мікропроцесорні системи
- •1.1 Основні визначення
- •1.2 Принципи побудови та функціонування обчислювальних систем
- •1.2.1 Архітектура обчислювальних систем
- •1.2.2 Класифікація комп’ютерів
- •1.3 Принципи побудови та функціонування мпс
- •1.4 Функціонування обчислювального пристрою
- •2 Операції над даними в обчислювальних системах
- •2.1 Подання даних в обчислювальних системах
- •2.2 Подання даних у кодах
- •2.3 Порозрядні операції над даними
- •3 Цифрові автомати
- •3.1 Визначення цифрових автоматів
- •3.2 Синтез логічних схем
- •3.3 Розробка ца
- •4 Типові пристрої обчислювальних систем (Для самостійного вивчення)
- •4.1 Суматори
- •4.2 Цифрові компаратори
- •4.3 Арифметико-логічний пристрій
- •4.4 Програмовні логічні інтегральні схеми (пліс)
- •5 Принципи побудування запам’ятовувальних пристроїв мпс з заданою організацією
- •5.1 Запам’ятовувальні пристрої мпс та їх класифікація
- •5.2 Постійні запам’ятовувальні пристрої
- •5.3 Оперативні запам’ятовувальні пристрої
- •5.4 Умовне позначення мікросхем пам’яті
- •5.5 Побудування модуля запам’ятовувального пристрою мпс з заданою організацією
- •6 Інтерфейс
- •6.1 Організація інтерфейсів
- •6.2 Організація послідовних інтерфейсів введення-виведення
- •7 Мікропроцесори
- •7.1 Архітектура мікропроцесорів
- •7.2.1 Організація 8-розрядних мікропроцесорів (Для самостійного вивчення)
- •Інтерпретація даних у мп к580вм80а
- •Програмна модель мп к580вм80а
- •Формат команд мп к580вм80а
- •Способи адресації операндів мп к580вм80а
- •Мікропроцесорна система кр580
- •Стекова пам’ять
- •Функціонування мпс
- •Виконання команди пересилання з регістра с у регістр в
- •Робота мпс при виконанні команди in n введення даних з порту n в акумулятор мп а
- •Реакція мпс на виконання команди зупину
- •Робота мпс у режимі переривань
- •7.2.2 Організація 16-розрядних мікропроцесорів
- •7.2.3 Організація 32-розрядних мікропроцесорів (Для поглибленого вивчення)
- •Співпроцесори мп і80386
- •7.3 Продуктивність мікропроцесорів та її оцінювання
- •7.3.1 Технічна продуктивність мікропроцесора
- •7.3.2 Реальна продуктивність мікропроцесора
- •7.3.3 Архітектура сучасних мікропроцесорів
- •8 Використання мп фірми intel у
- •Процесори Athlon та Duron фірми amd
- •Список рекомендованої літератури до 1 модулю
- •2 Модуль
- •9 Програмування мікропроцесорів фірми intel
- •9.1 Сегментування пам’яті мікропроцесорами
- •9.2 Способи адресування операндів мп фірми Intel Регістрове адресування операндів
- •Безпосереднє адресування операндів
- •Пряме адресування
- •Непряме регістрове адресування
- •Пряме адресування з індексуванням
- •Адресування за базою з індексуванням
- •Непряме адресування з масштабуванням
- •9.3 Мова програмування Асемблер-86
- •9.3.1 Формат команди
- •9.3.2 Команди пересилань
- •9.3.3 Команди перетворення даних мови Асемблер-86
- •9.3.4 Команди умовних та безумовних переходів
- •9.3.5 Команди організації циклів
- •9.4 Створення програм на мові Асемблер-86
- •9.4.1 Лінійні програми
- •9.4.2 Розгалужені програми
- •9.4.3 Циклічні програми
- •10 Програмна реалізація вузлів телекомунікаційного обладнання на мові асемблер-86
- •10.1 Способи реалізації алгоритмів
- •10.2 Розробка апаратно-програмних комплексів
- •10.3 Приклади реалізації простих вузлів телекомунікацій
- •10.3.1 Ініціалізація послідовного асинхронного адаптера rs-232-c
- •10.3.2 Фрагмент програми передавання даних через асинхронний адаптер rs-232-c
- •10.3.3 Фрагмент програми приймання даних через асинхронний адаптер rs-232-c
- •10.3.4 Приклад програми ініціалізації rs-232-c та введення-виведення даних, написаної у програмному середовищі turbo assembler (tasm)
- •10.3.5 Програмна реалізація генератора імпульсних послідовностей
- •10.3.6 Програмне вимірювання періоду імпульсної послідовності det
- •10.3.7 Програмна реалізація мультиплексора
- •Список рекомендованої літератури до 2 модулю
- •3 Модуль
- •11 Мікропроцесорні системи на універсальних мп фірми motorola
- •11.2 Побудова мпс на 16-розрядних мікропроцесорах фірми Motorola
- •11.2.1 Підсистема центрального процесорного елемента mc68000
- •11.2.2 Розподіл адресного простору мпс
- •11.2.3 Організація підсистеми пам’яті
- •11.2.4 Організація підсистем введення-виведення
- •11.4 Побудова мпс на 32-розрядних мікропроцесорах фірми Motorola
- •11.4.1 Підсистема центрального процесорного елемента
- •11.4.2 Розподіл адресного простору мпс
- •11.4.3 Організація підсистеми пам’яті мпс
- •11.4.4 Організація підсистеми введення/виведення
- •11.4.5 Підключення співпроцесора
- •12 Програмування універсальних мп
- •12.1 Мова Асемблер програмування мп фірми Motorola
- •Непряма регістрова адресація з постіндексуванням
- •Непряма регістрова адресація з преіндексуванням
- •Непряма відносна адресація з індексуванням
- •12.2 Система команд мп мс680х0 (Для самостійного вивчення)
- •12.2.1 Команди пересилання
- •12.2.2 Команди арифметичних операцій
- •12.2.3 Команди логічних операцій
- •12.2.4 Команди зсувів
- •12.2.5 Команди безумовних переходів
- •12.2.6 Команди умовних переходів
- •12.2.7 Команди організації програмних циклів
- •12.2.8 Команди звернення до підпрограм
- •12.3 Побудова програм з різною структурою на мові Асемблер мп фірми Motorola
- •12.3.1 Лінійні програми
- •12.3.2 Розгалужені та циклічні програми. Підпрограми
- •12.4 Створення програмного забезпечення мпс на мп фірми Motorola
- •Список рекомендованої літератури до 3 модулю
12.2.7 Команди організації програмних циклів
Для організації циклів використовується команда DBсс. Вказаний у команді регістр Dn є лічильником циклів у цьому циклі. При виконанні команди DBсс спочатку перевіряється виконання умови, заданої у команді. Якщо умова виконується, то МП вибирає наступну команду програми (умовний вихід з циклу). Якщо ж умова не виконується, то вміст регістру Dn декрементується. Якщо при цьому вміст регістру Dn становить –1, то також вибирається наступна команда (цикл завершується). Якщо ж вміст Dn не дорівнює –1, то виконується перехід до команди з адресою (PC + Ds), яка є початком циклу. Команда DBсс припускає використання будь-яких умов, вказаних у таблиці 12.3. Команда організації циклу DBF реалізує безумовне виконання заданої кількості циклів, а команда DBT — безумовний вихід з циклу.
12.2.8 Команди звернення до підпрограм
Команда виклику підпрограм JSR завантажує у РС з комірки пам’яті, адреса якої вказується у команді, адресу першої команди підпрограми. Перед цим поточний вміст РС (адреса наступної команди) запам’ятовується у стеку. Виклик підпрограми виконується також командою BSR, яка використовує відносне адресування, аналогічно команді BRA. Повернення до програми, що викликає, після завершення підпрограми здійснюється командою RTS, яка повертає із стека РС його поточне значення, чим забезпечує перехід до виконання наступної команди програми. Як правило, перша команда підпрограми завантажує у стек поточне значення регістру SR з метою збереження ознак останнього результату. У цих випадках слід при поверненні з підпрограми використовувати команду RTR, яка відновлює поточне значення байта CCR (ознаки X, N, Z, V, C) та вміст лічильника команд РС.
Команди передавання управління наведено у табл. 12.4.
До команд керування також відносяться команди організації переривань:
TRAP (TRAP) команда звернення до підпрограми обслуговування виключень. Команда завантажує до стека супервізора поточний вміст регістрів SR і PC, а потім завантажує у РС початкову адресу (вектор) підпрограми обслуговування відповідного виключення, яке відповідає числу #Dt = 0 – 15, що входить до команди;
TRAPV (TRAP ON OVERFLOW) команда виконується аналогічно команді TRAP при умові встановлення ознаки переповнювання V = 1 і викликає виключення переповнювання;
ILLEGAL (TAKE ILLEGAL INSTRUCTION TRAP) команда включає відповідне виключення при надходженні невірного коду команди;
RTE (REYURN FROM EXCEPTION) повернення з підпрограми обслуговування виключень. Команда є привілейованою і може виконуватися лише в режимі супервізора. При її виконанні відбувається поновлення вмісту програмного лічильника і регістра SR із стека;
і спеціальні команди:
NOP (NOT OPERAND) команда здійснює перехід до наступної команди без виконання будь-яких операцій;
STOP (LOAD STATUS REGISTER AND STOP) є привілейованою командою і виконується в режимі супервізора. Завантажує у регістр SR слово, яке вказано в команді, після чого процесор припиняє роботу;
Таблиця 12.4 – Команди передавання управління
Синтаксис асемблера |
Операція |
Адресація |
JMP <EA> |
<dst> PC |
Непряма регістрова (усі види), пряма (коротка та довга), відносна, відносна з індексуванням |
BRA ds |
PC + ds PC |
Відносна |
JSR <EA> |
SP – 4 SP, PC (SP), <dst> PC |
Непряма регістрова (усі види), пряма (коротка та довга), відносна, відносна з індексуванням |
BSR ds |
SP – 4 SP, PC (SP), PC + ds PC |
|
RTS |
(SP) SP, SP + 4 SP |
|
RTR |
(SP) CCR, SP + Z SP, (SP) PC, SP + 4 SP |
|
Bcc ds |
Якщо (сс) виконується, то PC + ds PC |
|
DBcc, ds |
Якщо (сс) не виконується, то Dn–1Dn; якщо Dn -1, то PC + ds PC |
|
RESET (RESET EXTERNAL DEVICES) команда формує сигнал RESET на відповідному виводі МП. Використовується для початкового встановлення підсистем МПС;
CHK (CHECK REGISTER AGAINST BOUNDS) спеціальна команда, яка виконує порівняння вмісту відповідного регістра з межею, що завдана вмістом ефективної адреси, якщо значення виходить за межу, то виконується відповідне переривання;
LINK (LINK AND ALLOCATE) зменшує значення вказівника стека на 4, завантажує вміст регістра адреси, який вказано в команді до стека, завантажує значення вказівника стека регістр адреси, збільшує значення вказівника стека на 4. Таким чином, команда завантажує нове значення вказівника стека і зберігаючи у стеку і регістрі адреси дані для повернення до вихідних значень;
UNLK (UNLINK) команда відмінює зміни, які відбулися в результаті виконання команди LINK.
Синтаксіс команд організації переривань і спеціальних команд подано у табл. 12.5.
Таблиця 12.5 – Перелік команд організації переривань і спеціальних команд
Синтаксис Асемблера |
Операція |
Тип адресування |
TRAP #Dt |
(SSP) – 2 → (SSP), (SR) → SSP (SSP) – 4 → (SSP), (PC) → SSP; Ve(#Dt) → РС |
|
TRAPV |
Якщо Ve = 1, то виконується аналогічно TRAP, якщо Ve = 0, то команда не виконується |
|
ILLEGAL |
Якщо код команди невірний, то аналогічно TRAP |
|
RTE |
(SP) → SR; SR + 2 → (SP); SP → PC; (SP) + 4 → SP |
|
NOT |
(PC) + 2 → PC; |
|
STOP #WS |
WS → SR і зупин програми |
|
RESET |
Встановлення початкового стану пристроїв МПС |
|
CHK <EA>,Dn |
Якщо Dn < 0 або Dn > <EA>, аналогічно TRAP |
Непряма регістрова (усі види), пряма (коротка та довга), відносна, відносна з індексуванням |
LINK An, dS |
(SP) – 4 → (SP); An → SP; (SP) → An; (SP) + dS → (SP) |
|
UNLK An |
An → SP; (SP) → An; (SP) + 4 → (SP) |
|
Контрольні запитання:
Які прапорці виставляє МП фірми Motorola при виконанні команд пересилань?
Які прапорці виставляються при виконанні арифметичних операцій?
Які прапорці виставляються при виконанні логічних операцій?
З якою метою використовується команда СМР <src>, <dst> і як вона виконується?
Наведіть приклади виконання команд ASL та LSL, з операндом, який дорівнює $82 на 2 розряди і поясність результати.
З якою метою виконуються команди циклічних зсувів?
Поясніть, як виконується команда CMPM (A3)+, (A4)+.
Де вміщується адреса переходу при виконанні команди JMP <EA>?
Як формується адреса нового вмісту програмного лічильника РС при виконанні команди BRA ds?
Які дії МП МС68ххх викликає виконання команди виклику ПП JSR <EA>?
Які дії МП МС68ххх викликає виконання команди повернення з ПП RTS?
Які умови можна вказувати у команді умовного переходу Всс?
Як перевіряють команди DBсс та DBF умову завершення циклу, задану у команді, яка виконує вихід з циклу?
Яка команда перевіряє потрапляння заданого операнда у вказаний в ній діапазон значень і як вона працює?
Які команди виконують операції з бітовими полями і як вони виконуються?