Массив: Вычислить сумму элементов главной диагонали и сумму элементов первого столбца, найти их разность - Assembler

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

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

помогите пожалуйста. Задать с клавиатуры матрицу размером 4*4. Вычислить сумму элементов главной диагонали и сумму элементов первого столбца. Найти их разность. В программе предусмотреть приглашение к вводу и вывод результата с соответствующим текстом

Решение задачи: «Массив: Вычислить сумму элементов главной диагонали и сумму элементов первого столбца, найти их разность»

textual
Листинг программы
; masm dos exe #
.286
.data
matrix  db  1, 2, 3, 4
    db  5, 6, 7, 8
    db  9,10,11,12
    db 13,14,15,16
sum1    dw 0
sum2    dw 0
.code
start:  mov ax,@data
    mov ds,ax 
    mov si, offset matrix
    mov ah,0
    mov cx,4
; сумма элементов главной диагонали
a0: lodsb
    add sum1,ax
    add si,4;ширина колонки + 1 за счет lodsb
    loop a0
    mov cx,4
; сумма элементов первого столбца
        mov si, offset matrix
a1: lodsb
    add sum2,ax
    add si,3;ширина колонки - 1 + 1 за счет lodsb
    loop a1

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

В этом коде выполняется следующая последовательность действий:

  1. Задаётся начальное значение регистрам AX и CX, которые будут использоваться в циклах.
  2. Устанавливается начальный адрес массива в регистре SI.
  3. Запускается цикл, который складывает элементы главной диагонали в переменную SUM1.
  4. Увеличивается значение регистра SI на 4, чтобы перейти к следующему элементу массива.
  5. Запускается цикл, который складывает элементы первого столбца в переменную SUM2.
  6. Увеличивается значение регистра SI на 3, чтобы перейти к следующему элементу массива.
  7. Код выходит из сегмента данных и завершает работу. Список действий:
  8. Задаются начальные значения AX и CX.
  9. Устанавливается начальный адрес массива в SI.
  10. Главный цикл для вычисления суммы главной диагонали.
  11. Увеличение SI на 4 для перехода к следующему элементу массива.
  12. Главный цикл для вычисления суммы первого столбца.
  13. Увеличение SI на 3 для перехода к следующему элементу массива.
  14. Код выходит из сегмента данных и завершает работу.

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


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

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

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