Cтраница 3
Память обычно имеет абсолютные адреса, начинающиеся с нуля, и объем ее кратен 2048 байтам. При попытке обращения к основной памяти по абсолютному адресу, которому не соответствует никакая физическая ячейка, распознается особый случай. Обычно это происходит только тогда, когда информация, связанная с абсолютным адресом, действительно требуется для выполнения операции. Если операция может завершиться без использования этой информации, то особый случай не распознается. [31]
Изменяется относительный или абсолютный адрес данных п) Вводятся или модифицируются методы сжатия ( гл. [32]
Переменная-слово, содержащее абсолютный адрес последнего используемого байга на участке строковых данных. [33]
Очевидно, ввод абсолютных адресов и ввод данных связаны не так сильно, как это могло бы показаться. Эти операции имеют совершенно различные цели. При всех видах адресации, описанных выше и рассматриваемых в разд. Дополнительное применение клавиатуры для ввода данных связано с совершенно иной процедурой ввода. Кроме того, формат данных не похож на форматы адресов, которые очень близки для всех типов адресации. И наконец, для адресации не предусмотрена защита: оператор не должен чувствовать неуверенности при быстром использовании адресной клавиатуры. [34]
В результате формирования абсолютного адреса истинные адреса 0 - 4095 заменяются 4096 адресами блока, который на чинается с адреса, указанного в регистре префикса. Все другие истинные адреса остаются неизменными. [35]
![]() |
Соотношение между реальными и абсолютными адресами. [36] |
В результате вычисления абсолютного адреса реальные адреса со значениями от 0 до 4095 заменяются 4096 значениями адресов блока, который начинается по адресу, указанному в регистре префикса. Все другие реальные адреса остаются неизменными. [37]
Так как использование абсолютного адреса команды, послужившей причиной ошибки, затруднительно, программист пользуется средством перевода этого адреса в номер оператора, преобразованного транслятором в эту команду. [38]
![]() |
Схема загрузки программ в модуль памяти. [39] |
При загрузке по абсолютным адресам или при загрузке с выравниванием на начало слова возникают неиспользуемые участки памяти. В целях равномерной загрузки разрядов памяти такие резервные участки заполняют ( засеивают) информацией, организованной по логике, зависящей либо от технологии изготовления прошитой памяти, либо от особенностей функционирования специализированной ЭВМ. [40]
Эти слова должны содержать абсолютные адреса соответствующих байтов. Таким образом, программа, имеющая подпрограммы, теряет переместимость: записать значения адресных констант в свободном массиве основной памяти можно только после того, как программа отнесена к конкретному адресу основной памяти. [41]
Итак, теперь определены абсолютные адреса для всех имен, использованных в каждом из модулей ( адрес каждого внутреннего имени М равен ан Ам, где ан - начало в памяти данного модуля, а Ам - относительный номер строки в модуле, которой дано имя М), так что в итоге получаем следующие таблицы соответствия между именами объектов и их абсолютными адресами. [42]
![]() |
Файл двусвязного списка в основной памяти. [43] |
Справа на рисунке даны абсолютные адреса ячеек в десятичной форме вместе с их символическими именами. [44]
Параметрами программ могут быть только абсолютные адреса. На ЯСК абсолютные адреса могут быть заданы, например, с помощью оператора КА. [45]