You are on page 1of 3

Горбань Ю. В., ст. гр.

КІ-18
Лабораторна робота №3
Тема: «Команди умовного та безумовного переходу. Цикли»
Мета роботи: навчитися використовуючи команди умовного та безумовного
переходу, а також навчитися будувати циклічні структури.

Завдання №1
Знайти максимальне із трьох чисел

Текст програми:
use16
org 100h

mov ax, 5
mov bx, 10
mov cx, -16

cmp ax, bx
jg lb1
mov [max], bx
jmp lb2

lb1:
mov [max], ax
jmp lb2

lb2:
cmp [max], cx
jg lb3
mov [max], cx
jmp exit

lb3:
jmp exit

exit:
mov ax, 4C00h
int 21h

;------------------------
max dw ?
Горбань Ю. В., ст. гр. КІ-18

Рисунок 3.1 – Результат роботи програми

Завдання №2
Закодувати елементи масиву, наприклад, методом XOR

Текст програми:
use16
org 100h

; read the string


mov ah, 0Ah
mov dx, buf
int 21h

movzx cx, [buf+1] ; get the string length


mov si, 2 ; the actual string starts from the third byte
mov bx, cx
mov di, 2 ; the encStr address more than buf address by one,
so ;to write the encrypted string right after the entered
string, we ;add to its address the string's length and the 2-
byte offset ;because of service bytes

encrypt:
mov ah, [buf+si]
xor ah, [key]
mov [encStr+bx+di], ah
inc si
inc di

loop encrypt

mov ax, 4C00h


int 21h
Горбань Ю. В., ст. гр. КІ-18

;------------------
mes db 'Encrypted string:$'
newline db 13,10,'$'
key db 01010101b ; key
buf db 0FFh ; buffer for input string
encStr db ? ; encrypted string

Рисунок 3.2 – Вхідний рядок

Рисунок 3.3 – Закодований рядок

Висновок: в ході лабораторної роботи було отримано навички використання


команд умовного та безумовного переходу, побудови циклічних структур,
виконано завдання лабораторної роботи, результати роботи програм
наведено на скриншотах.

You might also like