Лабораторная работа №6
Вызов функций и передача параметров в функцию на языке ассемблера. Работа с динамической памятью.
Цель работы
1. Ознакомиться с порядком вызова процедур на языке ассемблера
2. Освоить передачу параметров по значению.
3. Освоить управление динамической памятью.
4. Выполнить задание лабораторной работы. Результаты вычислений вывести на экран.
Выполнение работы
1. Ознакомиться с командами CALL, RET.
2. Проанализировать способы вызова функций __cdecl и __stdcall.
3. Ознакомиться с функциями управления динамической памятью: GetProcessHeap, HeapAlloc, HeapSize, HeapFree.
4. Написать на языке ассемблера программу, выполняющую поставленную задачу.
5. Протестировать программу на различных входных данных.
Содержание отчета
1. Перечень команд ассемблера, использованных в работе;
2. Алгоритм выполнения поставленной задачи;
3. Листинг программы на ассемблере и С++;
4. Результаты выполнения программы на различных входных данных.
Задание
Написать класс на С++ с функцией на ассемблере, выполняющей задание лабораторной работы №5 с учетом возможности ввода количества столбцов и строк матрицы. Матрица должна размещаться в динамической памяти. Переменные указателя на матрицу и размеров матрицы должны быть нестатическими членами класса. Обращение к переменным должно осуществляться с использованием указателя this без использования оператора разыменования указателя (->). Обращение к параметрам, передаваемым в функцию должно осуществляться с использованием регистров ESP, EBP. Вызов функции осуществить на ассемблере. Вся выделяемая память в программе должна быть освобождена перед выходом.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.