Вызов функций и передача параметров в функцию на языке ассемблера. Работа с динамической памятью (Лабораторная работа № 6)

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Лабораторная работа №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. Вызов функции осуществить на ассемблере. Вся выделяемая память в программе должна быть освобождена перед выходом.

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.