Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов - Assembler

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

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

2. Создайте два массива из 20 элементов. При объявлении массивов заполните их числами. Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов. Результат сохраняйте в первый массив.

Решение задачи: «Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов»

textual
Листинг программы
  1. LOCALS
  2.  
  3. .model small
  4.  
  5. .stack 100h
  6.  
  7. .data
  8.         A       db      1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
  9.         B       db      21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40
  10.  
  11. .code
  12.  
  13. main    proc
  14.         mov     ax,     @data
  15.         mov     ds,     ax
  16.  
  17.         mov     cx,     20
  18.         lea     si,     A
  19.         lea     di,     B
  20. @@For:
  21.         mov     al,     [di]
  22.         add     [si],   al
  23.         add     si,     1
  24.         add     di,     1
  25.         loop    @@For
  26.  
  27.         mov     ax,     4C00h
  28.         int     21h
  29. main    endp
  30.  
  31. end     main

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

  1. Сначала определяются локальные переменные
  2. Устанавливается размер стека
  3. В сегменте данных объявляются два массива: A с элементами 1-20 и B с элементами 21-40
  4. В сегменте кода начинается процедура main
  5. Загружается адрес сегмента данных в регистр ax и затем в регистр ds
  6. Регистру cx присваивается значение 20 – количество элементов в массиве
  7. В регистры si и di загружаются адреса начала массивов A и B
  8. В цикле происходит суммирование соответствующих элементов массивов A и B с использованием инструкций mov, add и loop
  9. После выполнения цикла процедура main завершается с помощью инструкций mov, int
  10. Завершение программы и возврат к операционной системе

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы