Найти сумму квадратов первых n натуральных чисел на ассемблере Надо написать программу на ассемблере. ОС - Windows,процессор интел 086, написать надо в компиляторе Fasm, с расширением .asm

5 Июл 2019 в 09:20
194 +1
0
Ответы
1

Конечно, вот пример программы на ассемблере FASM для расчета суммы квадратов первых n натуральных чисел:

format PE console
entry start
include 'win32a.inc'
section '.data' data readable writeable
n dd 10
sum dd 0
i dd 1
section '.code' code readable executable
start:
mov ecx, [n] ; загружаем значение n в регистр ecx
mov eax, 0 ; очищаем регистр eax (сюда будем складывать квадраты)
loop_start:
mov ebx, [i] ; загружаем значение i в регистр ebx
imul ebx, ebx ; вычисляем квадрат числа i
add eax, ebx ; добавляем квадрат числа к общей сумме
inc dword [i] ; увеличиваем i на 1
loop loop_start
mov [sum], eax ; сохраняем общую сумму в памяти
cinvoke printf, sum_msg, [sum] ; выводим результат на экран
cinvoke ExitProcess, 0
section '.idata' import data readable writeable
library kernel32,'KERNEL32.DLL',\
msvcrt,'msvcrt.dll'
import kernel32,\
ExitProcess,'ExitProcess'
import msvcrt,\
printf,'printf'
section '.rdata' data readable
sum_msg db "Сумма квадратов первых %d натуральных чисел: %d", 13, 10, 0
section '.init' initializer readable
mov dword [i], 1 ; инициализируем переменные
mov dword [sum], 0

Пожалуйста, замените значение переменной n на нужное количество натуральных чисел, для которых нужно посчитать сумму квадратов.

21 Апр в 00:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир