Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Ниже приведена программа поиска элемента в массиве ([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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!