Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB.DOC
Скачиваний:
16
Добавлен:
18.02.2017
Размер:
111.1 Кб
Скачать

Домашнее задание

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. В нем хранится адрес (смещение) следую-щей выполняемой команды. При запуске своих программ не забывайте следить за его содержи-мым.

Регистр флагов

Описание этого регистра Вы найдете в литературе.

Соседние файлы в предмете Операционные системы