МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ УКРАИНЫ
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ
Отчет
по лабораторной работе № 9
по курсу «Системное программирование»
Вариант №7
Выполнил: Проверил:
ст. гр. КИ-06-7 Корниенко Т.В.
Парченко П. В.
Харьков 2008
ИСПОЛЬЗОВАНИЕ ЯЗЫКА АССЕМБЛЕР
Цель работы
Ознакомление с языком программирования низкого уровня Ассемблер, областями его применения, получение практических навыков по созданию ассемблерных программ и стыковки их с программами на языках высокого уровня.
Задание
На языке Ассемблер написать следующие функции работы с матрицами: определение максимального/минимального элемента матрицы (с выводом на экран номера столбца и строки, где этот элемент находиться), среднего арифметического значения элементов строк и столбцов. Использовать функции из основной программы на С++.
Описание алгоритма решения поставленной задачи
Для решения задачи мы реализовали вложенные циклы типа for. Для этого мы определили переменные x, y, в которых храним текущую позицию, и переменную, в которой будем хранить позицию максимального либо минимального элемента. В каждом цикле мы реализовали по 3 метки, обозначающие увеличение переменной цикла, проверки на завершение, и метка окончания цикла. В самом начале после инициализации переменной цикла мы переходим на проверку выхода из цикла, т.к. увеличивать ее в начале не требуется. Если при проверке оказался выход переменной цикла за границу, то переходим на конец цикла, иначе выполняем тело. В конце тела мы передаем управление на метку увеличения значения переменной цикла.
Для нахождения максимума и минимума в регистре edi храним значение текущего максимального или минимального значения, в регистр esi заносим значение текущего элемента матрицы. Если при проверке мы находим новый максимум или минимум, то заносим его координаты в result, а его значение в edi.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.