- •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 Асинхронний послідовний адаптер rs-232-c
- •7 Мікропроцесори
- •7.1 Архітектура мікропроцесорів
- •7.2.1 Історична довідка про розвиток мікропроцесорів фірми Intel (Для самостійного вивчення)
- •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 Використання сучасних мікропроцесорів
- •Список рекомендованої літератури
- •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 Програмна реалізація мультиплексора
- •Список рекомендованої літератури
Команди логічних операцій
До цієї групи команд відносяться команди, які при роботі використовують правила алгебри логіки. До таких команд відносяться команди, яки виконують логічні операції над операндами, команди обробки біт і команди зсувів.
Логічні операції мови Асемблер-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?