Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h
- start:
- mov cx, 5 ; Задаем количество элементов в массиве
- mov si, array ; Загружаем адрес массива в регистр SI
- loop_start:
- mov ax, [si] ; Загружаем текущий элемент массива в регистр AX
- mov dx, 0 ; Обнуляем регистр DX для проверки деления на 3
- mov bx, 3 ; Загружаем делитель (3) в регистр BX
- div bx ; AX / BX, остаток в DX
- cmp dx, 0 ; Сравниваем остаток деления с нулем
- jne not_multiple_of_3 ; Переходим, если остаток не равен нулю
- ; Если остаток равен нулю, то элемент кратен 3
- ; Выводим его на экран
- mov ah, 02h ; Функция 02h - вывод символа
- add al, 30h ; Преобразуем число в символ
- int 21h ; Вызов прерывания 21h (DOS сервисы)
- not_multiple_of_3:
- add si, 2 ; Увеличиваем смещение для перехода к следующему элементу
- loop loop_start ; Повторяем цикл, пока не обойдем все элементы массива
- mov ah, 4Ch ; Функция 4Ch - завершение программы
- xor al, al ; Код возврата 0
- int 21h ; Вызов прерывания 21h (DOS сервисы)
- n equ 5 ; Задаем количество элементов в массиве
- array dw 9, 12, 7, 18, 21 ; Задаем массив из N чисел
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement