![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Индексная и базовая адресации
Индексация и базовая адресация очень похожи. В самом общем случае исполнительный адрес операнда формируется в результате суммирования содержимого поля смещения команды с содержимым одного или двух регистров общего назначения. В поле «смещение» содержится константа, смысл которой в разных вариантах адресаций может меняться. Например, базовый адрес находится в регистре общего назначения процессора, а в поле «смещение» указывается смещение относительно этого адреса. В некоторых архитектурах предусмотрены специальные регистры, например базовый или индексный. Использование таких регистров предполагается по умолчанию, поэтому адресная часть команды содержит только поле «смещение». Если же составляющая адреса может располагаться в произвольном регистре общего назначения, то для указания конкретного регистра в код исполнительного адреса команды включается одно или два поля с номерами регистров общего назначения (например, поля Ri и Rk). В наиболее общем случае адресация со смещением подразумевает наличие двух адресов регистров и смещения. В рамках адресации со смещением имеется еще один вариант, при котором исполнительный адрес вычисляется не суммированием, а конкатенацией (присоединением) составляющих адреса. Здесь одна составляющая представляет собой старшую часть адреса, а вторая — младшую. Пример формирования исполнительного адреса приведен на рис. 15.6.
Рис. 15.6. Формирование исполнительного адреса в случае индексной или базовой адресации
Базовую регистровую адресацию обычно используют для доступа к элементам массива, положение которого в оперативной памяти в процессе вычислений может меняться. Например, в базовый регистр заносится начальный адрес массива, а адрес элемента массива указывается в поле «смещение» команды в виде смещения относительно начального адреса массива. Достоинство данного способа адресации в том, что смещение имеет меньшую длину, чем полный адрес, и это позволяет сократить длину поля кода адреса команды. Короткое смещение расширяется до полной длины адреса путем добавления слева разрядов, совпадающих со значением знакового разряда смещения. Возможен и другой вариант, когда в поле смещения указывается начальный адрес массива, а адрес элемента массива указывается в регистре общего назначения.
Date: 2015-10-18; view: 763; Нарушение авторских прав |