Чертков Ю. АП-31б
Лабораторная работа №2
"Работа с массивами на языке ассемблера
для ПЭВМ типа IBM PC/XT/AT"
1. Цель работы
Приобретение и закрепление практических навыков в составлении и
отладке программ на языке ассемблера, обрабатывающих данные, органи-
зованные в виде массивов .
2. Постановка задачи
В данной лабораторной работе необходимо разработать и отладить
программу решения задачи с использованием массивов на языке ассемб-
лера.
3. Индивидуальное задание: Задан массив А из N = 30 элементов (констант типа WORD).Сформировать массив В из индексов элементов массива А ,
удовлетворяющих условию (A[i] - A[i+1])> C, где С = 5 .
4. Выбор переменных :
с – константа равная 5
n – количество элементов в массиве
а – массив из 30 элементов
в – второй массив
5. Текст программы:
.model small
.stack 100h
dseg segment
c dw 5
n dw 30
start db 'Начало работы',10,13,'$'
fnd db 'индекс элемента уд-ет условию',10,13,'$'
stop db 'Конец работы',10,13,'$'
a dw -10, -30, 5, -3, 99, -43, 6, 32, -88, 100
dw -1, 55, 61, -42,-100, 21, 36, 0, -10, 0
dw -100, 11, 98, 43, 75, -1, -3, 0, 45, 87
b db 30 dup(0)
dseg ends
cseg segment
assume cs:cseg,ds:dseg
beg: mov ax,dseg
mov ds,ax
mov ah,9h
lea dx,start
int 21h
xor ax,ax
lea si,b
lea di,a
mov cx,n
dec cx
lp1: mov ax , word ptr [di]
add di , 2
sub ax , word ptr [di]
cmp ax , c
jl tst
mov ah,9h
lea dx,fnd
int 21h
mov ax , n
sub ax , cx
mov [si] , ax
add si , 2
tst: loop lp1
mov ah,9h
lea dx,stop
int 21h
mov ah,4ch
int 21h
cseg ends
end beg
6. Результат работы:
память до выполнения программы:
память после выполнения прграммы:
7. Вывод: Приобрел и закрепил практических навыков в составлении иотладке программ на языке ассемблера, обрабатывающих данные, организованные в виде массивов. В данной лабораторной работе я разработал и отладил программу решения задачи с использованием массивов на языке ассемблера.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.