Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LK_MashZavYP_Akchurin_2011.pdf
Скачиваний:
215
Добавлен:
10.06.2015
Размер:
8.79 Mб
Скачать

оно есть. Имя файла может иметь длину до 15 знаков; архиватор усекает имена файлов, которые длиннее, чем 15 знаков.

Внимание: для библиотеки возможно (но не желательно) содержать несколько членов с тем же самым именем. Если Вы пытаетесь удалять, заменять, или извлекать элемент, чье имя совпадает с именем другого библиотечного элемента, архиватор удаляет, заменяет, или извлекает первый библиотечный элемент с этим именем.

8.12. Абсолютный листер

Абсолютный листер - средство отладки, которое принимает скомпонованные объектные файлы в качестве входа, и создает файлы *.abs. Эти файлы *.abs можно оттранслировать, чтобы получить листинг, который показывает абсолютные адреса объектного кода. Вручную этот процесс требует длительного времени, однако абсолютный листер делает все автоматически.

Рисунок иллюстрирует шаги, требуемые, чтобы произвести абсолютный листинг.

439

Синтаксис вызова абсолютного листера следующий: abs2000 [-опции] входной файл

abs2000 - команда вызова абсолютного листера.

440

Опции - указывают опции, которые Вы хотите использовать. Они не чувствительны к регистру и могут появляться где-нибудь в командной строке. Предшествуйте каждую опцию дефисом (-). Возможны следующие опции:

-e позволяет изменить заданное по умолчанию расширение для файлов:

-ea [.] расширение для ассемблерных файлов (по умолчанию .asm).

-ec [.] расширение для файлов на C (по умолчанию .c).

-eh [.] расширение для файлов заголовка C (по умолчанию .h). Точка в расширении и пробел между опцией и расширением - необязательны.

-q подавляет заголовок и всю информацию процесса работы.

Входной файл - именует скомпонованный объектный файл. Если Вы опускаете расширение имени входного файла, абсолютный листер считает, что входной файл имеет расширение .out. Если Вы не даете имя входного файла, абсолютный листер запрашивает его у Вас.

Абсолютный листер создает выходной файл для каждого входного файла, который был скомпонован. Эти файлы имеют то же имя, что и входные файлы, и расширение .abs. Файлы заголовка, однако, не создают соответствующий .abs файл. Транслируйте эти файлы с опцией ассемблера –a, как показано ниже, чтобы получить абсолютный листинг:

asm6x -a имя.abs

8.13. Листер перекрестных ссылок

Листер перекрестных ссылок - средство отладки. Эта утилита принимает в качестве входа скомпонованные объектные файлы и производит листинг перекрестных ссылок на выходе. Эта распечатка показывает символы, их определения и ссылки на них в скомпонованных объектных файлах.

Рисунок иллюстрирует шаги, требуемые, чтобы произвести распечатку перекрестных ссылок.

441

Чтобы использовать утилиту перекрестной ссылки, файл должен быть собран с правильными параметрами и затем скомпонован в исполняемый файл. Транслируйте файлы ассемблера с -x опцией. Эта опция создает распечатку перекрестной ссылки и прибавляет информацию перекрестной ссылки к объектному файлу. По умолчанию ассемблер делает перекрестные ссылки только для глобальных символов, но если используется -s опция при вызове ассемблера, то также добавляются локальные символы. Скомпонуйте объектные файлы, чтобы получить выполняемый объектный файл.

Листинг перекрестных ссылок

442

Листинг перекрестных ссылок показывает символы и их определения. Чтобы вызвать листер перекрестных ссылок, введите следующее:

xref2000 [опции] [имя входного файла [имя файла вывода]] xref2000 - команда, которая вызывает листер перекрестных ссылок.

Опции идентифицируют параметры листера перекрестных ссылок, которые Вы хотите использовать. Параметры не чувствительны к регистру и могут появляться где-либо в командной строке после команды. Предшествуйте каждую опцию дефисом (-). Эти опции следующие:

-l (нижний регистр L) определяет число строк в странице выходного файла. Формат -l опции: -l число, где число - десятичная константа. Например, -l30 устанавливает число строк в странице выходного файла = 30. Пробел между опцией и константой - необязательный. Значение по умолчанию 60 строк.

-q подавляет заголовок и всю информацию по работе (тихий запуск).

Имя входного файла – скомпонованный объектный файл. Если Вы опускаете входное имя файла, утилита его запрашивает.

Имя файла вывода – имя файла листинга перекрестных ссылок. Если Вы опускаете имя файла вывода, заданное по умолчанию имя файла - имя входного файла с расширением .xrf.

Пример. Листинг перекрестных ссылок ассемблера. Листер для каждого объявленного символа формирует описание ссылок. Листинг содержит:

Symbol – имя символа.

Filename - имя файла, где встречается символ.

RTYP – тип символа

STAT – определен в файле, не объявлен глобальным; EDEF – определен в файле, объявлен глобальным; EREF – не определен в файле, но ссылка глобальная; UNDF – не определен в файле, не объявлен глобальным;

AsmVal – шестнадцатиричное значение символа в ассемблировании.

LnkVal - шестнадцатиричное значение символа после установления ссылки.

DefLn – Номер оператора, где обнаружен символ.

443

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]