Cтраница 2
В режиме LIST транслятор с Базисного ФОРТРАНа печатает - также таблицы распределения памяти как при успешной компиляции, так и в тех случаях, когда компиляция производится при наличии ошибок. Таблица распределения памяти при успешной компиляции состоит из пар символ, адрес, относящихся к простым переменным, за которыми следуют такие же пары для массивов. Далее в таблице помещается перечень вызываемых подпрограмм и таблица пар метка, адрес. В конце таблицы указываются объем общей области, объем и адрес загрузки программы. При компиляции с ошибками таблица распределения памяти открывается перечнем неопознанных меток, далее следуют пары символ, адрес для имен, которые удалось разместить в памяти. Кончается таблица сообщением о прекращении трансляции. [16]
Цель первого просмотра состоит в присвоении адресов каждому сегменту и последующем определении значений внешних символов. Поскольку мы стремимся к минимизации общего объема памяти, необходимой для размещения всей программы, будем приписывать каждому сегменту следующий свободный адрес, не занятый предыдущим сегментом. Загрузчик должен иметь информацию относительно того, куда может быть загружен первый сегмент. Этот адрес, исходный адрес загрузки программы ( IPLA), обычно определяется операционной системой. В некоторых системах этот адрес может быть задан программистом. В любом случае предполагается, что параметр IPLA тем или иным способом передается загрузчику. [17]