Cтраница 1
Смещение проблемной программы относительно начального адреса основной памяти называется коэффициентом перемещения. [1]
По такой программе транслятор изготовит объектный модуль с именем ипс, настроенный относительно начального адреса анс. Если начальный адрес ( анс) в операторе START опущен, то модуль настраивается относительно нулевого адреса. В ДОС ЕС обычно в качестве анс задают начальный адрес соответствующего раздела, в котором программа будет выполняться. В этом случае адреса команд печатного документа будут совпадать с истинным размещением программы в памяти, что упрощает процедуру локализации ошибки. [2]
Объектный модуль не может быть исполнен до тех пор, пока программные секции в нем не будут увязаны. Остальные программные секции получают адреса относительно начального адреса. Адреса первых байтов объединяемых программных секций при этом выравниваются по границе двойного слова. Одновременно с объединением текстов программных секций объединяются справочники внешних имен и справочники перемещений, разрешая все межсекционные ссылки, представленные адресными константами. Процедура размещения ссылок сводится к вычислению значений адресных констант этих ссылок с учетом перемещений программных секций внутри собираемого загрузочного модуля. [3]
Объектный модуль не может быть исполнен до тех пор, пока программные секции в нем не будут увязаны. Остальные программные секции получают адреса относительно начального адреса. Адреса первых байтов объединяемых программных секций при этом выравниваются по границе двойного слова. Одновременно с объединением текстов программных секций объединяются справочники внешних имен и справочники перемещений, разрешая все межсекционные ссылки, представленные адресными константами. Процедура размещения ссылок сводится к вычислению значений адресных констант этих ссылок с учетом перемещений программных секций внутри собираемого загрузочного модуля. Если при этом были обнаружены ссылки к внешним именам, которых не оказалось в справочниках, редактор организует их поиск в библиотеках. Если никаких указаний относительно структуры загрузочного модуля редактору не сообщается, то он формирует загрузочный модуль простой структуры, загружаемый целиком для исполнения в оперативную память. [4]
Объектный модуль не может быть исполнен до тех пор, пока программные секции в нем не будут увязаны. Остальные программные секции получают адреса относительно начального адреса. Адреса первых байтов объединяемых программных секций при этом выравниваются по границе двойного слова. Одновременно с объединением текстов программных секций объединяются справочники внешних имен и справочники перемещений, разрешая все межсекционные ссылки, представленные адресными константами. Процедура размещения ссылок сводится к вычислению значений адресных констант этих ссылок с учетом перемещений программных секций внутри собираемого загрузочного модуля. [5]
Записи отображаются в память вычислительной машины простым объединением отображений их компонент. Адрес компоненты ( поля) п относительно начального адреса записи г называется смещением. [6]
Из этого листинга следует, что ячейка 0 является начальным адресом. В адресной колонке, однако, записывается не фактический адрес, по которому происходит загрузка команд, а адрес, отсчитываемый относительно начального адреса. Поэтому начальный адрес соответствует нулевому относительному адресу. Определение загрузочных адресов не входит в функцию ассемблера. [7]
Наиболее просто осуществляется преобразование координат для 256-цветного режима 320x300, который имеется в адаптерах MCGA и VGA. Здесь каждый байт содержит значение одного пиксела и пользоваться маской не нужно. По-прежнему в регистре АХ находится координата у, в регистре ВХ координата х, а смещение байта со значением пиксела относительно начального адреса выводимой части видеобуфера возвращается в регистре ВХ. [8]
Если базисный регистр не указан, то используется базисный регистр процедур. Для этого в ячейке, в которой хранится информация, выбранная по первому обобщенному адресу, достаточно выделить разряд для признака косвенной адресации, и тогда содержимое этой ячейки будет воспринято как следующий обобщенный адрес. Сегмент, содержащий признаки косвенной адресации, будет сегментом второго типа. Выбор информации по обобщенному адресу осуществляется схемно. Для этого в каждом процессе имеется сегмент основных кодовых слов, в котором в порядке возрастания номеров сегментов указана вся необходимая для работы информация и, в частности, даны начальные адреса. Для схемного поиска этого сегмента в УУ процессора выделяется базисный регистр основных кодовых слов, на котором находятся начальные адреса сегментов. С началом работы каждого нового процесса в вычислительном процессоре при мультипрограммной работе на этот базисный регистр заносится адрес сегмента основных кодовых слов процесса. В сущности начальный адрес сегмента основных кодовых слов является единственным адресом, связанным с конкретной ячейкой ОЗУ. Адреса остальных сегментов указываются в сегменте основных кодовых слов относительно начального адреса этого сегмента. [9]