23уу21у12у1. АрхВМ_дополнительно (pdf.io). Лекции п
Скачать 0.84 Mb.
|
Непрямые способы адресации: 1. Базирование (относительная адресация). Процедура формирования исполнительного адреса: Аисп = Абаза + <смещение>. Для реализации этого способа в ЭВМ выделяются специальные ячейки, которые выполняют функции базовых регистров. В общем случае в ЭВМ может быть несколько базовых регистров. Тогда адресные код включает в себя два поля:
В – адрес регистра базирования Disp – смещение. В общем случае исполнительный адрес формируется соотношением: (B)+Disp Аисп = Disp Смещение, которое задается, может быть длины адреса, но может быть и короче. С точки зрения длины команды короткое смещение предпочтительнее. Базирование, как способ адресации требует наличие сумматора в адресном устройстве. Вследствие чего очень часто в адресных механизмах операцию суммирования сводят к операции конкатенации (присоединительная адресация). Правда в этом случае как правило накладываются определенные ограничения на регистры базирования. Связано это с тем, что базовый разряд определяет только старшие разряды исполнительного адреса, младшие разряды всегда равны нулю. Аисп = (B).Disp Время вычисления адреса значительно улучшается. Любая схема базирования обеспечивает перемещение программ по памяти ЭВМ. Для ее исполнения в области памяти необходимо только установить базовый адрес. Относительная адресация облегчает задачу программирования различными программистами. В простейшем случае в компьютере регистр базирования единственен, следовательно, в адресном коде отсутствует адресация. На каждом шаге выполнения программы, как минимум необходимо два регистра базирования. Один для задания базового адреса программы, второй для базирования массивов данных. Минимальное число регистров базирования один, но реально нужно четыре-восемь. 2. |