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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2022, 20:40   #1
N320X
Новичок
Джуниор
 
Регистрация: 24.10.2022
Сообщений: 6
По умолчанию Assembler массивы

В массиве А (20) вычислить сумму элементов с нечетными номерами,
удовлетворяющих условию / аi / >5.

Помогите пожалуйста
N320X вне форума Ответить с цитированием
Старый 13.11.2022, 23:46   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
; FASM v. 1.73.30, WinXP (5.0)
format PE GUI 5.0 at 0x00010000

section '.data' data readable writeable
; Сумма (тут будет располагаться результат)
S dq 0.0
; Массив
A dd 1.1, -2.5, -9.3, 5.01, 3.7, 4.0;, ... продолжите дальше сами
A.count = ( $ - A ) shr 2

section '.text' code readable executable
entry $
    mov esi, A
    fild word [const5]
    mov ecx, A.count
    fldz ; st0 = сумма (инициализация в 0)
    shr ecx, 1
    jz empty

cycl:
    lods dword [esi] ; массив начинает нумерацию с 0, поэтому пропускаем первый элемент (он имеет четный номер)
    fld dword [esi] ; а нечетные элементы обрабатываем
    fld st0
    fabs ; Вычисление | ai |
    fcomip st0, st3 ; Проверка | ai | < 5.0
    jnb @f
    fadd st1, st0 ; if (| ai | < 5.0) st1 += ai

@@:
    fstp st0 ; Выталкиваем ai
    lods dword [esi] ; Пропускаем обработанный нечетный элемент
    loop cycl

empty:
    fstp [S] ; Получение суммы
    fstp st0 ; Очистка
    retn ; Так лучше не делать, но если очень хочется, тогда чуть-чуть можно

align 2
  const5 dw 5
macomics вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
assembler массивы matrinishna Помощь студентам 0 31.03.2011 22:10
assembler массивы tanek Помощь студентам 1 25.05.2010 06:53
assembler массивы FANROK Помощь студентам 0 17.05.2010 21:51
Assembler/Массивы verybadprogrammer Помощь студентам 8 30.03.2010 00:21
[Assembler] Массивы структур Opiym Помощь студентам 4 26.02.2010 18:52