Cтраница 1
Загрузочный адрес получается путем прибавления к нему адреса, по которому будет загружена первая, строка программы; это так называемая константа перемещения. Как правило, константа перемещения равна О 1000, но, во всяком случае, вы теперь прекрасно справитесь с написанием программы, которая печатает собственный начальный адрес. [1]
Начальный загрузочный адрес программы можно также задать явно, установке требуемое значение счетчика адресов оператором прямого присваивания. [2]
Настройщик системы ориентирует скомпонованную программу на загрузочный адрес, после чего программа становятся готовой к загрузке и выполнению. Отладчик обеспечивает управление выполнением программ. [3]
Из этого листинга следует, что ячейка 0 является начальным адресом. В адресной колонке, однако, записывается не фактический адрес, по которому происходит загрузка команд, а адрес, отсчитываемый относительно начального адреса. Поэтому начальный адрес соответствует нулевому относительному адресу. Определение загрузочных адресов не входит в функцию ассемблера. [4]
Это название может показаться странным, так как мы видели в последнем примере, что код зависит от положения команды в программе. Однако он не зависит от того, с какого места программа будет загружена в память; как было замечено, разность между двумя адресами в программе не меняется при перемещении всей программы. Эти программы одновременно принадлежат многим пользователям; неразумно было бы жонглировать областями памяти каждого пользователя, с тем чтобы давать таким программам всякий раз один и тот же загрузочный адрес, либо размещать позиционно-зависимый код по разным загрузочным адресам. Аналогичные рассуждения применимы в любой системе к программе, которая загружается после пользовательских программ переменной длины; к числу таких программ принадлежат программы отладки. [5]
Это название может показаться странным, так как мы видели в последнем примере, что код зависит от положения команды в программе. Однако он не зависит от того, с какого места программа будет загружена в память; как было замечено, разность между двумя адресами в программе не меняется при перемещении всей программы. Эти программы одновременно принадлежат многим пользователям; неразумно было бы жонглировать областями памяти каждого пользователя, с тем чтобы давать таким программам всякий раз один и тот же загрузочный адрес, либо размещать позиционно-зависимый код по разным загрузочным адресам. Аналогичные рассуждения применимы в любой системе к программе, которая загружается после пользовательских программ переменной длины; к числу таких программ принадлежат программы отладки. [6]