Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программа поиска элемента в массиве



Ниже приведена программа поиска элемента в массиве ([2], стр.270, листинг 12.4). Ее листинг находится в классе на сервере в …\arcadia\assembler\program\lesson12\prg12_4.asm. Программа должна находить в массиве array заданный элемент (3) и выводить на экран информацию: есть он или нет, а если есть, то сколько раз встречается в массиве.

;====== Программа 16. Файл z5_pr16.asm ====================

MASM

MODEL small

STACK 256

Data

;матрица размером 2х5 - если ее не инициализировать, то для

;наглядности она может быть описана так:

;array dw 2 DUP (5 DUP (?))

;но мы ее инициализируем:

Array dw 1,2,3,4,5,6,7,3,9,0

;логически это будет выглядеть так:

;array= {1 2}

; {3 4}

; {5 6}

; {7 3}

; {9 0}

Elem dw 3;элемент для поиска

failed db 0ah,0dh,'Нет такого элемента в массиве!','$'

success db 0ah,0dh,'Такой элемент в массиве присутствует','$'

foundtime db?;количество найденных элементов

fnd db 'раз(а)',0ah,0dh,'$'

Code

main:

mov ax,@data

Mov ds,ax

Xor ax,ax

mov si,0;si=столбцы в матрице

mov bx,0;bx=строки в матрице

Mov cx,5;число для внешнего цикла(по строкам)

external:;внешний цикл по строкам

mov ax,array[bx][si];в ах первый элемент матрицы

Push cx;сохранение в стеке счетчика внешнего цикла

Mov cx,2;число для внутреннего цикла (по столбцам)

Mov si,0

iternal:;внутренний цикл по строкам

Inc si;передвижение на следующий элемент в строке

;сравниваем содержимое текущего элемента в ах с искомым;элементом:





Дата публикования: 2014-12-10; Прочитано: 356 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...