[emu8086] Найти максимальный по модулю элемент матрицы. Удалить строку и столбец матрицы. - Assembler
Формулировка задачи:
Найдите наибольший элемент по модулю в целочисленной квадратной матрице n-го порядка.
Получить квадратную матрицу порядка n-1 путем отклонения в исходной матрице строки и столбца, пересекающего элемент с найденным значением.
Find the greatest element on the module in the integer square matrix of an n order.
Receive a square matrix of an n-1 order by rejection in an initial matrix of a row and a column that are crossing in the element with the found value is located.
Решение задачи: «[emu8086] Найти максимальный по модулю элемент матрицы. Удалить строку и столбец матрицы.»
textual
Листинг программы
; изменение знака в двух строках not ax inc ax
Объяснение кода листинга программы
ax
- используется как рабочая переменная, для хранения и обработки данных в кодеnot ax
- операция побитового исключающегоOR
для изменения знака в переменнойax
inc ax
- увеличение значения переменнойax
на 1 ; нахождение максимального элемента матрицы mov dx, 0 mov cx, 0 mov bx, 0 mov ah, 0dx
- используется для хранения значения столбцаcx
- используется для хранения значения строкиbx
- используется как рабочая переменная, для хранения и обработки данных в кодеah
- используется как рабочая переменная, для хранения и обработки данных в коде ; проход по всем элементам матрицы mov si, 0 mov di, 0si
- используется как счетчик строкdi
- используется как счетчик столбцов ; вычисление значения элемента матрицы mov al, [di]al
- используется как рабочая переменная, для хранения и обработки данных в коде ; сравнение и обновление максимального значения cmp al, [bx] jae not_maxal
- используется для сравнения значений элементов матрицыbx
- используется для хранения максимального значения ; обновление столбца и строки максимального элемента mov [di], al mov [dx], axdi
- используется для сохранения индекса столбца максимального элементаdx
- используется для сохранения индекса строки максимального элемента ; обновление значений переменных для следующей итерации inc si inc disi
- используется для перехода к следующей строкеdi
- используется для перехода к следующему столбцу ; удаление строки и столбца матрицы mov dx, 0 mov cx, 0dx
- используется для хранения значения столбцаcx
- используется для хранения значения строки ; проход по всем элементам матрицы mov si, 0 mov di, 0si
- используется как счетчик строкdi
- используется как счетчик столбцов ; удаление элемента матрицы mov al, [di]al
- используется как рабочая переменная, для хранения и обработки данных в коде ; обновление значения столбца и строки после удаления mov [di], 0 mov [dx], 0di
- используется для сохранения индекса столбца после удаленияdx
- используется для сохранения индекса строки после удаления
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д