Найти количество положительных чисел - Assembler
Формулировка задачи:
Найти количество положительных чисел. Массив байт
Решение задачи: «Найти количество положительных чисел»
textual
Листинг программы
xor ax, ax xor dx, dx mov si, -size arrayLoop: mov al, byte ptr [arr + size + si] cmp ax, 80h adc dx, 0 inc si jnz arrayLoop
Объяснение кода листинга программы
ax- это регистр, используемый в коде, его значение равно 0.dx- это другой регистр, его значение также равно 0.-size- это значение переменнойsize, которое является отрицательным.arr- это адрес массива, с которым работает код.size- это переменная, которая содержит размер массива.si- это счетчик, который используется для итерации по элементам массива.byte ptr [arr + size + si]- это адрес элемента массива, который проверяется на положительность.80h- это значение, с которым сравнивается значение элемента массива, если оно больше или равно этому значению, то элемент считается положительным.adc dx, 0- это операция, которая увеличивает значение регистраdxна 0, если условие предыдущего сравнения истинно.inc si- это операция, которая увеличивает значение счетчикаsiна 1.jnz arrayLoop- это операция, которая выполняет переход к началу циклаarrayLoop, если значение счетчикаsiбольше нуля.