Найти суму элементов главной и побочной диагоналей - Assembler

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

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

Есть матрица 4х4 и код который вычисляет среднее арифметическое как и что изменить чтобы вычислял суму элементов диагоналей.

Решение задачи: «Найти суму элементов главной и побочной диагоналей»

textual
Листинг программы
mov bx, 0
mov dx, 0
mov cx, 4
lea si, [mas]
mov di, si
add di, 4*3*2
_for:
  add bx, [si]
  add si, 2*(4+1)
 
  add dx, [di]
  sub di, 2*(4-1)
loop _for
mov [Glav], bx
mov [Pobo], dx

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

  1. Сохранение нулевого значения в регистре bx
  2. Сохранение нулевого значения в регистре dx
  3. Сохранение значения 4 в регистре cx
  4. Выделение памяти под массив (4 элемента) и сохранение адреса в регистре si
  5. Передача адреса элемента массива в регистр di
  6. Начальная итерация цикла:
    • Прибавление значения элемента массива к регистру bx
    • *Увеличение адреса элемента массива на 2(4+1) (8)**
    • Прибавление значения элемента массива к регистру dx
    • *Уменьшение адреса элемента массива на 2(4-1) (6)**
  7. Повторение цикла до завершения итераций
  8. Сохранение значения суммы элементов главной диагонали в переменной Glav
  9. Сохранение значения суммы элементов побочной диагонали в переменной Pobo

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


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

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

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