- •Лабораторний практикум
- •Та організація обчислювальних робіт”
- •1.Основи комп’ютерної техніки
- •1.1.1. Основні теоретичні відомості
- •1.1.2. Варіанти завдань
- •1.2.1 Основні теоретичні відомості
- •1.2.2 Варіанти завдань
- •1.3.1 Основні теоретичні відомості
- •1.3.2 Варіанти завдань
- •1.4.1 Основні теоретичні відомості
- •1.4.2 Варіанти завдань
- •2.Мова assembler
- •2.5.1 Основні теоретичні відомості
- •Movs-пересилка рядка
- •2.5.2. Варіанти завдань
- •2.6.1 Основні теоретичні відомості
- •Imul – цілочисельне множення
- •IDlV-цілочисельне ділення
- •2.6.2. Варіанти завдань
- •2.7.1 Основні теоретичні відомості
- •Ja/jnbe – перехід, якщо більше/перехід, якщо не менше або рівно
- •Jae/jnb/jnc – перехід, якщо більше чи рівно/перехід, якщо не менше/перехід, якщо нема переносу
- •Jb/jnae/jc – перехід, якщо менше/перехід, якщо не більше або рівно/перехід,тобто, перенесення
- •Jbe/jna-перехід, якщо менше або рівно/перехід, якщо не більше
- •Jcxz-перехід, якщо вміст регістра сх рівний нулю
- •Je/jz-перехід, якщо рівно/перехід по нулю
- •Jg/jnle-переход, якщо більше ніж/переход, якщо не менше ніж або рівно
- •Jge/jnl-nepexід, якщо більше або рівно/перехід, якщо не менше ніж
- •Jl/jnge-перехід, якщо меньше/перехід, якщо не більше або рівно
- •Jle/jng-перехід, якщо менше або рівно/перехід, якщо більше
- •Jne/jnz-переход по нерівності /переход, якщо не нуль
- •Jnp/jpo-переход за відсутності парності
- •Jp/jpe-перехід по парності
- •2.7.2. Варіанти завдань
- •2.8.1. Основні теоретичні відомості
- •Основні засоби bios для роботи з відеоадаптером
- •Зовнішні регістри контролера vga (03c2h – 03cFh):
- •Регістри контролера атрибутів (03c0h – 03c1h):
- •Регістри графічного контролера (03cЕh – 03cFh):
- •Регістри контролера crt (03d4h – 03d4h):
- •Регістри синхронізатора (03с4h – 03c5h):
- •Регістри vga dac (03c6h – 03c9h):
- •Вибір режиму роботи відеоадаптера
- •Зміна форми курсора
- •Зміна положення курсору
- •Визначення положення і форми курсору
- •Зміна активної сторінки відеопам'яті
- •Згортка текстового вікна вверх
- •Згортка текстового вікна вниз
- •Читання символу і його атрибутів
- •Запис символу з атрибутами в поточній позиції курсору
- •Запис символу в поточній позиції курсору
- •Запис символу в режимі телетайпу
- •Визначення поточного режиму роботи відеоадаптеру
- •2.8.2. Варіанти завдань
- •3.Розрахунки в mathcad
- •Інтерфейс користувача
- •Основне меню
- •Панелі інструментів
- •Довідникова інформація
- •3.9.1. Основні теоретичні відомості
- •3.9.2. Варіанти завдань
- •3.10.1. Основні теоретичні відомості
- •3.10.2. Варіанти завдань
- •3.11.1. Основні теоретичні відомості
- •3.11.2. Варіанти завдань
- •3.12.1. Основні теоретичні відомості
- •3.12.2. Варіанти завдань
- •4.Табличний процеcор excel
- •4.13.1. Основні теоретичні відомості
- •4.13.2. Варіанти завдань
- •4.14.1. Основні теоретичні відомості
- •4.14.2. Варіанти завдань
- •4.15.1. Основні теоретичні відомості
- •4.15.2. Варіанти завдань
- •4.16.1. Основні теоретичні відомості
- •4.16.2. Завдання
2.5.1 Основні теоретичні відомості
МОV-пересилання
(1-й Операнд) (2-й Операнд)
Другий операнд при виконанні команди MOV займає місце зберігання першого операнда. При цьому перший операнд втрачається.
Перший операнд може бути заданий в регістрі загального призначення, регістрі сегменту (окрім регістра CS) або комірці пам'яті. Другий операнд, крім того, може бути ще і безпосереднім операндом. Команда MOV працює як з однобайтовими, так і з двобайтовими словами.
Приклад. Нехай регістр СХ містить слово 04С5Н, а регістр ВР – слово 2312Н. Після виконання команди MOV CX,BP вмістом регістра СХ буде слово 2312Н, а вміст регістра ВР не зміниться.
Приклади запису на мові асемблера
MOV [BX], DL
MOV DL, CH
MOV [SI+12H], AX
MOV CX, SP
MOV BL,TEST_BYTE
MOV SI, [DI]
MOV DS, AX
MOV ES, NEV
MOV AX, CS
MOV OLDSEG, DS
MOV AL, TESTB
Movs-пересилка рядка
(Операнд за адресою в регістрі DI) (Операнд за адресою в регістрі SI)
Якщо (DF) = 0, то (SI) (SI) + 1 (байт)
(DI) (DI) + 1 (байт)
або
(S1) (SI) + 2 (слово)
(DI) (DI) + 2 (слово)
Якщо (DF) = 1, то (SI) (SI) – 1 (байт)
(DI) (DI) – 1 (байт) ;або
(SI) (SI) – 2 (слово)
(DI) (DI) – 2 (слово)
Залежно від оброблюваних даних (однобайтових або двобайтових) при виконанні команди MOVS вміст комірок пам'яті, що адресуються регістром SI (щодо сегменту даних), передається в область пам'яті, що адресується регістром DI (щодо додаткового сегменту). Вміст області пам'яті, що адресується регістром SI, не змінюється. В мові асемблера команда MOVS записується як MOVSB для операцій з байтами і MOVSW – для операцій із словами. При скиненому в 0 прапорці DF вміст регістрів SI і DI збільшується на 1 або 2 при виконанні команд MOVSB і MOVSW відповідно, а при одиничному прапорці DF вміст цих регістрів зменшується автоматично на ту ж саму величину. Команда MOVS не має операндів і не впливає на прапори.
Приклад. Нехай регістр SI містить число 7F00H, за адресою пам'яті 7F00H записано число 0D0AH, регістр DI містить число В800Н, двобайтова комірка пам'яті з адресою В800Н – число 2020Н і виконується наступна послідовність команд:
CLD – скинути прапор напряму DF в 0,
MOVSW
Після виконання команди MOVSW в регістрах SI і DI буде записане 7F02H і В802Н відповідно. Двобайтовиа комірка пам'яті з адресою В800Н міститиме нове значення 0D0AH.
Нехай тепер SI містить число 2400Н, комірка пам'яті з адресою 2400Н – число 41Н, регістр DI – число В800Н, комірка пам'яті з адресою В800Н – число 00Н і виконується наступна послідовність команд:
STD - встановити прапор DF в 1.
MOVSB
Після виконання команди MOVSB в регістрах SI і DI знаходитимуться 23FFH і B7FFH відповідно, а в комірці пам'яті з адресою В800Н буде записано нове значення 41Н.
2.5.2. Варіанти завдань
1. MOV BX, 1010 MOV AH, BL
MOV CL, 7Fh MOV AX, CX
MOV SI, 1234 MOV BP, 010Fh
2. MOV DI, 1AFFh MOV BH, 15
MOV AL, BH MOV BX, 1A11h
MOV DX, CX MOV BP, 1DFAh
3. MOV CX, 1FFFh MOV DL, 1Dh
MOV BP, 1111 MOV BL, AL
MOV AX, 1AAAh MOV BX, CX
4. MOV DI, 11FFh MOV BH, 15
MOV AL, 1Ch MOV BX, 1A11h
MOV BX, CX MOV AH, BL
5. MOV CX, AX MOV DL, BL
MOV BP, 1111 MOV BX, 10
MOV SI, 1234 MOV BP, 010Fh
6. MOV DX, AX MOV DL, 1Dh
MOV AL, BL MOV BX, 1A11h
MOV BX, 1010 MOV AH, 12
7. MOV BX, 1010 MOV AH, 12
MOV CL, AH MOV AX, BX
MOV SI, 1234 MOV BP, 010Fh
8. MOV DI, 1AFFh MOV BH, AL
MOV AL, 1C MOV BX, 1A11h
MOV DX, CX MOV BP, 1DFAh
9. MOV CX, 1FFFh MOV DL, 1Dh
MOV BP, 1111 MOV BL, AH
MOV AX, BX MOV BX, 1Ah
10. MOV CX, AX MOV DL, 1Dh
MOV BP, 1111 MOV BL, DL
MOV SI, 1234 MOV BP, 010Fh
11. MOV DX, 1ACDh MOV DL, AH
MOV AL, 1Ch MOV BX, 1A11h
MOV BX, AX MOV AH, 12
12. MOV BX, 1010 MOV AH, 12
MOV CL, AH MOV AX, 0Ah
MOV SI, 1234 MOV BP, 010Fh
13. MOV BX, 1010 MOV AH, 12
MOV CL, DL MOV AX, DX
MOV SI, 1234 MOV BP, 010Fh
14. MOV DI, 1AFFh MOV BH, 15
MOV AL, BL MOV BX, AX
MOV DX, 1Fh MOV BP, 1DFAh
15. MOV BX, CX MOV AH, BL
MOV CX, AX MOV DL, BL
MOV BP, 1111 MOV BX, 10
16. MOV DX, CX MOV BP, 1DFAh
MOV CX, 1FFFh MOV DL, 1Dh
MOV BP, 1111 MOV BL, AL
Лабораторна робота №6
Тема роботи: Арифметичні та логічні операції.
Мета роботи: Навчитися застосовувати команди арифметичних та логічних операцій.