- •Теоретичні відомості
- •1. Структура простої програми мовою асемблера. Формат кодування програми.
- •2. Основні директиви : segment , end, ends, proc, endp, assume.
- •3. Основні вимоги при створенні програми. Приклади простих програм мовою асемблера.
- •4. Трансляція програми. Опції компіляції та загальна характеристика.
- •6. Застосування програми налагодження для пошуку помилок.
- •1. Директиви визначення даних.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи
- •Теоретичні відомості
- •2. Директива повторення dup.
- •3. Сталі.
- •5. Представлення в пам’яті цілих чисел.
- •6. Команда пересилки даних mov.
- •7. Команди двійкового додавання та віднімання.
- •Команда зміни знаку операнда neg
- •8. Обчислення цілих арифметичних виразів.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Теоретичні відомості
- •1. Команда безумовного переходу jmp. Типи адресів переходу short,near та far.
- •2. Команди організації циклів ( loop,loopn,loopnz). Команда loop. Керування циклом за ecx/cx.
- •Керування циклом за ecx/cx із врахуванням ознаки zf
- •3. Команди умовних переходів.
- •5. Команда lea
- •Команда роботи зі стеком push та pop
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Логічні операції та операції зсувів.
- •2. Команди логічних операцій (and, test, or, xor, not).
- •3. Команди зсувів та циклічних зсувів.
- •Команди зсувів (sal, sar, shl,shr)
- •Команда зсуву логічного операнда вправо – shr
- •3.2 Команди циклічних зсувів (rol, ror ,rcl, rcr). Циклічний зсув операнда вліво - rol
- •Циклічний зсув операнда вправо ror
- •Циклічний зсув операнда вліво через ознаку переносу - rcl
- •Циклічний зсув операнда вправо через ознаку переносу – rcr
- •Бітові маски.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи
- •1. Множення цілих чисел
- •2. Ділення цілих чисел
- •3. Перетворення в регістрах
- •Алгоритм введення–виведення цілих чисел
- •Виведення цілих чисел.
- •Введення цілих чисел.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Теоретичні відомості
- •Особливості команд обробки рядків.
- •Ознака df. Команди зміни ознаки ( cld, std ).
- •Префікси повторення( rep, repe, repz, repne, repze ).
- •Команди обробки символьних рядків
6. Команда пересилки даних mov.
Команда MOV пересилає дані з джерела у приймач розміром байт слово або подвійне слова, в залежності від типу операндів та режиму адресації.
Схема команди : MOV приймач , джерело
де операнд джерело може бути регістр, пам’ять або безпосередній операнд, а приймач - може бути регістр або пам’ять.
Алгоритм роботи: копіювання другого операнда в перший операнд.
Стан ознак після виконання команди: виконання команди не впливає на ознаки.
Команда MOV застосовується для пересилання даних, при цьому, незважаючи на всю простоту цієї дії, необхідно пам'ятати про деякі обмеження й особливості виконання даної операції:
напрямок пересилання в команді MOV завжди виконується зліва направо, тобто з другого операнда в перший;
значення другого операнда не змінюється;
обидва операнда не можуть бути одночасно в пам'яті;
тільки один з операндів може бути сегментним регістром;
бажано використовувати в якості одного з операндів акумулятор, тобто один з регістрів AL/AX/EAX, тому що в цьому випадку Асемблер генерує більш швидку форму команди MOV.
7. Команди двійкового додавання та віднімання.
Команди двійкового додавання та віднімання обробляють знакові та беззнакові цілі числа розміром у байт, слово та подвійне слово. Для виконання операцій двійкового додавання та віднімання є такі команди : ADD, ADC, XADD, INC, SUB, SBB та DEC.
Команда додавання двох чисел ADD.
Схема команди : ADD приймач, джерело
Алгоритм роботи: до операнда приймач додається операнд джерело, результат записується в – приймач.
Команда додавання двох чисел ADC.
Схема команди : ADС приймач, джерело
Алгоритм роботи: до операнда приймач додається операнд джерело та значення прапорця CF, результат записується в – приймач.
Команда віднімання двох чисел SUB.
Схема команди : SUB приймач, джерело
Алгоритм роботи: від операнда приймач віднімається операнд джерело, результат записується в – приймач.
Команда додавання двох чисел SBB.
Схема команди : SBB приймач, джерело
Алгоритм роботи: від операнда приймач віднімається операнд джерело та значення прапорця CF, результат записується в – приймач.
Команда обміну та додавання двох чисел XADD ( тільки для процесорів х386 і вище).
Схема команди : XADD приймач, джерело
Алгоритм роботи: операнди приймач та джерело обмінюються значенням, до нового значення операнда приймач додається значення операнда джерело. В якості операнда джерело може бути регістр, а приймач – може бути регістр або змінна в пам’яті.
Команди ADD, ADC, XADD, SUB та SBB змінюють ознаки(в регістрі ознак) CF, PF, AF, ZF, SF та OF.
Команда збільшення значення операнда на одиницю INC.
Схема команди : INC операнд
Алгоритм роботи: до операнда додається одиниця.
Команда зменшення значення операнда на одиницю INC.
Схема команди : DEC операнд
Алгоритм роботи: від операнда віднімається одиниця.
Команди INC та DEC змінюють ознаки(в регістрі ознак) PF, AF, ZF, SF та OF.
