Головна

Програма пошуку елемента в масиві

  1. A) ОЖ, программали? ?аби?шалар, утіліттер, сервістік программалар
  2. A) Прикладним програмами
  3. Air Alert III - програма для розвитку стрибка
  4. I. Загальні відомості про системах і ЕЛЕМЕНТАХ АВТОМАТИКИ
  5. I. РОБОЧА ПРОГРАМА ДИСЦИПЛІНИ
  6. I. РОБОЧА ПРОГРАМА ДИСЦИПЛІНИ
  7. II. Виконання вправ на оволодіння елементами техніки організації гри

Нижче наведена програма пошуку елемента в масиві ([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; пересування на наступний елемент у рядку

; Порівнюємо вміст поточного елемента в ах з шуканим; елементом:



Режими адресації. Дані. Робота з масивами | макроси

заняття 1 | Організація роботи з асемблером | Програма типу EXE на макроассемблере | Програма типу com на макроассемблере | Спрощені директиви сегментації | самостійні розробки | умовні переходи | Переходи з допомогою команди CALL | Mess1 db 0Ah, 0Dh | Sub AX, AX. |

© um.co.ua - учбові матеріали та реферати