Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абель.docx
Скачиваний:
13
Добавлен:
26.11.2018
Размер:
569.84 Кб
Скачать

10 Symbols

__________________________________________________________________________

Рис.4.4. Таблица перекрестных ссылок.

На рис.4.4 показана таблица перекрестных ссылок для программы,

приведенной на рис.4.3. Все идентификаторы в таблице предcтавлены в

алфавитном порядке и для каждого из них указаны номеpа строк в исходной

программе, где они определены и имеют ссылки. Имена сегментов и элементов

данных представлены в алфавитном поpядке. Первое число справа в формате n#

указывает на номер строки в LST-файле, где определен соответствующий

идентификатор. Еще правее находятся числа, указывающие на номера строк,

где имеются cсылки на этот идентификатор. Например, CODESG определен в

строке 17 и имеет ссылки на строках 19 и 32.

ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ

________________________________________________________________

- Ассемблер преобразует исходную программу в OBJ-файл, а компоновщик

- OBJ-файл в загрузочный EXE-файл.

- Внимательно проверяйте запросы и ответы на них для программ (M)ASM,

LINK и CREF прежде чем нажать клавишу Return. Будьте особенно внимательны

при указании дисковода.

- Программа CREF создает распечатку перекрестных ссылок.

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

программой CHKDSK для проверки свободного места на диске. Кроме того

периодически создавайте резервные копии вашей программы, храните резервную

дискету и копируйте ее заново для последующего программирования.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

________________________________________________________________

4.1. Введите команду MASM и ответьте на запросы для ассемблирования

программы по имени TEMPY.ASM с получением файлов LST, OBJ и CRF, полагая,

что дискета с программой находится на дисководе B.

4.2. Введите команды для программы TEMPY (из вопроса 4.1) а) для

выполнения через отладчик DEBUG, б) для непосредственного выполнения из

DOS.

4.3. Объясните назначение каждого из следующих файлов: а) file.BAK,

б) file.ASM, в) file.LST, г) file.CRF, д) file.OBJ, е) file.EXE, ж)

file.MAP.

4.4. Напишите две команды для инициализации регистра DS, полагая, что

имя сегмента данных - DATSEG.

4.5. Составьте ассемблерную программу для:

- пересылки шест.30 (непосредственное значение) в регистр AL;

- сдвига содержимого регистра AL на один бит влево (команда SHL)

- пересылки шест.18 (непосредственное значение) в регистр BL;

- умножения регистра AL на BL (команда MUL BL).

Не забывайте команду RET. В программе нет необходимости определять и

инициализировать сегмент данных. Не забывайте также копировать стандартную

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

развития. Выполните ассемблирование и компоновку. Используя отладчик

DEBUG, проверьте сегмент кодов, регистры и проделайте пошаговое выполнение

(трассировку) программы.

4.6. Модифицируйте программу из вопроса 4.5 для:

- определения однобайтовых элементов (директива DB) по имени

FLDA, содержащего шест.28, и по имени FLDB, содержащего шест.14;

- определения двухбайтового элемента (директива DW) по имени

FLDC, не имеющего значения;

- пересылки содержимого поля FLDA в регистр AL и сдвига на один

бит;

- умножения содержимого регистра AL на значение в поле FLDB (MUL

FLDB);

- пересылки результата из регистра AX в поле FLDC.

Для данной программы необходим сегмент данных. Выполните

ассемблирование, компоновку программы и тестирование с помощью отладчика

DEBUG.