Распечатка результатов трансляции
Распечатка результатов трансляции, выводимая в набор данных SYSPRINT, является основным документом, используемым программистом при разработке программы. Распечатка включает следующие части: словарь внешних имен, текст исходного и объектного модулей, словарь перемещений, таблицу перекрестных ссылок, диагностику и статистику.
В словаре внешних имен отражена информация о программных секциях и именах связи, используемых в программе. Для каждого элемента печатается одна строка текста, содержащая его имя, указатель типа имени, номер элемента в словаре, адрес имени, его длину. Указатель типа может иметь следующие значения: СМ — общая область, SD — именованная программная секция, PC — неименованная программная секция, LD — входное имя, ER — внешнее имя, WX — слабое внешнее имя, XD — внешняя фиктивная область.
Вторая часть распечатки содержит текст исходного и объектного модулей. В одной строке печатается: оператор исходного модуля, соответствующий ему объектный код и адрес основной памяти, с которого он расположен. Исходный оператор печатается вместе с номером, присваиваемым транслятором. Если сразу за номером печатается знак «плюс», это означает, что оператор сгенерирован из макроопределения. Для машинных команд, кроме объектного кода, печатаются один или оба операнда в виде абсолютных адресов.
В словаре перемещений собрана информация о пере — местимых адресных константах. Для каждой переместимой адресной константы печатаются идентификационный номер секции, в которой расположена эта константа; идентификационный номер секции, к которой принадлежит выражение, задающее значение константы; адрес памяти, по которому расположена константа.
В таблицу перекрестных ссылок включены сведения об име-нах и литералах, присутствующих в программе. Для каждого имени печатаются имя, длина в байтах области памяти, которая названа этим именем, значение имени, номер оператора, в котором имя определяется, и номера операторов, в которых имя используется. Аналогичная информация выводится и для литералов.