Сумма первых 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
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д