Дана последовательность слов (положительные числа). Просуммировать их в цикле. Сум-ма может превышать допустимые для слова значения. Вывести на экран - Assembler

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

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

Дана последовательность слов (положительные числа). Просуммировать их в цикле. Сум-ма может превышать допустимые для слова значения. Вывести на экран 10-ичное и 16-ричное представления суммы. Для организации вывода в 16-ричное представлении при-менить операции сдвига битов и/или логические команды.

Решение задачи: «Дана последовательность слов (положительные числа). Просуммировать их в цикле. Сум-ма может превышать допустимые для слова значения. Вывести на экран»

textual
Листинг программы
mov edx,00h ;тут будет сумма
mov eax,edx
mov si,адрес_начала_массива
mov cx,число_элементов_массива
loopAddition: ;старт цикла суммирования
 lodsw ;загрузка в ax текущего элемента
 add edx,eax ;прибавление его к уже имеющейся сумме
 loop loopAddition
 
;а тут надо сделать вывод содержимого EDX на экран

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

  1. mov edx,00h - инициализация переменной EDX со значением 0. Эта переменная будет использоваться как сумма.
  2. mov eax,edx - копирование значения переменной EDX в EAX. Это необходимо для обработки случая, когда сумма превысит допустимые для слова значения.
  3. mov si,адрес_начала_массива - инициализация указателя SI со значением, указывающим на начало массива.
  4. mov cx,число_элементов_массива - инициализация счетчика CX со значением, равным количеству элементов в массиве.
  5. loopAddition: - начало цикла суммирования.
  6. lodsw - загрузка в пару регистров AX текущего элемента массива.
  7. add edx,eax - прибавление текущего элемента к сумме в EDX.
  8. loop loopAddition - переход к следующей итерации цикла.
  9. ;а тут надо сделать вывод содержимого EDX на экран - в коде не реализована функция вывода суммы на экран.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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