- •Лабораторний практикум
- •Та організація обчислювальних робіт”
- •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. Завдання
Imul – цілочисельне множення
Командою IMUL виконується знакове множення вмісту акумулятора на операнд. Якщо операнд є байтом, то він множиться на вміст регістру AL і результат (16 біт) записується в регістр (AX). Якщо операнд є словом, він множиться на вміст регістра АХ і результат (32 біт) записується в пару регістрів DX,АХ, причому, старші 16 біт записуються в регістр DX. Операнд може бути записаний в регістр загального призначення або в комірку пам'яті і інтерпретується як число із знаком.
Приклад. Нехай регістр AL містить число ЗОН, регістр CL — число 02Н і виконується команда IMUL CL. Результат множення (60Н = 30Н*2Н) записується в регістр АХ. Оскільки вміст регістру АН є розширенням знакового біта регістра AL, i прапор CF і OF будуть мати 0.
Нехай регістр АХ містить число 0240Н, регістр ВХ — число F202H і виконується команда IMUL BX. Результат (FFE08480H=240H*F202H) записується в регістри DX і АХ. Оскільки новий вміст регістра DX (FFE0H) не співпадає з розширенням знакового біта регістра АХ (8480Н), прапори CF і OF будуть встановлені в 1.
Після виконання команди змінюються значення прапорів: OF; SF; ZF; AF; PF, CF.
DIV-ділення
Командою DIV виконується беззнаковий ділення вмісту регістра-акумулятора на заданий операнд. При однобайтовому діленні вміст регістра АХ розглядається як беззнакове 16-розрядне ділиме. При двобайтовому діленні вміст пари регістрів DX.AX розглядається як беззнакове 32-розрядне ділиме, де регістр DX містить старші 16 розрядів. Операнд може бути заданий в регістрі загального призначення або елементі пам'яті, при цьому операнд розглядається як беззнаковий 8- або 16-бітовий дільник відповідно при однобайтовому і двобайтовому поділі.
При однобайтовому діленні частка записується в регістр AL, а залишок — в регістр АН. При двобайтовому діленні регістри АХ і DX використовуються для зберігання 16-розрядних приватного і залишку відповідно, що розглядаються як беззнакові числа. Після виконання командии DIV значення розрядів регістра прапорів процесора не визначені. Якщо значення частки перевищує розрядність акумулятора (десяткове число 255 при однобайтовому діленні і 65535 при двобайтовому), або робиться спроба ділення на нуль, тоді автоматично генерується переривання типу 0. Якщо відбулося переповнювання, то частка і залишок не визначені. В елементах пам'яті з абсолютними адресами 00000Н і 00003Н міститься подвійне слово, що визначає командний сегмент і переміщувану адресу процедури обробки переривання нульового типу.
Приклад. Нехай регістр АХ містить число 0047Н, регістр CL — число 12Н і виконується команда DIV CL. Частка від ділення (03Н = 47Н/12Н) записується в регістр AL, а залишок 11Н — в регістр АН.
Розглянемо випадок, коли регістри DX і АХ містять відповідно коди 0012Н і F043H, представляючі 32-розрядне шіснадцяткове число 0012F043H, регістр ВР містить число 4320Н і виконується команда DIV ВР. Частка від ділення (0048Н = 12F043H/4320H) записується в регістр AL, а залишок (0F43H) —в регістр DX.
Після виконання команди змінюються значення прапорів: OF; SF; ZF; AF; PF,CF.