русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Tasm.exe, tlink.exe, rtm.exe. dpmiload.exe, dpmimem.dll.


Дата добавления: 2014-11-27; просмотров: 1102; Нарушение авторских прав


Отладку программы проводите с помощью отладчика td.exe.

 

Пример 1. Определить, сколько раз заданный элемент elem встречается в двумерном массиве A(2, 5). Значения элементов массива задать в теле программы. Значение искомого элемента ввести с клавиатуры. Результат поиска вывести на экран монитора.

;Программа вводит элементы массива с клавиатуры и ;выводит на экран

;---

;---

model small

.data

;матрица размером 2x5 - если ее

;не инициализировать.

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

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

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

array dw 1, 2, 3, 3, 5, 6, 7, 3, 9, 8

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

;аггау = (1, 2)

; (3, 3)

; (5, 6)

; (7, 3)

; (9, 8)

size_elem = 2 ;размер элемента

;(константа)

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

el db 0ah,0dh,'Введите элеменот для поиска ->', '$'

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

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

присутствует ', '$'

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

;элементов

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

.stack 256h

.code

main proc

mov ax, @data

mov ds, ax

mov ah, 9h

lea dx, el

int 21h ;вывести предложение ввести ;элемент

mov ah, 01h ;функция ввода в al

;с клавиатуры

int 21h

sub al, 30h ;преобразование в символ

cbw ;преобразование в слово

mov elem, ax

xor ax, ax

mov si, 0 ;столбцы

mov bx, 0 ;строки

mov cx, 5 ;для цикла по строкам

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

push cx

mov cx, 2 ;для цикла по столбцам

mov si,0

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

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

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

;сравниваем содержимое

;текущего элемента в ах

;с искомым элементом

cmp ax, elem

;если текущий совпал с искомым, то переход на него ;для обработки,



;иначе - цикл продолжения поиска

jne $+6

inc foundtime ;увеличиваем счетчик

;совпавших

loop iternal

move_next: ;продвижение в матрице

pop cx ;восстанавливаем СХ из

;стека (5)

add bx, size_elem*2 ;передвигаемся на следующую ;строку

loop external ;цикл (внешний)

cmp foundtime, 0 ;сравнение числа совпавших ja eql ;если больше 0, то переход

not_equal: ;нет элементов

mov ah, 09h ;вывод сообщения на экран

mov dx, offset failed

int 21h

jmp exit

eql: ;есть совпавшие элементы

mov ah, 09h ;вывод сообщений на экран

mov dx,offset success

int 21h

mov ah, 02h

mov dl, foundtime

add dl, 30h

int 21h

mov ah, 09h

mov dx, offset fnd

int 21h

exit: ;выход

mov ax,4c00h ;стандартное завершение

;программы

int 21h

main endp

end main ;конец программы



<== предыдущая лекция | следующая лекция ==>
Задания для самостоятельного выполнения. | Задания для самостоятельного выполнения.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.612 сек.