- •Московский институт электронной техники
- •Лабораторная работа 1.
- •Краткие теоретические сведения
- •Определение типа э в м.
- •Определение объема оперативной памяти.
- •Определение типа адаптера дисплея.
- •Ревизия периферийных устройств.
- •Домашнее задание.
- •Пример вызывающей программы
- •Управление выводом символов в си
- •Режим графики
- •Определение времени работы программы
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа n4 Методы защиты программ и данных краткие теоретические сведения
- •1. Шифрование путем замены.
- •2. Шифрование путем перестановок.
- •3. Шифрование с помощью ключа.
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа n 5 Отладчик d e b u g. Краткие теоретические сведения
- •Что такое debug
- •Команды debug
- •Некоторые команды ассемблера
- •Небольшие примеры
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа 6 Вывод точечной графики для ega адаптера. Циклы и процедуры в ассемблере. Краткие сведения о видеосистемах ibm pc.
- •Программа на ассемблере
- •Пример программы
- •Порядок выполнения работы
- •Лабораторная работа 7 Генерация звука краткие теоретические сведения
- •Пример программы
- •Домашнее задание
- •Небольшие примеры Создание файла
- •Домашнее задание
- •Порядок выполнения работы
- •Литература
Домашнее задание
1. Составить программу, которая бы печатала в середине экрана Вашу фамилию, имя и отчество (красными буквами на синем фоне).
2. Составить программу кодирования файла.
3. Составить программу, которая раскодирует файл, обеспечивает его запуск и после завершения работы оставляет файл закодированным.
Порядок выполнения работы
1. Получить у преподавателя допуск к лабораторной работе.
2. Отладить программу по п.1 домашнего задания.
3. Отладить программу по п.2 домашнего задания. Проверить ее работоспособность на любом текстовом файле закодировав и раскодировав его.
4. Закодировать программу печати Вашей фамилии и убедиться, что закодированную программу невозможно выполнить. (* При зависании компьютера перегрузите его.)
5. Отладить программу по п.3 домашнего задания. Проверить выполнение программы.
5. Защитить лабораторную работу.
Лабораторная работа n 5 Отладчик d e b u g. Краткие теоретические сведения
Язык ассемблера по сравнению со всеми остальными языками программирования - наиболее близкий к машинному. Скорость выполнения ассемблерных программ в два-три раза выше программ, написанных на Си или Паскале. Объем ассемблерных программ почти на порядок меньше, чем аналогичных на Си или Паскале. Все это является весьма привлекатель-ным для решения некоторых задач САПР.
Что такое debug
Программа D e b u g предназначена для отладки (пошагового выполнения) программ, написанных на машинном языке. D e b u g работает с шестнадцатеричными числами.
Напомним соответствие различных систем исчисления:
-
2
8
10
16
0000
0
0
0
0001
1
1
1
0010
2
2
2
0011
3
3
3
0100
4
4
4
0101
5
5
5
0110
6
6
6
0111
7
7
7
1000
10
8
8
1001
11
9
9
1010
12
10
A
1011
13
11
B
1100
14
12
C
1101
15
13
D
1110
16
14
E
1111
17
15
F
Один байт можно представить двумя шестнадцатеричными цифрами, а слово ( 2 байта ) - четырьмя.
Для дальнейших рассуждений нам потребуется описание регистров 286 микропроцессора.
Рабочие регистры
AX (аккумуляторы) (AH, AL) H - старший байт
BX (база) (BH, BL) L - младший байт
CX (счетчик) (CH, CL)
DX (данные) (DH, DL)
AX, BX, CX, DX - это арифметические регистры. Каждый из них можно рассматривать как пару независимо адресуемых восьмиразрядных регистров (H - старший, L - младший).
В основном, эти регистры используются для временного хранения данных. Однако у них есть и специфические функции:
AX - аккумулятор;
BX - часто хранит адрес таблицы перекодировки символов;
CX - счетчик циклов;
DX - расширение аккумулятора для 32-разрядных чисел.
Регистры сегментов
Полный адрес байта памяти формируется из адреса начала сегмента (размером 64 кбайт), и смещения относительно начала сегмента. Сегментные регистры хранят начальные адреса сегментов:
CS - адрес сегмента кода выполняемой программы;
DS - адрес сегмента данных используемых программой;
SS - адрес сегмента стека программы;
ES - адрес дополнительного сегмента (если программе требуется более 64 кбайт памяти).
Регистры смещения
IP (указатель команд)
SP (указатель стека)
BP (указатель базы)
SI (индекс источника)
DI (индекс назначения)
В настоящей работе для нас важен регистр IP. В нем хранится адрес (смещение) следую-щей выполняемой команды. При запуске своих программ не забывайте следить за его содержи-мым.
Регистр флагов
Описание этого регистра Вы найдете в литературе.