Числа, находящиеся ниже главной диагонали марицы А, заменить их дополнением - Assembler

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

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

Помогите пожалуйста решить задачу: Задана матрица целых чисел А размерностью 8х8. Числа, находящиеся ниже главной диагонали марицы А заменить их дополнением. Оформить в виде процедуры.

Решение задачи: «Числа, находящиеся ниже главной диагонали марицы А, заменить их дополнением»

textual
Листинг программы
mov eax,7
row:mov ecx,eax
    fill:neg byte[A+eax*8+ecx-1]
    loop fill
    dec eax
jnz row

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

  1. mov eax,7 — в начало программы присваиваем переменной eax значение 7
  2. row:mov ecx,eax — в начале цикла присваиваем переменной ecx значение переменной eax (7)
  3. *fill:neg byte[A+eax8+ecx-1]** — в каждой итерации цикла значение переменной ecx (которое равно 7) используется для вычисления смещения для элемента массива A, на который будет производиться запись. Знак neg используется для получения отрицательного значения, которое будет использовано как дополнение для элемента массива.
  4. loop fill — выполняется до тех пор, пока значение переменной eax (которое уменьшается на 1 после каждой итерации) больше 1
  5. dec eax — уменьшаем значение переменной eax на 1 после каждой итерации
  6. jnz row — если значение переменной eax больше 0, то переходим к началу цикла (к команде row) Таким образом, в данном коде выполняется замена чисел, находящихся ниже главной диагонали матрицы А, их дополнением.

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

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