Государственное Образовательное Учреждение высшего профессионального образования Московский Авиационный Институт Государственный Технический Университет "маи" кафедра 304. конспект
Вид материала | Конспект |
СодержаниеОсновные средства обработки программ на ЯА Подготовка исходного модуля Link/map p1 |
- Инновационной образовательной программы, 1090.47kb.
- Самостоятельная работа 2 часа в неделю всего часов, 28.69kb.
- Самостоятельная работа 2 часа в неделю всего часов, 45.89kb.
- Самостоятельная работа 2 часа в неделю всего часов, 73.46kb.
- Самостоятельная работа 2 часа в неделю всего часов, 46.6kb.
- Самостоятельная работа 2 часа в неделю всего часов, 41.37kb.
- Самостоятельная работа 2 часа в неделю всего часов, 41.08kb.
- Самостоятельная работа 2 часа в неделю всего часов, 64.33kb.
- Самостоятельная работа 2 часа в неделю всего часов, 29.72kb.
- Самостоятельная работа 2 часа в неделю всего часов, 33.42kb.
Основные средства обработки программ на ЯА
Программные пакеты MASM и TASM
Процесс подготовки и отладки программы на ЯА включает в себя этапы подготовки исходного модуля (ИМ), трансляции, компоновки и отладки.
- Подготовка исходного модуля (текста программы) может выполняться с помощью любого текстового редактора. Файл с исходным текстом должен иметь расширение .ASM.
Следует использовать редакторы, формирующие выходной файл в формате ASCII без дополнительных символов, которые вставляют специализированные текстовые редакторы (например, MS Word). Рекомендуются редакторы Norton Editor, WordPad.
При работе в интегрированных средах можно пользоваться редакторами, строенными в эти среды. Например, программные пакеты фирмы Borland, такие как C, C++, Pascal, содержат средства создания ассемблерных программ и фрагментов.
- Трансляция ИМ состоит в преобразовании строк исходного языка в коды машинных команд и выполняется с помощью транслятора (ассемблера).
Можно пользоваться трансляторами
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 состоит в том, что нельзя вносить изменения в текст программы, хотя он и отражается на экране монитора. Изменения в текст приходится вносить в редакторах, затем необходимы ассемблирование и компоновка, после чего можно проверять исправленную программу на отладчике или без него.