Тема лабораторної роботи:
Робота з масивами мовою ассемблера для ПЭВМ типу IBM PC/XT/AT
Придбання і закріплення практичних навичок у складанні і налагодженні програм мовою ассемблера, що обробляє дані, організовані у виді масивів.
3. Індивідуальне завдання
мовою ассемблера розробити і налагодити програму рішення наступної задачі :
Варіант 16
Задано масив А з N = 80 елементів (констант типу WORD).
Структура масиву А :
|X1|Y1|X2|Y2|............|
Сформувати масив У з номерів пар елементів, для яких
виконується умова Xi = Yi .
4. Розробка алгоритму рішення задачі
4.1. Вибір перемінних
Таблиця 1
Перемінні програми
________________________________________________________________________
| | |
| ІМ'Я ПЕРЕМІННОЇ | ПРИЗНАЧЕННЯ ПЕРЕМІННОЇ |
|__________________|____________________________________________________|
| | |
| a | початок масиву A |
| b | початок масиву B |
| textb | початок рядка повідомлення про запуск програми |
| texte | початок рядка повідомлення про завершення програми |
| n | кількість у эл-ов масиву |
|__________________|____________________________________________________|
4.2. Схема й опис алгоритму рішення задачі
5. Текст програми
title lab_2
page ,132
stc segment stack
db 128 dup (?)
tos label word
stc ends
dats segment
A dw 1,1,2,3,5,5,7,8
B dw 8 dup (65535)
textb db 'begin lab_2',0ah,0dh,'$'
texte db 'end lab_2',0ah,0dh,'$'
n dw 8
dats ends
cods segment
assume cs:cods,ds:dats,ss:stc
beg: mov ax,stc
mov ss,ax
mov ax,dats
mov ds,ax
mov ah,9h ; Вывод
lea dx,textb ; сообщения
int 21h ; на экран
xor si,si
xor di,di
mov cx,n
shr cx,1
m1:
mov ax,A[di]
mov bx,A[di+2]
cmp ax,bx
jnz m2
shl di,1
shl di,1
mov B[si],di
shr di,1
shr di,1
add si,2
m2: add di,4
loop m1
mov ah,9h ; Вывод
lea dx,texte ; сообщения
int 21h ; на экран
mov ah,4ch ; Возврат
int 21h ; в систему
cods ends
end beg
6. Результати роботи програми.
Стан області даних до виконання програми :
-d ds:0
14D8:0000 01 00 01 00 02 00 03 00-05 00 05 00 07 00 08 00 ................
14D8:0010 FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF ................
14D8:0020 62 65 67 69 6E 20 6C 61-62 5F 32 0A 0D 24 65 6E begin lab_2..$en
14D8:0030 64 20 6C 61 62 5F 32 0A-0D 24 08 00 00 00 00 00 d lab_2..$......
14D8:0040 B8 D0 14 8E D0 B8 D8 14-8E D8 B4 09 8D 16 20 00 .............. .
14D8:0050 CD 21 33 F6 33 FF 8B 0E-3A 00 D1 E9 8B 85 00 00 .!3.3...:.......
14D8:0060 8B 9D 02 00 3B C3 75 0F-D1 E7 D1 E7 89 BC 10 00 ....;.u.........
14D8:0070 D1 EF D1 EF 83 C6 02 83-C7 04 E2 E0 B4 09 8D 16 ................
Стан області даних після виконання програми :
-d ds:0
14D8:0000 01 00 01 00 02 00 03 00-05 00 05 00 07 00 08 00 ................
14D8:0010 00 00 20 00 FF FF FF FF-FF FF FF FF FF FF FF FF .. .............
14D8:0020 62 65 67 69 6E 20 6C 61-62 5F 32 0A 0D 24 65 6E begin lab_2..$en
14D8:0030 64 20 6C 61 62 5F 32 0A-0D 24 08 00 00 00 00 00 d lab_2..$......
14D8:0040 B8 D0 14 8E D0 B8 D8 14-8E D8 B4 09 8D 16 20 00 .............. .
14D8:0050 CD 21 33 F6 33 FF 8B 0E-3A 00 D1 E9 8B 85 00 00 .!3.3...:.......
14D8:0060 8B 9D 02 00 3B C3 75 0F-D1 E7 D1 E7 89 BC 10 00 ....;.u.........
14D8:0070 D1 EF D1 EF 83 C6 02 83-C7 04 E2 E0 B4 09 8D 16 ................
7. Висновки по роботі.
У роботі ознайомилися:
- с визначенням і ініціалізацією даних, організованих у виді
масивів;
- с режимами адресації даних;
- с організацією циклів для роботи з масивами;
- с організацією розгалуження в ассемблерной програмі;
- с застосуванням трасуючих повідомлень для контролю процесу
виконання програми;
- с використанням отладчика для контролю процесу виконання
програми.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.