Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2015, 20:10   #1
hidforce
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 15
По умолчанию Нахождение суммы элементов массива (assembler)

Здравствуйте! Подскажите, пожалуйста, как найти сумму элементов массива, которые удовлетворяют условию: с <= a[i] <= d. Я пытался написать функцию, но сумма не считается.
Код:
model large, C
 
.data
    extrn C A:word, aSize:word
    public C asmProcIntArray
 
start:
    arr equ A[bx]
    asmProcIntArray proc far
        sum dw 0
    arg c:word, d:word returns sumResult:word
        mov bx, 0
        mov cx, aSize
        Cycle:
            mov ax, c
            cmp ax, arr
            jl Next
            mov ax, d
            cmp ax, arr
            jg Next
            mov ax, el
            add sum, ax
        Next:
            inc bx
            inc bx
            loop Cycle
            mov ax, sum
            mov sumResult, ax
            ret
    asmProcIntArray endp
end start

Последний раз редактировалось Stilet; 30.05.2015 в 20:23.
hidforce вне форума Ответить с цитированием
Старый 30.05.2015, 20:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
которые удовлетворяют условию: с <= a[i] <= d.
Код:
mov cx, aSize
for:
 mov ax,[arr+cx*2]
 cmp ax,[c]
  jl next
 cmp ax,[d]
  jg next
 add [sum], ax
 next:
loop for
Я угадал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.05.2015, 12:46   #3
hidforce
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 15
По умолчанию

В третьей строке выдает ошибку: "Illegal indexing mode".
hidforce вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определите частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов Aselyabel Visual C++ 1 22.01.2014 17:32
Нахождение суммы четных элементов в n последовательности SERG1990 Общие вопросы C/C++ 1 15.02.2012 16:40
Нахождение положительных элементов в массиве [Assembler] Godod Помощь студентам 0 07.11.2010 19:58
Нахождение в массиве максимальной суммы элементов byte916 Microsoft Office Excel 1 07.10.2009 13:03
Нахождение квадратов первых k элементов массива JaZZ_XVIII Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 10.06.2009 01:21