Работа с массивами на языке ассемблера для ПЭВМ типа IBM PC/XT/AT

Страницы работы

Содержание работы

Чертков Ю. АП-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. Вывод:   Приобрел и закрепил практических навыков в составлении иотладке программ на языке ассемблера, обрабатывающих данные, организованные в виде массивов. В данной лабораторной работе я разработал и отладил программу решения задачи с использованием массивов на языке ассемблера.

Похожие материалы

Информация о работе