- •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-го модуля
- •Предметний покажчик
Команди логічних операцій
До цієї групи команд відносяться команди, які при роботі використовують правила алгебри логіки. До таких команд відносяться команди, яки виконують логічні операції над операндами, команди обробки біт і команди зсувів.
Логічні операції мови Асемблер-86:
AND (logical AND) – команда логічного множення операндів (кон’юнкція).
OR (logical OR) – команда логічного додавання операндів (диз’юнкція).
XOR (logical eXclusive OR)– логічне виключне АБО.
TEST (TEST operand) – логічне ТА. Використовується для логічного порівняння операндів.
NOT (NOT operand) – інвертування операнда.
Узагальнене представлення логічних команд має вигляд:
AND dst,src.
OR dst,src.
XOR dst,src.
TEST dst,src.
NOT src.
В усіх командах операндами можуть бути 8-, 16-, 32-розрядні регістри загального призначення і пам’ять з відповідною кількістю комірок. Операнд src(джерело) також може бути представлено безпосереднім числом (крім командиNOT).
Команди AND, OR, XOR, TESTзмінюють прапорці таким чином:
OFіCF– завжди установлюються у нульовий стан;
SF, ZF, PF– установлюються відповідно до результату за тими самими правилами, що і для арифметичних операцій;
AF– не визначається.
Команди зсувів поділяються на арифметичні і логічні. Для логічних зсувів характерно, що біт, який виходить за межі регістра, втрачається, а на місце біта, який зсунувся, у регістр записується 0. При виконанні арифметичних зсувів праворуч знаковий біт не втрачається, а зберігається у сусідньому, тим самим зберігаючи знак числа.
Асемблер включає такі команди зсувів:
SHL (Shift logical Left)– зсунути логічно ліворуч;
SAL (Shift Arithmetic operand Left) – зсунути арифметично ліворуч;
SHR (Shift logical Right) – зсунути логічно праворуч;
SAR (Shift Arithmetic operand Right) – зсунути арифметично праворуч;
RCL (Rotate operand through Carry flag Left) – зсунути циклічно ліворуч через перенесення;
RCR (Rotate operand through Carry flag Right) – зсунути циклічно праворуч через перенесення;
ROL (Rotate operand Left)– зсунути циклічно ліворуч;
ROR (Rotate operand Right)– зсунути циклічно праворуч.
Пояснення алгоритму роботи і синтаксис кожної з команд зсувів подано у табл. 9.3.
У таблиці прийнято умовні позначення: opr – операнд (регістр або комірка пам’яті, вміст яких зсувається);cnt– кількість зсувів (може приймати значення 1 або задаватися вмістом регістра-лічильникаCL).
Таблиця 9.3 – Команди зсувів
Мнемоніка та формат команди |
Опис виконання |
SHL opr,cnt
SAL opr,cnt
SHR opr,cnt
SAR opr,cnt
RCL opr,cnt
RCR opr,cnt
ROL opr,cnt
ROR opr,cnt
|
opr |
Контрольні питання:
Які команди додавання операндів у мові Асемблер Ви знаєте? Чим вони відрізняються одна від одної?
Чим різняться команди SUBіSBB? Поясніть на прикладі.
Як виконується команда DEC CX?
Як виконується команда MULі в яких регістрах може розміщуватися операндsrc(джерело) і операндdst (приймач)?
Як виконується команда DIVі в яких регістрах може розміщуватися операндsrc(джерело) і операндdst (приймач)?
Для чого у командах ділення використовується команда CWD?
Для чого використовується команда СМР? Де розміщується результат виконання цієї команди?
Які команди логічних операцій Ви знаєте?
Який результат буде отримано при виконанні фрагмента програми:
MOV AX,AFH
SHL AX,1
Який результат буде отримано при виконанні фрагмента програми:
MOV AX,AFH
ROR AX,1
Який результат буде отримано при виконанні фрагмента програми:
MOV AX,AFH
RCL AX,1
Контрольні питання підвищеної складності:
Чому при виконанні арифметичних команд над двійково-десятковими числами виникає потреба у корекції результату?
Як виконується корекція результату при виконанні арифметичних команд над двійково-десятковими числами?
Які прапорці формуються при виконанні логічних операцій?
Які команди зсувів можливо використовувати як команди множення і ділення на 2?