Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум КТіООР.doc
Скачиваний:
5
Добавлен:
09.11.2019
Размер:
4.21 Mб
Скачать
  1. Визначення поточного режиму роботи відеоадаптеру

На вході: А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