Помощь - Поиск - Пользователи - Календарь
Полная версия: Assembler > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
onlyY?!...
Здравствуйте Форумчане.

Задача поставлена такая - Дан массив из 10 байт.Необходимо вычислить сумму абсолютных величин, меньших 6

Сделал блок-схему и вот словестное описание к ней:

Начало
Загружаем адрес смешения сегмента ( например lea bx,mas)
Обнуляем ax (xor ax,ax)
Делаем цикл for (i = 1 до 10 с шагом 1)
Делаем условие (a(i))<0 . Если нет - neg (элемент). Если да - оставляем элемент с тем же знаком
Делаем условие (a(i)<6) . Если нет - возвращаемся к условию и проверяем все элементы. Если да - Суммируем и записываем сумму в ax (ax=ax+a(i))

Помогите пожалуйста перевести этот алгоритм в код. Заранее благодарю.
Inspektor
Примерно так:
Код
    xor dx, dx
    mov ecx, 5
    cikl:
    mov bl, mas[ecx-1]
    mov al, bl
    shr al, 7
    cmp al, 1
    jne m0
    neg bl
    m0:
    cmp bl,6
    jae m1
    add dx,bx
    m1:
    loop cikl

Только у меня такое ощущение, что определить знак числа можно быстрее, но как х/з sad.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.