Найти количество пар "соседних" чисел, оканчивающихся на цифру 5 - Assembler
Формулировка задачи:
Обработка данных в цикле (Организация вычислений во время ввода данных)
помогите с программой (говоря простым языком, кто не занят ,или кого не затруднит , напишите ее -_-)
Даны натуральное число n и целые числа a1, a2, ..., . an. Найти количество пар "соседних" чисел, оканчивающихся на цифру 5.
Заранее огромное спасибо тем кто поможет, очень благодарен.
Решение задачи: «Найти количество пар "соседних" чисел, оканчивающихся на цифру 5»
textual
Листинг программы
- LOCALS
- .model small
- .stack 100h
- .data
- A db 3, 2, 9, 0, 8, 45, 5, 15, 9, 5
- N dw $-A
- .code
- main proc
- mov ax, @data
- mov ds, ax
- ;Найти количество пар "соседних" чисел,
- ;оканчивающихся на цифру 5.
- lea si, A
- mov cx, N
- dec cx
- mov di, 0 ;количество пар
- @@For:
- mov al, [si]
- cbw
- add si, 1
- mov bl, 10
- idiv bl
- cmp ah, 5
- jne @@Next
- mov al, [si+1]
- cbw
- add si, 1
- mov bl, 10
- idiv bl
- cmp ah, 5
- jne @@Next
- inc di
- @@Next:
- loop @@For
- mov ax, di
- aam
- add ax, '00'
- mov dl, ah
- mov dh, al
- mov ah, 02
- int 21h
- mov dl, dh
- int 21h
- mov ax, 4C00h
- int 21h
- main endp
- end main
Объяснение кода листинга программы
- A - массив чисел, содержащий
3, 2, 9, 0, 8, 45, 5, 15, 9, 5
- N - длина массива A, вычисляемая как разница между текущим адресом и началом массива
- ax - регистр для управления сегментами данных
- ds - регистр сегмента данных
- si - счетчик для обхода массива A
- cx - счетчик для итераций по массиву
- di - переменная для хранения количества пар чисел, оканчивающихся на цифру 5
- al - регистр для хранения очередного элемента массива
- bl - переменная для хранения числа 10 (для деления на 10)
- ah - регистр для хранения остатка от деления
- LOOP - инструкция для реализации цикла
- aam - инструкция для разделения числа на две части
- ax - регистр для хранения результата операций
- dl - регистр для вывода результата (одна часть числа)
- dh - регистр для вывода результата (вторая часть числа)
Этот код реализует поиск количества пар
соседних
чисел в массиве, оканчивающихся на цифру 5. После этого количество пар выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д