Лабораторна робота №4Відмітною особливістю цієї групи команд (таблиця 5) є те, що вони оперують з однобітовими операндами. Такими операндами можуть виступати окремі біти деяких регістрів спеціальних функцій і портів, а також 128 програмних прапорів користувача. Існують команди скидання (CLR), установки (SETB) і інверсії (CPL) бітів, а також кон’юнкції і диз’юнкції біта і прапора зсуву. Для адресації бітів використовується пряма восьмирозрядна адреса (bit). Непряма адресація бітів неможлива.
Таблиця 5 - Операції з бітами
5 Хід роботи:
5.1 Вивчити необхідний теоретичний матеріал. 5.2 Складіть набір з 26 команд, що виконують задані в таблиці 6 операції. Таблиця 6 - Операції і способи адресації
5.3 В покроковому режимі роботи ProView виконайте дослідження приведеного прикладу програми використання команд передачі даних. Приклад містить докладний опис послідовності дій. Приклад. Запис даних. Записати в резидентну пам’ять даних за адресами 41 і 42 число 1C3FH:
LOAD: MOV R0,#41H;завантаження в R0 вказівника даних MOV @R0,#1CH;запис в пам’ять числа 1CH INC R0; інкремент вказівника MOV @R0,#3FH;запис в пам’ять числа 3FH
Доповнюємо програму директивами і командами асемблера, що забезпечують відладку та тестування:
START:JMP LOAD;перехід до програми ORG 30H;директива розміщення програми з адреси 30 LOAD: MOV R0,#41H;завантаження в R0 вказівника даних MOV @R0,#1CH;запис в пам’ять числа 1CH INC R0;інкремент вказівника MOV @R0,#3FH;запис в пам’ять числа 3FH JMP START;зациклювання програми END;директива закінчення трансляції
5.4 Переходимо до створення проекту і тестування програми в середовищі ProView. Більшість кроків Вам вже знайома по лабораторній роботі №3. Специфіка полягає тільки в тому, що текст програми написаний на мові асемблера. 5.4.1 Завантажити програму ProView. Якщо після завантаження програми відкривається попередній проект, з яким проводилася робота, то необхідно закрити його через меню. 5.4.2 Створити новий проект (рисунок 1).
Рисунок 1 – Створення нового проекту Вкажіть ім’я файла проекту у вашій власній папці (рисунок 2). Рисунок 2 – Збереження проекту 5.4.3 Створити новий файл для наступного введення тексту програми та вказання типу файла. (рисунок 3, 4). Рисунок 3 – Створення нового файлу Рисунок 4 – Визначення типу файла Відкриється порожнє вікно для введення асемблерного тексту програми. Зберегти цей файл (рисунок 5). Рисунок 5 – Запис файлу Вкажіть ім’я та розширення імені файлу. (рисунок 6) Рисунок 6 – Ім’я файлу 5.4.4 Ввести текст програми (рисунок 7): Рисунок 7 – Введення тексту програми 5.4.5 Підключити цей файл до проекту, попередньо активізувавши вікно проекту (рисунок 8). Рисунок 8 - Підключення файлу до проекту 5.4.6 Виконати компіляцію проекту. 5.4.7 Запустити програму на виконання за допомогою команди Start з меню Debug, вказавши необхідні опції відладчика (рисунок 9). Рисунок 9 - Вікно опцій відладчика компіляції 5.5 Виконайте програму в покроковому режимі, спостерігаючи зміну вмісту вікна резидентної пам’яті даних і вікна Main Registers, переконайтеся в правильності роботи програми. Визначте час виконання програми. 5.6 Складіть звіт до лабораторної роботи. 6 Контрольні запитання: 6.1 По яких функціональних групах можна класифікувати команди мікроконтроллера? 6.2 Який формат може мати команда? 6.3 Як тривалість машинного циклу мікроконтроллера співвідноситься з його тактовою частотою? 6.4 Які способи адресації використовуються в мікроконтроллері? 6.5 Чи можна адресувати порти і регістри спеціальних функцій побічно? 6.6 Наведіть приклади команд передачі даних з різними способами адресації. 6.7 Розшифруйте команду MOVC A, @A+DPTR. 6.8 Наведіть приклади команд доступу до 256 байтів резидентної пам’яті даних, до зовнішньої пам’яті даних. 6.9 Наведіть приклади логічних і арифметичних команд. 6.10 Як виконати віднімання багатобайтних операндів? 6.11 Перерахуєте команди операцій з бітами. 6.12 Як інвертувати окремі біти портів? 6.13 Чи можна адресувати біти побічно? 6.14 Які переходи можливі в командах управління? 6.15 Для чого використовуються непрямі переходи в програмах? 6.16 Поясніть відмінності довгого, абсолютного і відносного переходів в програмах. 6.17 Як організувати процедуру очікування за допомогою однієї команди? 6.18 Які команди використовуються при організації підпрограм? 6.19 Які команди модифікують прапори результату? 6.20 Вкажіть, які з регістрів спеціальних функцій допускають бітову адресацію. 6.21 Які прапори використовуються командами умовних переходів? 6.22 Чим відрізняються команди RET і RETI?
7 Література: [15] – c.400-404, 415-418, 431-442 Лабораторна робота №4 з дисципліни “Транспортні засоби” за темою:
|