Skip to content

Bryanskaya/MachineDependentLanguages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MachineDependentLanguages

Третья лабораторная работа

Требуется написать программу, в которой ввести строку и затем вывести первые её 10 символов. Считать ввод всегда корректным.

Четвёртая лабораторная работа

Тип матрицы: прямоугольная, цифровая, максимальный размер 9х9
Задание: пользователь задаёт количпество строк и столбцов, а также элементы. Нужно чётные элементы увеличить на 1, нечётные - уменьшить на 1. Вывести только последние цифры новых значений.
Предусмотреть проверку на некорректные данные.

Пятая лабораторная работа

Требуется составить программу, которая будет осуществлять ввод 16-разрядного числа и вывод его в знаковом и беззнаковом представлении.
Взаимодействие с пользователем должно строиться на основе меню. Программа должна содержать не менее 4-х модулей.
Главный модуль должен обеспечивать вывод меню, а также содержать массив указателей на подпрограммы, выполняющие действия, соответствующие пунктам меню.
Обработчики действий должны быть оформлены в виде подпрограмм, находящихся каждая в отдельном модуле. Вызов необходимой функции требуется осуществлять с помощью адресации по массиву индексом выбранного пункта меню.

Вводимое число - знаковое в 2 с/с
1е выводимое число - беззнаковое в 8 с/с
2е выводимое число - знаковое в 16 с/с

Шестая лабораторная работа

Написать резидентную программу под DOS, которая будет реализовывать некий простейший функционал: показывать текущее время в правом верхнем углу, моргать индикаторами на клавиатуре раз в секунду, или выполнять какое-либо подобное действие, демонстрирующее корректную работу программы в фоновом режиме.

Что делает моя программа:

  • выводит текущую дату
  • выводит текущее время с точностью до секунд
  • при нажатии на клавиши Caps Lock, Shift (левый и правый), Ctrl, Alt, Enter, Ins, Del, Num Lock выводятся сообщение с названием соответствующей клавиши

Седьмая лабораторная работа

Написать программу на Си/Си++, которая вызывает 2 подпрограммы на ассемблере:
● первая принимает 1 параметр - указатель на строку, определяет длину строки и выполнена в виде ассемблерной вставки;
● вторая копирует строку с адреса, заданного одним указателем, по адресу, заданному другим указателем, и реализована в отдельном asm-файле.

Функция должна принимать 3 параметра: два указателя и длину строки.
Про расположение указателей в памяти и расстояние между ними заранее ничего не известно. Подпрограммы должны соответствовать соглашению о вызовах языка Си и использовать команды обработки строк с префиксом повторения.

Восьмая лабораторная работа

Требуется написать программу, задействующую математический сопроцессор либо MMX или другое расширение процессора.
Назначение - произвольное, например, математическая операция над двумя вещественными числами.

Что делает моя программа:

  • считает скалярное произведение двумерных (и трёхмерных) векторов

Девятая лабораторная работа

Требуется провести дизассемблирование какого-либо исполняемого файла, например, самостоятельно созданного .exe, и изучить особенности его устройства/получить какую-либо информацию, доступную только при реверс-инжиниринге.

Что делает моя программа:

  • считает среднее арифметическое чисел

About

Лабораторные работы по МЗЯП (2020)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published