
- •Лабораторний практикум
- •Та організація обчислювальних робіт”
- •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. Завдання
Визначення поточного режиму роботи відеоадаптеру
На вході: АH = 0Fh
На виході: АH = число символів у рядку;
АL = номер поточного режиму;
ВH = номер активної сторінки відеорежиму.
Приклад програми виводу на екран 3-х рядків
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
String1 DB 'Line1','$'
String2 DB 'Line2','$'
String3 DB 'Line3','$'
.CODE
ProgramStart:
mov ax,@DATA
mov ds,ax
mov ah,
mov dx,OFFSET String1
int 21h
mov dx,OFFSET String2
int 21h
mov dx,OFFSET String3
int 21h
mov ah,
int 21h
END ProgramStart
Приклад програми вводу з клавіатури 10 символів та збереження їх у пам’яті
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
KeyBuffer:
db 10dup(?)
.CODE
Start: mov ax,@DATA
mov dx,ax
mov cx,10
mov bx,OFFSET KeyBuffer
GetKeyLoop:
mov ah,1
int 21h
mov [bx],al
inc bx
loop GetKeyLoop
mov ah,4ch
int 21h
END Start
Приклад програми вводу з клавіатури 128 символів або до натиснення ENTER та збереження їх у пам’яті
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
KeyBuffer:
db 128dup(?)
.CODE
Start: mov ax,@DATA
mov dx,ax
mov cx,128
mov bx,OFFSET KeyBuffer
KeyLoop:
mov ah,1
int 21h
mov [bx],al
inc bx
cmp al,0dh
loopne KeyLoop
mov ah,4ch
int 21h
END Start
Приклад програми вводу з клавіатури символа та вивід його на екран
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
.CODE
Start: mov ax,@DATA
mov dx,ax
EhcoLoop:
mov ah,1
int 21h
cmp al,13
jz EchoDone
mov dl,al
mov ah,2
int 21h
jnz EchoLoop
EchoDone:
mov ah,4ch
int 21h
END Start
Приклад програми вводу з клавіатури 3-х символів, зменшення їх кодів на 1 та вивід їх на екран
DOSSEG
.MODEL SMALL
.STACK 200h
.DATA
DisplayString DB 13,10
ThreeChars DB 3 DUP (?)
DB '$'
.CODE
Begin:
mov ax,@DATA
mov ds,ax
mov bx,OFFSET ThreeChars
mov ah,
int 21h
dec al
mov [bx],al
inc bx
inc 21h
dec al
mov [bx],al
inc bx
int 21h
dec al
mov [bx],al
mov dx,OFFSET DisplayString
mov ah,9
int 21h
mov ah,4ch
int 21h
END Begin
Приклад програми 10-байтного масиву TempArray числами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9:
DOSSEG
.MODEL SMALL
.STACK 200h
.DATA
TempArray DB 10 DUP (?)
FillCount DW ?
.CODE
Start mov al,0
mov bx,OFFSET TempArray
mov [FillCount],10
FillTempArrayLoop:
mov [bx],al
inc bx
inc al
dec [FillCount]
jnz FillTempArray
mov ah,4ch
int 21h
END FiveFactorial
Приклад програми обчислення факторіалу 5
DOSSEG
.MODEL SMALL
.STACK 200h
.DATA
FactorialValue DW ?
Factorial DW ?
.CODE
FiveFactorial: mov ax,@DATA
mov ds,ax
mov [FactorialValue],1
mov [Factorial],2
mov cx,4
FiveFactorialLoop:
mov ax,[FactorialValue]
mul [Factorial]
mov [FactorialValue],ax
inc [Factorial]
loop FiveFactorialLoop
mov ah,4ch
int 21h
END FiveFactorial