- •Затверджую
- •Мікропроцесорна практика методичні вказівки для виконання практичних робіт
- •Інструкція
- •З охорони праці
- •При виконанні практичних робіт з дисципліни
- •Мікропроцесорна практика
- •Загальні вимоги
- •2. Спеціальні вимоги
- •Обов'язки курсантів та студентів до початку виконання робіт
- •2.2 Обов'язки курсантів та студентів у процесі виконання лабораторних робіт, практичних занять
- •Обов'язки курсантів та студентів при аварійних ситуаціях
- •Обов'язки курсантів та студентів після закінчення робіт
- •Практична робота №1
- •Обладнання для виконання роботи:
- •Теоретичні основи:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання
- •Література:
- •Техніка безпеки:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •12.4 Структурна схема програми
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Література:
- •Техніка безпеки:
- •Послідовність виконання роботи
- •Хід виконання роботи
- •Контрольні запитання:
- •Форма звіту
Контрольні запитання:
Вкажіть місцезнаходження операнда з прямою адресацією.
Поясніть, яким чином визначається адреса операнда з непрямою адресацією.
Поясніть, як визначається значення операнда з безпосередньою адресацією.
Поясніть, яким чином визначається адреса операнда з відносною адресацією.
Чим відрізняються файли типів СОМ та ЕХЕ?
Що таке директиви та для чого вони призначені?
Форма звіту
Тема, мета роботи.
Текст завдання для виконання.
Порядок виконання роботи.
Хід виконання роботи.
Висновок по роботі.
ПРАКТИЧНА РОБОТА №10
Тема: Арифметичні команди та переміщення даних.
Мета: Вивчити арифметичні команди та команди переміщення даних.
Задачі: Робота з командами: MOV, ADD, SUB, INC, DEC, MUL, DIV.
Обладнання для виконання роботи:
Методичні вказівки що до виконання лабораторної роботи;
Персональний комп’ютер;
Відповідне програмне забезпечення (Windows 98, Microsoft Office 2000, XP, 2003, MS Excel, емулятор типу Emu8086 v2.57).
Теоретичні основи:
Команда переміщення даних
MOV - походить від слова «move» (переміщати), насправді не переміщає, а копіює значення з джерела в приймач:
MOV приймач, джерело
Приклади:
mov ах,[number]; заносим значение переменной number в регистр АХ;
mov [number],bx ; загрузить значение регистра ВХ в переменную number;
mov bx,сx ; занести в регистр ВХ значение регистра СХ;
mov al, 1; занести в регистр AL значение 1;
mov word [number] , 1; сохранить 16-битное значение 1 в переменную "number''
Арифметичні команди
Складання (ADD) і віднімання (SUB). Команда ADD вимагає двох операндів, як і команда MOV:
ADD о1, о2
Команда ADD складає обоє операнда і записує результат в о1, попереднє значення якого втрачається. Так само працює команда віднімання — SUB:
SUB o1, о2
Наприклад: Що станеться, якщо спочатку занести в AL (8-розрядний регістр) найбільше допустиме значення (255), а потім додати до нього 8?
mov al, 255 ; заносимо в AL значення 255, тобто 0xFF
add al, 8 ; додаємо 8
У результаті в регістрі AL мі набудемо значення 7.
Але адже ми чекали 0x107 (263 в десятковому вигляді). Що сталося? У регістрі AL може поміститися лише 8-розрядне число (максимальне значення — 255). Дев'ятий, «втрачений», біт прихований в регістрі ознак, а саме в прапорі CF — ознака перенесення. Ознака перенесення використовується в арифметичних командах при роботі з великими діапазонами чисел, чим можуть підтримувати регістри. Корисні для цього команди ADC (Add With Carry — складання з перенесенням) і SBB (Subtract With Borrow — віднімання з позикою):
ADC о1, о2 ;о1 = о1 + о2 + CF
SBB о1, о2 ;о1 - о1 -- о2 - CF
Ці команди працюють так само, як ADD і SUB, але відповідно додають або віднімають прапор перенесення CF.
Ці команди призначені для инкрементирования і декрементирования: Команда INC додає, а DEC віднімає одиницю з єдиного операнда. Допустимі типи операнда — такі ж, як в команд ADD і SUB, а формат команд такий:
INC о 1 ; о1 = о1 + 1
DEC о 1 ; о1 = о1 - 1
Операції множення і ділення мають свою специфіку. В результаті множення двох чисел ми можемо отримати число, діапазон якого в два рази перевищуватиме діапазон операндів. Ділення цілих чисел — це операція цілочисельна, тому в результаті утворюються два значення: частное і залишок.
З метою спрощення реалізації команд множення і ділення ці команди спроектовані так, що один з операндів і результат знаходяться у фіксованому регістрі, а другий операнд вказується програмістом. Подібно до команд ADD і SUB, команди MUL, DIV, змінюють регістр ознак.
Приклад№1 Пара DX:AX містить значення 0xFFFF (АХ = 0xFFFF, DX = 0).
Додамо 8 до цієї пари і запишемо результат назад в DX:AX:
mov ах , 0xffff ;АХ = OxFFFF
mov dx , 0 ;добавляем О с переносом к DX
add ах , 8 ;АХ = АХ + 8
adс dx , 0 ;DX = 0
Приклад№2: помножити значення, збережені в регістрах ВН і CL, результат зберегти в регістр АХ:
mov al, bh ; AL = ВН — сначала заноситися в AL второй операн д
mul сl; АХ = AL * CL — умножаємо его на CL
Результат буде збережений в регістрі АХ.
Приклад№3: обчислити діаметр по радіусу, збереженому в 8-бітовій змінній radiusl, результат записати в 16-бітову змінну diameterl :
mov al, 2 ; AL = 2
mul byt e [radiusl ]; AX = radiu s * 2
mov [diameterl], ах; diamete r < - AX
Приклад№4: розділити 13 на 2, частное зберегти в BL, а залишок в — ВН:
mov ах, 1З; АХ - 13
mov сl, 2; CL - 2
div сl ; ділимо на CL
mov bx, ах; очікуваний результа т знаходиться в АХ, копіюємо у ВХ
