![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Выходные данныеВыходными данными Приложения являются: · Файл, содержащий преобразованный в чисто ассемблерный код исходный код программы, написанной на языке Макроассемблера для УУМ-32. Этот файл строится только в случае подачи на вход Приложения файла, содержащего исходный код программы с использованием макросов. Помимо ассемблерного кода данный файл содержит специальные комментарии, указывающие, по какой строке какого файла была построена результирующая строка. Эти комментарии необходимы для того, чтобы в случае возникновения ошибки предоставить пользователю ссылку на исходный файл и строку, на основании которой была построена результирующая строка, а не на саму результирующую строку. Пример файла см. в Приложении 4. · Файл, содержащий объектный код программы. Объектный файл содержит машинное представление символических команд и данных, а также записи, необходимые для работы компоновщика. Ниже приведено краткое описание формата объектных файлов УУМ32: § Формат объектных файлов - текстовый, записи представляют собой строки, разделённые символами перевода строки. § Пустые и некорректные строки игнорируются (это сделано, чтобы можно было вставлять комментарии в учебных целях). § Строки состоят из полей, разделяемых символом "|" (ASCII 7C). § Некоторые поля (имена секций) имеют переменную (произвольную) длину. § Несимвольные поля (адреса, объектный код) записываются в шестнадцатеричном виде. Виды записей объектного файла: 1) Заголовок секции Формат: H|ИМЯ|ДЛИНА В одном объектном файле может быть несколько секций. 2) Объектный код Формат: T|АДРЕС_БЛОКА|ДЛИНА_БЛОКА|ОБЪ_КОД_БЛОКА - АДРЕС_БЛОКА - 4 байта - ДЛИНА_БЛОКА - 1 байт - ОБЪ_КОД_БЛОКА - шестнадцатеричные коды команд и данных, разделённые символом '|' 3) Модификатор Формат: M|АДРЕС_ПОЛЯ|ДЛИНА_ПОЛЯ|ИМЯ<+/-> - "+" – значение имени прибавляется - "-" – значение имени вычитается адрес - 4 байта, длина - 1 байт. Вставка строк модификаторов следует сразу за командой (выражением) с внешними ссылками, а не в конце секции, что позволяет повысить читаемость объектного кода. 4) Определение внешних имён (экспорт из секции) Формат: D|ИМЯ1|АДРЕС1|ИМЯ2|АДРЕС2... 5) Список внешних ссылок (импорт в секцию) Формат: R|ИМЯ1|ИМЯ2|... 6) Конец секции Формат: E
Пример объектного файла см. в Приложении 5.
· Файл листинга. Листинг представляет собой текстовый файл, который содержит: § Текст исходной программы с удаленными комментариями и удобочитаемой структурой § Адреса каждой команды и записи данных § Машинное представление команд и данных в соответствующем формате Пример файла листинга см. в Приложении 6.
· Список ошибок, обнаруженных во время компиляции. Для каждой обнаруженной ошибки указывается, если возможно, файл, в котором была обнаружена ошибка, и номер строки, содержащей ошибку.
|