- •Лабораторна робота № 1. «Вивчення програмного пакета tasm32»
- •Короткі теоретичні відомості:
- •Програмна модель:
- •Структура програми
- •Група команд передачі даних
- •Інструкція по роботі з програмним пакетом tasm32
- •Завдання
- •Лабораторна робота № 2 tasm32. «Вивчення групи арифметичних команд»
- •Короткі теоретичні відомості: Частина 1
- •Частина 2
- •Лабораторна робота № 3. «Вивчення групи логічних команд»
- •Короткі теоретичні відомості:
- •Завдання
- •Лабораторна робота №4. «Вивчення груп команд безумовних та умовних переходів та команд управління циклом»
- •Короткі теоретичні відомості:
- •Завдання
- •Лабораторна робота №5. «Вивчення команд роботи з підпрограмами»
- •Короткі теоретичні відомості:
- •Завдання
- •Лабораторна робота №6. «Вивчення груп команд порівняння та логічних зсувів»
- •Короткі теоретичні відомості:
- •Завдання
Лабораторна робота №6. «Вивчення груп команд порівняння та логічних зсувів»
Мета роботи: «Вивчити особливості виконання команд порівняння, зсуву та області їх використання. Розробити алгоритм, скласти та налагодити програми з використанням цих команд.
Короткі теоретичні відомості:
Операнд |
Мнемокод |
Коментар |
CMP |
Оп1, Оп2 |
Порівняння двох операндів. Оп1-Оп2. Встановлюються прапори. Оп1 та Оп2. |
SHL |
Оп, Сч_сдв |
Логічний зсув вліво. Вміст операнда зсувається вліво на кількість бітів, що визначається значенням Сч_сдв. Справа (у позицію молодшого біта) записуються нулі. |
SHR |
Оп, Сч_сдв |
Логічний зсув вправо. Вміст операнда зсувається вправо на кількість бітів, що визначається значенням Сч_сдв. Зліва (у позицію старшого, знакового біта) записуються нулі. |
ROL |
Оп, Сч_сдв |
Циклічний зсув вліво. Вміст операнда зсувається вліво на кількість біт, що визначається операндом Сч_сдв. Зсувані вліво біти записуються у той ж операнд справа. |
ROR |
Оп, Сч_сдв |
Циклічний зсув вправо. Вміст операнда зсувається вправо на кількість біт, що визначається операндом Сч_сдв. Зсувані вправо біти записуються у той ж операнд зліва. |
RCL |
Оп, Сч_сдв |
Циклічний зсув вліво через перенос. Зміст операнда зсувається вліво на кількість біт, що визначається операндом Сч_сдв. Зсувані біти почергово становляться значенням прапору переносу cf. |
RCR |
|
Циклічний зсув вправо через перенос. Зміст операнда зсувається вправо на кількість біт, що визначається операндом Сч_сдв. Зсувані біти почергово становляться значенням прапору переносу cf. |
Команди лінійного зсуву
До команд цього типу відносяться команди, що здійснюють зсув по наступному алгоритму:
черговий «висунутий» біт встановлює прапор cf;
біт, що вводиться в операнд з іншого кінця, має значення 0;
при зсуві чергового біту він переходить у прапор cf, при цьому значення попереднього зрушеного біта губиться!
Команди лінійного зсуву діляться на два підтипи:
команди логічного лінійного зсуву;
к
оманди
арифметичного лінійного зсуву.
0
7 6 5 4 3 2 1 0
Прапор cf
з сув вліво логічний
0
7 6 5 4 3 2 1 0
Прапор cf
До команд циклічного зсуву відносяться команди, що зберігають значення зрушених бітів.
Є два типа команд циклічного зсуву:
команди простого циклічного зсуву;
команди циклічного зсуву через прапор переносу cf.
з сув вліво циклічний rol
7 6 5 4 3 2 1 0
Прапор cf
зсув вліво циклічний rcl
7 6 5 4 3 2 1 0
Прапор cf
зсув вправо циклічний ror
7 6 5 4 3 2 1 0
Прапор cf
Зсув вправо циклічний rcr
7 6 5 4 3 2 1 0
Прапор cf
