По формуле члена ряда найти сумму первых 13 членов - Assembler

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

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

Снова я , помогите с программой ( говоря простым языком , кто не занят ,или кого не затруднит , напишите ее -_-) Команда LOOP. Обработка данных в цикле (без использования ветвлений) По заданной формуле члена ряда с номером k: Ak=5•k+1 найти сумму первых 13 членов.

Решение задачи: «По формуле члена ряда найти сумму первых 13 членов»

textual
Листинг программы
  1. LOCALS
  2.  
  3. .model small
  4.  
  5. .stack 100h
  6.  
  7. .data
  8.         Sum     dw      ?
  9. .code
  10.  
  11. main    proc
  12.         mov     ax,     @data
  13.         mov     ds,     ax
  14.  
  15.         mov     bx,     0       ;сумма
  16.         mov     cx,     13      ;cx=k - номер члена ряда
  17.         mov     di,     5
  18. @@For:
  19.         mov     ax,     cx
  20.         mul     di              ;Ak=ax=5*k+1
  21.         add     ax,     1
  22.  
  23.         add     bx,     ax      ;S:=S+Ak
  24.  
  25.         loop    @@For
  26.  
  27.         mov     Sum,    bx
  28.  
  29.         mov     ax,     4C00h
  30.         int     21h
  31. main    endp
  32.  
  33. end     main

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

  1. Выделяются переменные:
    • Sum - хранит сумму первых 13 членов ряда (16-битное беззнаковое целое)
  2. Инициализируется сегмент данных:
    • ax загружается адрес сегмента данных (@data)
    • ds принимает значение ax для установки сегмента данных
  3. Инициализируются начальные значения переменных:
    • bx устанавливается в 0 для хранения суммы
    • cx устанавливается в 13 для представления номера члена ряда
    • di устанавливается в 5 (по-видимому для использования в вычислениях)
  4. Цикл для вычисления суммы первых 13 членов: 4.1. Вычисляется значение члена ряда: ax = cx * di + 1 4.2. Это значение добавляется к общей сумме: bx = bx + ax 4.3. Происходит уменьшение cx на 1 (используя команду LOOP) и если cx не равно 0, цикл продолжается
  5. Когда цикл завершается, значение суммы сохраняется в переменной Sum
  6. Программа завершается командами:
    • ax устанавливается в 4C00h для завершения программы
    • Происходит вызов 21h прерывания для завершения программы Итак, программа вычисляет сумму первых 13 членов ряда с использованием цикла и сохраняет эту сумму в переменной Sum.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы