
- •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 Побудова програм з різною структурою мовою Асемблер
- •12.3.1 Лінійні програми
- •12.3.2 Розгалужені та циклічні програми. Підпрограми
- •12.4 Створення програмного забезпечення мпс на мп фірми Motorola
- •Список рекомендованої літератури
- •4 Модуль
- •13 Мікропроцесорні системи на мікроконтролерах фірми motorola та їхнє програмування
- •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
- •Список рекомендованої літератури
12.2.3 Команди логічних операцій
AND.B D1,D3 ; Операція логічного ТА над молодшими
; байтами операндів , розташованих у D1
; та D3; результат записується до D3
ANDI #$FBFB,SR ; Задання маски переривань відповідно до
; рівня 4
ОRI.B #4,CCR ; Встановлення біта Z = 1 у регістрі
; прапорців ССR
EOR.L DO,D2 ; Виконання операції виключного АБО над
; довгими словами, які зберігаються у D2 та
; D0
EORІ.B #$55,$400700.L ; Інвертування парних бітів у байті, який
; зберігається у комірці пам’яті з адресою
; $400700
Прапорець N у регістрі ССR при виконанні логічних операцій встановлюється залежно від знаку результату. Прапорець Z = 1, якщо результат є нульовий . Прапорці V та C завжди встановлюються такими, що дорівнюють нулю. Прапорець Х не змінюється.
12.2.4 Команди зсувів
Команди арифметичних та логічних зсувів зреалізовуються за схемами (рис. 12.3...12.5):
Рисунок 12.3 – Арифметичний та логічний зсуви ліворуч
(команди ASL, LSL)
Рисунок 12.4 – Арифметичний зсув праворуч (команда ASR)
Рисунок 12.5 – Логічний зсув праворуч (команда LSR)
Команди циклічних зсувів зреалізовуються за схемами (рис. 12.6...12.9):
Рисунок 12.6 – Циклічний зсув ліворуч (команда ROL)
Рисунок 12.7 – Циклічний зсув праворуч (команда ROR)
Рисунок 12.8 – Циклічний зсув ліворуч через прапорець Х
(команда ROXL)
Рисунок 12.9 – Циклічний зсув праворуч через прапорець Х
(команда ROXR)
Кількість розрядів, на яку зреалізовується зсув, записується або безпосередньо у команді (1...8) або у регістрі даних, лічильнику зсувів. Операнд, який записано у пам’яті, можна зсувати тільки на 1 біт і його розмір має бути не більше за слово.
ASR #3,D4 ; Арифметичний зсув молодшого слова у регістрі
; D4 праворуч на 3 розряди
ASL.L D0,D6 ; Зсув ліворуч довгого слова у регістрі D6 на
; кількість розрядів, зазначену у D0
ASR (-2,A3,D2,L) ; Зсув праворуч на 1 розряд слова, яке
; зберігається у комірках пам’яті, ефективну
; адресу першої зазначено за типом “непряме
; регістрове адресування зі зміщенням та
; індексуванням” та наступною
За арифметичного та логічного зсувів ліворуч за допомогою команд ASL та LSL молодші розряди операнда, які звільнюються, заповнюються нулями. За арифметичного зсуву праворуч за допомогою команди ASR старші розряди операнда, які звільнюються, заповнюються значенням його старшого (знакового) розряду. Це дозволяє зберегти значення знаку та форми подання операнда (двійковий код або доповняльний код). За логічного зсуву праворуч за командою LSR старші розряди операнда заповнюються нулями. При виконанні команди ASL значення V = 1 встановлюється, якщо відбулося хоча б одне змінення знакового розряду за кількох зсувів. За виконання команди ASR старший розряд не змінюється. За виконання усіх видів циклічних зсувів останній розряд операнда, що він висувається, зберігається як прапорець С.