Сумма первых N натуральных чисел - Assembler

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

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

Найти сумму первых N натуральных чисел и сохранить ее.

Решение задачи: «Сумма первых N натуральных чисел»

textual
Листинг программы
LOCALS
 
.model small
 
.stack 100h
 
.data
        Sum     dw      ?
        N       dw      20
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        mov     cx,     N
        xor     ax,     ax
lp:
        add     ax,     cx
        loop    lp
 
        mov     Sum,    ax
 
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main

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

  1. Объявляются локальные переменные и инициализируется размер стека.
  2. Объявляется переменная Sum беззнакового двойного слова и переменная N беззнакового двойного слова со значением 20.
  3. Начало секции кода.
  4. Устанавливается базовый адрес данных в регистр ax, затем он загружается в регистр ds.
  5. Загружается значение переменной N в регистр cx.
  6. Обнуляется регистр ax.
  7. Начало цикла lp.
  8. К регистру ax прибавляется значение регистра cx.
  9. Уменьшается значение регистра cx и, если оно не равно 0, происходит переход к метке lp.
  10. Значение регистра ax сохраняется в переменной Sum.
  11. Загружается значение 4С00h в регистр ax.
  12. Вызывается прерывание 21h, устанавливающее код завершения процесса.
  13. Конец процедуры main.
  14. Конец программы.

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

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