
- •1.1 Основні визначення
- •1.2 Принципи побудови та функціонування обчислювальних систем
- •1.2.1 Архітектура обчислювальних систем
- •1.3 Принципи побудови та функціонування мпс
- •1.4 Функціонування обчислювального пристрою
- •2.1 Подання даних в обчислювальних системах
- •2.2 Подання даних у кодах
- •2.3 Порозрядні операції над даними
- •3 Цифрові автомати
- •4 Типові пристрої обчислювальних систем (Для самостійного вивчення)
- •4.1 Суматори
- •4.2 Цифрові компаратори
- •4.3 Арифметично-логічний пристрій
- •4.4 Програмовані логічні інтегральні схеми (пліс)
- •5 Принципи побудови запам’ятовувальних пристроїв мпс з заданою організацією
- •5.1 Запам’ятовувальні пристрої мпс та їх класифікація
- •5.2 Постійні запам’ятовувальні пристрої – флеш-пам’ять
- •5.3 Оперативні запам’ятовувальні пристрої
- •5.4 Побудова блока запам’ятовувального пристрою мпс
- •6 Інтерфейс
- •6.1 Організація інтерфейсів
- •6.2 Асинхронний послідовний адаптер rs-232-c
- •7 Мікропроцесори
- •7.1 Архітектура мікропроцесорів
- •7.2.1 Історична довідка про розвиток мікропроцесорів фірми Intel (Для самостійного вивчення)
- •Програмна модель мп к580вм80а
- •7.2.2 Організація 16-розрядних мікропроцесорів
- •7.2.3 Програмна модель мп і8086
- •7.2.4 Режим переривань мп і8086
- •7.2.5 Організація 32-розрядних мікропроцесорів (Для самостійного вивчення)
- •7.3 Архітектура сучасних мікропроцесорів
- •7.3.1 Тенденції розвитку архітектури сучасних мікропроцесорів
- •7.3.2 Мікропроцесори Pentium
- •7.3.3 Процесори фірми amd
- •7.3.4 Продуктивність мікропроцесорів та її оцінювання
- •8 Використання сучасних мікропроцесорів
- •Список рекомендованої літератури до Частини і 1-го модуля
- •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 Програмна реалізація мультиплексора
- •Список рекомендованої літератури до Частини іі 1-го модуля
- •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 Організація підсистеми пам’яті мпс
- •12 Програмування універсальних мп
- •Непряме регістрове адресування з постіндексуванням
- •Непряме регістрове адресування з преіндексуванням
- •Непряме відносне адресування з індексуванням
- •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 Побудова програм з різною структурою мовою Асемблер
- •12.3.1 Лінійні програми
- •12.3.2 Розгалужені та циклічні програми. Підпрограми
- •Even: move sr,d5 ; Завантаження регістра стану до d5
- •12.4 Створення програмного забезпечення мпс на мп фірми Motorola
- •Список рекомендованої літератури до Частини і 2-го модуля
- •13.1 Типові мікроконтролери фірми Motorola
- •Сімейство 68нс16/916
- •13.2 Система команд мікроконтролерів фірми Motorola
- •13.3 Налаштовування вбудованих засобів мікроконтролерів
- •14 Risc-процесори фірми motorola
- •14.1 Risc-процесори PowerPc
- •14.2 Risc-процесори ColdFire
- •14.3 Система команд risc-мікропроцесорів сімейства PowerPc
- •15 Архітектура та принципи побудови процесорів цифрового оброблення сигналів
- •15.1 Основні напрямки цифрового оброблення сигналів (цос)
- •15.2 Узагальнена архітектура процесорів сімейства dsp563xx
- •15.3 Організація циклічного буфера в dsp
- •15.4 Програмна реалізація цифрового фільтра сіх
- •16Мпс на мікроконтролерах, мікропроцесорах та dsp
- •Список рекомендованої літератури до Частини іі 2-го модуля
- •Предметний покажчик
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 (RETURN FROM EXCEPTION)– повернення з підпрограми обслуговування виключень. Команда є привілейованою і може виконуватися лише в режимі супервізора. При її виконуванні відбувається поновлення вмісту програмного лічильника і регістра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 |
|
і спеціальні команди:
NOP (NOP OPERATION)– команда здійснює перехід до наступної команди без виконання будь-яких операцій;
STOP (LOAD STATUS REGISTER AND STOP)– є привілейованою командою і виконується в режимі супервізора. Завантажує до регістраSRслово, зазначене в команді, після чого процесор припиняє роботу;
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 |
|
NOР |
(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 на два розряди і поясність результати.
З якою метою виконуються команди циклічних зсувів?
Поясніть, в який спосіб виконується команда CMPM(A3)+,(A4)+.
Де вміщується адреса переходу при виконуванні команди JMP<EA>?
У який спосіб формується адреса нового вмісту програмного лічильника РС при виконуванні команди BRA ds?
Які умови можна зазначати у команді умовного переходу Всс?
У який спосіб перевіряють команди DBсстаDBFумову завершення циклу, задану в команді, яка виконує вихід з циклу?
Контрольні питання підвищеної складності:
Які дії МП МС68ххх спричинює виконування команди виклику ППJSR <EA>?
Які дії МП МС68хххспричинює виконування команди повернення з ППRTS?
Яка команда перевіряє потрапляння заданого операнда до зазначеного в ній діапазону значень і в який спосіб вона працює?
Які команди виконують операції з бітовими полями і в який спосіб вони виконуються?