You are on page 1of 3

Лабораторна робота 2

студента групи

ПРОГРАМУВАННЯ ОПЕРАЦІЙ ПЕРЕСИЛАННЯ


ЦІЛИХ ЧИСЕЛ

Мета заняття: набуття практичних навичок складання,


налагодження і виконання програм на мові асемблера
для програмування дій із пересилання цілих чисел.
Постановка завдання: Розробити на асемблері програму
пересилання заданої кількості випадкових чисел
(лічильник пересилань - автоматичний) із масиву X1 в
масив Y1, якщо розрядність «пакету» передаваємих
чисел дорівнює 4 байт (32 біт), попередньо виконавши
перетворення чисел масиву X1 згідно завдання.

Виконання:

TITLE <Лаб22.Пересилка даних - байти>


.686
.model flat, stdcall ; задання лінійної моделі пам'яті
option casemap: none
.data ; директива визначення даних
X1 dd 72, 13, 44, 60 ; значення чисел
LEN EQU $ -X1 ; визначення довжини
Y1 dd [LEN/4] DUP(255) ; занесення одиниць до
масиву Y1
.code ; директива визначення програми
_lab22: ; початок програми
mov cx, [LEN/4]; загрузка кількості чисел в регистр-
лічильник
mov esi,0
mov edi,0
m1:
mov eax, [X1+si] ; завантаження в акумулятор числа
масиву
add eax,3 ; додавання, згідно завдання
mov [Y1+di], eax ; занесення числа до пам'ятті
add si,4 ; корегування адреси щодо масиву X1
add di,4 ; корегування адреси щодо масиву Y1
sub cx,1 ; корегування лічильника
cmp cx,0; перевірка лічильника
je ut ; виконуеться у випадку сх=0
jmp m1 ; виконуеться у випадку сх>0
ut:
ret
end _lab22
Знімки:

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

You might also like