Поиск максимального значения в каждом столбце - Assembler

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

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

Andrej1990

поиск максимального значения в каждом столбце

Решение задачи: «Поиск максимального значения в каждом столбце»

textual
Листинг программы
Comment &
  Find elements [Min, Max]
&

.model small
.stack 100
.data
N	Equ 	2
M 	Equ	3

Min	Equ	2
Max	Equ	6

Matrix	DW	1, 2, 3  
	DW	4, 5, 6  
Vector	DW	N Dup (?)

S	Equ	Type Matrix

.code
.startup
	Xor	Bx, Bx
	Mov	Cx, N
	Lea	Di, Vector

Rows:	Push    Cx
	Mov	Cx, M
	Xor	Si, Si
	Xor	Ax, Ax

Cols:	Cmp	Matrix[Bx][Si], Min
	Jl	False
	Cmp	Matrix[Bx][Si], Max
	Jg	False
	Inc	Ax
False:
	Add	Si, S
	Loop	Cols

	Mov	[Di], Ax
	Add	Bx, S*M
	Add	Di, S  
        Pop     Cx
	Loop	Rows   

	Xor     Bx, Bx
	Mov	Cx, N
Print:	Mov	Ax, Vector[Bx]
	Add	Bx, S
	Loop	Print
        
.exit 0
end

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

  1. Объединение кода и данных в одном файле.
  2. Код написан на ассемблере.
  3. Задача программы - поиск максимального значения в каждом столбце матрицы.
  4. Входные данные представлены в виде матрицы и вектора.
  5. Матрица описывается двумя строками, указывающими размерность матрицы (N строк, M столбцов) и сами значения матрицы.
  6. Вектор описывается одним словом, указывающим размерность вектора (N элементов).
  7. Размерность вектора (N) равна размерности матрицы (N строк).
  8. Значения вектора заполняются в процессе выполнения программы.
  9. Программа ищет максимальное значение в каждом столбце матрицы и сохраняет его в векторе.
  10. Размерность вектора (N) равна сумме произведений размерностей матрицы (N строк, M столбцов) и вектора (N элементов).
  11. Выходные данные представлены в виде вектора, содержащего максимальные значения каждого столбца матрицы.
  12. Для хранения результата используется регистр AX.
  13. Программа начинается с инициализации регистров и указателей.
  14. Используется два вложенных цикла, обрабатывающих строки и столбцы матрицы.
  15. Внутренний цикл обрабатывает значения каждого столбца матрицы.
  16. Используется операция сравнения для определения минимального и максимального значений в столбце.
  17. Если текущее значение больше максимального, то оно становится новым максимальным.
  18. Если текущее значение меньше минимального, то оно становится новым минимальным.
  19. После обработки всех столбцов матрицы, результат сохраняется в векторе.
  20. Программа завершается выводом результата на экран.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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