- •Теоретичні відомості
- •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 ).
- •Команди обробки символьних рядків
Команди зсувів (sal, sar, shl,shr)
Команда зсуву арифметичного операнда вліво – SAL
Схема команди: SAL операнд , кількість зсувів
Призначення: арифметичне зсув операнда вліво.
Алгоритм роботи:
зсув всіх бітів операнда вліво на один розряд, при цьому висунутий ліворуч біт стає значенням ознаки перенесення CF;
одночасно праворуч в операнд засовується нульовий біт;
зазначені вище дві дії повторюються задану кількість раз, яка значена у другому операнді.
Команда зсуву арифметичного операнда вправо SAR
Схема команди: SAR операнд , кількість зсувів
Алгоритм роботи:
зсув всіх бітів операнда вправо на один розряд, при цьому висунутий праворуч біт стає значенням ознаки переносу CF;
одночасно ліворуч в операнд засовується не нульовий біт, а значення старшого біта операнда, тобто в міру зсув вправо місце, що вивільняється заповнюються значенням знакового розряду;
зазначені вище дві дії повторюються задану кількість раз, яка значена у другому операнді.
Команда зсуву логічного операнда вліво – SHL
Схема команди: SHL операнд , кількість зсувів
Призначення: логічний зсув операнда вліво.
Алгоритм роботи:
зсув всіх бітів операнда вліво на один розряд, при цьому висунутий ліворуч біт стає значенням прапора переносу CF;
одночасно ліворуч в операнд засовується нульовий біт;
зазначені вище дві дії повторюються задану кількість раз, яка значена у другому операнді.
Стан ознак після виконання команд SAL, SAR та SHL : CF – значення залежить від результату роботи команди, OF – зміст ознаки має зміст при зсуві на один біт, в цьому випадку залежить від результату роботи команди.
Команда зсуву логічного операнда вправо – shr
Схема команди: SHR операнд , кількість зсувів
Призначення: логічне зсув операнда вправо.
Алгоритм роботи:
зсув всіх бітів операнда вправо на один розряд; при цьому висунутий праворуч біт стає значенням ознаки переносу CF;
одночасно ліворуч в операнд засовується нульовий біт;
зазначені вище дві дії повторюються задану кількість раз, яка значена у другому операнді.
Стан ознак після виконання команди: SF, CF, ZF, PF – значення залежить від результату роботи команди, OF – зміст ознаки має зміст при зсуві на один біт, в цьому випадку залежить від результату роботи команди, AF - невизначена.
Для процесорів ІА-32 введено команди логічний зсувів у вліво – SHLD та вправо – SHRD операнда в подвійне слово.
3.2 Команди циклічних зсувів (rol, ror ,rcl, rcr). Циклічний зсув операнда вліво - rol
Схема команди: ROL операнд , кількість зсувів
Призначення: операція циклічного зсув операнда вліво.
Алгоритм роботи:
зсув всіх бітів операнда вліво на один розряд, при цьому старший біт операнда засовується в операнд праворуч і стає значенням молодшого біта операнда;
одночасно висунутий біт стає значенням ознаки переносу CF;
зазначені вище дві дії повторюються задану кількість раз, яка значена у другому операнді.
Циклічний зсув операнда вправо ror
Схема команди: ROR операнд , кількість зсувів
Призначення: операція циклічного зсув операнда вправо.
Алгоритм роботи:
зсув всіх бітів операнда вправо на один розряд, при цьому молодший біт операнда засовується в операнд ліворуч і стає значенням старшого біта операнда;
одночасно цей молодший біт операнда стає значенням ознаки переносу CF;
зазначені вище дві дії повторюються задану кількість раз, яка значена у другому операнді.