Advertisement
dxvmxnd

Untitled

Apr 28th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. org 100h
  2.  
  3. start:
  4. mov cx, 5 ; Задаем количество элементов в массиве
  5. mov si, array ; Загружаем адрес массива в регистр SI
  6.  
  7. loop_start:
  8. mov ax, [si] ; Загружаем текущий элемент массива в регистр AX
  9. mov dx, 0 ; Обнуляем регистр DX для проверки деления на 3
  10. mov bx, 3 ; Загружаем делитель (3) в регистр BX
  11. div bx ; AX / BX, остаток в DX
  12.  
  13. cmp dx, 0 ; Сравниваем остаток деления с нулем
  14. jne not_multiple_of_3 ; Переходим, если остаток не равен нулю
  15.  
  16. ; Если остаток равен нулю, то элемент кратен 3
  17. ; Выводим его на экран
  18. mov ah, 02h ; Функция 02h - вывод символа
  19. add al, 30h ; Преобразуем число в символ
  20. int 21h ; Вызов прерывания 21h (DOS сервисы)
  21.  
  22.  
  23.  
  24.  
  25. not_multiple_of_3:
  26. add si, 2 ; Увеличиваем смещение для перехода к следующему элементу
  27. loop loop_start ; Повторяем цикл, пока не обойдем все элементы массива
  28.  
  29. mov ah, 4Ch ; Функция 4Ch - завершение программы
  30. xor al, al ; Код возврата 0
  31. int 21h ; Вызов прерывания 21h (DOS сервисы)
  32.  
  33. n equ 5 ; Задаем количество элементов в массиве
  34.  
  35. array dw 9, 12, 7, 18, 21 ; Задаем массив из N чисел
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement