- •Московский институт электронной техники
- •Лабораторная работа 1.
- •Краткие теоретические сведения
- •Определение типа э в м.
- •Определение объема оперативной памяти.
- •Определение типа адаптера дисплея.
- •Ревизия периферийных устройств.
- •Домашнее задание.
- •Пример вызывающей программы
- •Управление выводом символов в си
- •Режим графики
- •Определение времени работы программы
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа n4 Методы защиты программ и данных краткие теоретические сведения
- •1. Шифрование путем замены.
- •2. Шифрование путем перестановок.
- •3. Шифрование с помощью ключа.
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа n 5 Отладчик d e b u g. Краткие теоретические сведения
- •Что такое debug
- •Команды debug
- •Некоторые команды ассемблера
- •Небольшие примеры
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа 6 Вывод точечной графики для ega адаптера. Циклы и процедуры в ассемблере. Краткие сведения о видеосистемах ibm pc.
- •Программа на ассемблере
- •Пример программы
- •Порядок выполнения работы
- •Лабораторная работа 7 Генерация звука краткие теоретические сведения
- •Пример программы
- •Домашнее задание
- •Небольшие примеры Создание файла
- •Домашнее задание
- •Порядок выполнения работы
- •Литература
Управление выводом символов в си
В языке СИ есть функции, которые позволяют задавать цвет символа и фона знакоместа. Функция textcolor (x) - задает цвет символа (x - int, код цвета). Функция textbackground (x) - задает цвет фона знакоместа (x -int, код цвета). Для установки видеорежима можно восполь-зоваться функцией 0Н прерывания 10Н:
_AH = 0x00,
_AL = 0x03 - третий (80*25, цветной),
geninterrupt (0x10),
или функцией textmode (x), где x = {C80, С40, BW80, BW40}.
Для непосредственной записи в видеопамять можно использовать функции: poke и pokeb с параметрами (0xB800, X, Z), где 0xB800 - сегмент соответствующий началу видеобуфера, X - смещение, Z - значение байта. Функция pokeb записывает байт, а poke - слово по указан-ному адресу.
Режим графики
В СИ есть функции, позволяющие выводить графическую информацию на экран. Рассмотрим только некоторые из них.
INITGRAPH ( &driver, &mode, "D:\TC\BGI") инициализирует графический режим,
где driver - тип графического адаптера: CGA, EGA, ... DETECT, параметр DETECT устанавливает тип графического адаптера автоматически;
mode - тип видеорежима;
"D:\TC\BGI" - обратный путь расположения графических драйверов
PUTPIXEL (int x, int y, color) - рисует точку цвета color в позиции x, y.
Непосредственная адресация видеопамяти в графическом режиме для EGA возможна, но довольно трудна. Мы рассмотрим этот вопрос в лабораторной работе 6.
Определение времени работы программы
Для сравнения различных методов управления выводом на экран можно воспользоваться функцией clock();
#include <time.h>
clock_t START, END;
double F;
START = clock();
{ПРОГРАММА}
END = clock()
F = (END-START)/CLK_TCK;
где F - время работы программы (участка) в секундах.
Домашнее задание
1. Составить краткий конспект лабораторной работы.
2. Составить программу(ы), которая выполняла бы следующие действия:
а) с помощью функций СИ выводила на весь экран (80х25) символы с кодами от 15 до 254, изменяя у каждого следующего символа его цвет, а через 8 символов меняя цвет фона;
б) задача а), но с помощью непосредственной адресации видеобуфера (pokeb);
в) рисовала на экране цветными точками прямоугольник 10<X<90, 10<Y<120 с помощью функции putpixel;
г) задача в), но с помощью функции 0CH прерывания 10H;
д) определяла время решения всех задач.
Порядок выполнения работы
1. Получить у преподавателя допуск к лабораторной работе.
2. Отладить программу на ЭВМ.
3. Сравнить время решения задач различными методами, выводы записать в конспект.
4. Защитить лабораторную работу.
Лабораторная работа n4 Методы защиты программ и данных краткие теоретические сведения
Одной из функций операционной системы является задача обеспечения избирательного доступа к программам и данным. Наиболее распространенным методом, обеспечивающим персонифицированный вход в систему и доступ к информации является система паролей. Он достаточно просто реализуется, однако не обеспечивает полноценной защиты данных. В тех случаях, когда к степени защищенности предъявляются высокие требования (банковское дело, оборона, разведка и т.п.) необходимым становится специальное кодирование ( шифрование ) данных (или программного кода). При этом пользователь несанкционированно проникший в систему не сможет воспользоваться программами и данными, не имея специального средства декодирования (тщательно засекреченного).
Рассмотрим некоторые методы шифрования данных.