Государственное Образовательное Учреждение высшего профессионального образования Московский Авиационный Институт Государственный Технический Университет "маи" кафедра 304. конспект

Вид материалаКонспект

Содержание


Основные средства обработки программ на ЯА
Подготовка исходного модуля
Link/map p1
Подобный материал:
1   ...   7   8   9   10   11   12   13   14   15

Основные средства обработки программ на ЯА

Программные пакеты MASM и TASM




Процесс подготовки и отладки программы на ЯА включает в себя этапы подготовки исходного модуля (ИМ), трансляции, компоновки и отладки.
  1. Подготовка исходного модуля (текста программы) может выполняться с помощью любого текстового редактора. Файл с исходным текстом должен иметь расширение .ASM.

Следует использовать редакторы, формирующие выходной файл в формате ASCII без дополнительных символов, которые вставляют специализированные текстовые редакторы (например, MS Word). Рекомендуются редакторы Norton Editor, WordPad.

При работе в интегрированных средах можно пользоваться редакторами, строенными в эти среды. Например, программные пакеты фирмы Borland, такие как C, C++, Pascal, содержат средства создания ассемблерных программ и фрагментов.
  1. Трансляция ИМ состоит в преобразовании строк исходного языка в коды машинных команд и выполняется с помощью транслятора (ассемблера).

Можно пользоваться трансляторами

MASM фирмы Microsoft или

TASM фирмы Borland.

Ассемблеры различаются в основном в чести написания макросредств, но входной язык для всех ассемблеров одинаков. После трансляции образуется объектный модуль (ОМ), т.е. файл с расширением .OBJ.

Трансляторы вызываются командами MS DOS

MASM name

TASM name

где name – имя файла ИМ без расширения.

Ассемблер формирует ОМ с тем же именем, кроме того, формируются файлы:

­­- листинга .LST (list)

- перекрестных ссылок .CRF (Cross reference).

В команде ассемблирования можно указать путь к файлу или при помощи опций трансляции внести изменения.

Например,

MASM D:\SRC\bild

Здесь обрабатывается файл bild.asm из папки SRC.

Общий вид команды ассемблирования на примере MASM:

MASM {ИМ} [,{ОМ} [,{list}[,{cross}]]] [/{опции}]

Имена {ИМ} ,{ОМ} ,{list},{cross} могут указываться без расширения или с ним; можно отменить формирование одного из файлов или их группы. Т.К. порядок файлов фиксирован, то исключение из середины списка обозначается появление двух запятых подряд, а отключение конца списка обозначается точкой с запятой. Например,

TASM FIL1

эквивалентно

TASM FIL1;

Для MASM возможны три эквивалентные записи:

MASM FIL1.asm, FIL1.obj, FIL1.lst, FIL1.crf

MASM FIL1,,,

MASM FIL1, FIL1, FIL1, FIL1

Опции управляют работой ассемблера и форматом генерируемых файлов. Опции предваряются знаком «/» или «-». Набор опций варьируется в зависимости от пакета TASM или MASM, а также от версии.

Ниже приведен список общих опций:

/А – упорядочить сегменты в алфавитном порядке

/С – формировать файл перекрестных ссылок

/L – формировать файл листинга

/ML – считать заглавные и строчные латинские буквы в именах различными

/T – отменить сообщение об успешном ассемблировании

/Zi - воспроизводить на экране ошибочные строки

Опций может быть несколько, они разделяются пробелами и размещаются:

- в MASM – в любом месте списка,

- в TASM – в начале перед списком имен.

Например,

TASM /L /Zi P,P1

Здесь обрабатывается файл P.asm, формируются файлы P.lst и P1.obj

MASM /Zi St,,Stest

Обрабатывается файл St.asm, формируется файл Stest.lst

3. Компоновка ОМ выполняется с помощью компоновщика (редактора связей), вызывается командами MS DOS

LINK name – совместимо с MASM

TLINK name – совместимо с TASM

Основное назначение – подключение к файлу с основной программой файлов с подпрограммами и настройка связей, изменение формата ОМ и преобразование его в загрузочный файл (.EXE).

Полный формат команды на примере LINK:

LINK {ОМ} [,{загр.}[,{карта}[,{библ.} ]]] [/{опции}]

где {ОМ} – имя файла или их последовательность, разделенная знаком «плюс» или пробелами;

{загр.} – имя загрузочного файла;

{карта} – имя файла, содержащего т.н. карту сборки, описывающую все общие символы, с расширением .MAP;

{библ.} - имя файла библиотеки или их последовательность, разделенная знаком «плюс» или пробелами.

Имена файлов могут указываться без расширения.

Опции в LINK и TLINK не совпадают!

Примеры:

TLINK P1;

формируются файлы P1.exe, P1.map

LINK P1;

формируется файл P1.exe

Использование опций:

LINK/MAP P1;

формируются файлы P1.exe, P1.map

LINK/C0 P1+P2,P3,P3,LIB1+LIB2

Компоновка и подключение библиотек, опция /C0 была рассмотрена ранее в разделе «расположение процедур».

В TASM можно подключить библиотеки в программе и нет необходимости указывать файлы в команде TLINK. В этом случае используется директива INCLUDE.

После компоновки загрузочный файл с расширением .EXE можно запускать.

4. Отладчики – это специальные программы, облегчающие отладку программ на ЯА. Наибольшее распространение получили три отладчика:

Debug – отладчик, входящий в MS DOS,

CV (Code View) – фирмы Microsoft, входит в пакет MASM,

TD (Turbo Debugger) – фирмы Borland, входит в пакет TASM.

Вызов на примере Debug производится командой

Debug P[.exe]

Общее требование – наличие загрузочного файла.

Рассмотрим подробнее использование отладчиков.

а) Debug позволяет записать программу на ЯА или в машинных кодах, запускать ее в разных режимах (с точками останова или без них, а также в пошаговом режиме), просматривать области памяти, регистры и при необходимости вносить изменения;

б) Code View – интерактивный отладчик, вся работа с ним осуществляется в непрерывном диалоге с пользователем;

в) Turbo Debugger – также интерактивный отладчик.

CV и TD имеют общие свойства, а именно они:

- имеют систему многооконного изображения на экране, позволяющую при выполнении программы видеть изменение содержимого регистров МП, флагов, выбранных ячеек памяти;

- позволяют запускать программу в пошаговом режиме, по участкам или по циклам;

- позволяют в ходе отладки вносить изменения в содержимое регистров МП и областей памяти.

Основное общее неудобство отладчиков CV и TD состоит в том, что нельзя вносить изменения в текст программы, хотя он и отражается на экране монитора. Изменения в текст приходится вносить в редакторах, затем необходимы ассемблирование и компоновка, после чего можно проверять исправленную программу на отладчике или без него.