Сумма первых 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
Объяснение кода листинга программы
- Объявляются локальные переменные и инициализируется размер стека.
- Объявляется переменная
Sumбеззнакового двойного слова и переменнаяNбеззнакового двойного слова со значением 20. - Начало секции кода.
- Устанавливается базовый адрес данных в регистр
ax, затем он загружается в регистрds. - Загружается значение переменной
Nв регистрcx. - Обнуляется регистр
ax. - Начало цикла
lp. - К регистру
axприбавляется значение регистраcx. - Уменьшается значение регистра
cxи, если оно не равно 0, происходит переход к меткеlp. - Значение регистра
axсохраняется в переменнойSum. - Загружается значение 4С00h в регистр
ax. - Вызывается прерывание 21h, устанавливающее код завершения процесса.
- Конец процедуры
main. - Конец программы.