Найти количество положительных чисел (тип данных: слово) - Assembler

Узнай цену своей работы

Формулировка задачи:

Найти количество положительных чисел (тип данных: слово)

Решение задачи: «Найти количество положительных чисел (тип данных: слово)»

textual
Листинг программы
mov bx,0; счетчик отрицательных чисел
    mov si,offset Mass
    mov cx,N; общее количество чисел
a1:  lodsw; mov ax,[si] si:=si+2
    cwd; if ax<0 then dx:=-1 else dx:=0
    add bx,dx; if ax<0 then bx:=bx-1 else bx:=bx
    loop a1; в начало цикла
    add bx,N; общее количество чисел минус количество отрицательных равно количеству положительных

Объяснение кода листинга программы

  1. В начале программы инициализируются две переменные: bx = 0 (счетчик отрицательных чисел) и si = offset Mass (смещение массива).
  2. Затем инициализируется переменная cx = N (общее количество чисел).
  3. Далее начинается цикл, который будет выполняться до тех пор, пока не будет выполнено условие для выхода из цикла.
  4. Внутри цикла происходит следующее: — lods sw (загрузка слова из памяти по смещению si и перевод его в регистр ax). — cwd (перевод регистра ax из формата счисления с фиксированной точкой в формат счисления с плавающей точкой). — если ax < 0, то dx = -1 (отрицательное число), иначе dx = 0 (положительное или ноль). — add bx, dx (увеличение bx на dx). — если ax < 0, то bx = bx - 1 (уменьшение bx на 1), иначе bx = bx (без изменений).
  5. После окончания цикла вычисляется общее количество положительных чисел: add bx, N.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

9   голосов , оценка 4.778 из 5
Похожие ответы