МИРЭА кафедра МОВС


Способы адресации
По сравнению со стандартной моделью в УУМ/ДС реализованы два новых способа относительной адресации, для которых используются командный формат 3. Их суть описывается следующей таблицей: Способ Признаки Вычисление адресации адресации целевого адреса Относительно b = l TA = (B) + disp (0 <= disp>=4095) базы p = 0 Относительно b = 0 TA = (PC) + disp (-2048 <= disp >= 2047) счетчика р = 1 команд

Для способа адресации относительно базы поле смещения в командном формате 3 интерпретируется как 12-разрядное целое без знака. Для способа адресации относительно счетчика команд это поле интерпретируется как 12-разрядное целое со знаком, причем отрицательные величины представляются в дополнительном коде. Если в командном формате 3 разряды b и р одновременно установлены в О, то в качестве целевого адреса используется значение поля disp. Для командного формата 4 разряды b и p должны оба равняться нулю, а целевой адрес берется из поля адреса команды. Мы будем называть такой способ прямой адресацией в отличие от относительной адресации, описанной выше. Каждый из этих способов адресации может сочетаться с индексированием адреса. Признаком индексирования является значение разряда х, равное 1 , и в этом случае выражение для вычисления целевого адреса содержит дополнительное слагаемое (Х). Заметим, что стандартная модель УУМ использует только прямую адресацию (с индексированием или без него). Разряды i и n в форматах 3 и 4 определяют способ использования целевого адреса. Если i = 1, а n = 0, то собственно значение целевого адреса используется в качестве операнда без выполнения каких-либо дополнительных ссылок в оперативную память. Такой способ задания операнда называется непосредственной адресацией. Если i = 0, а n = 1, то содержимое слова по целевому адресу используется в качестве адреса операнда. Такой способ называется косвенной адресацией. Если разряды i и n оба равны 0 или 1, то целевой адрес задает местонахождение операнда. Мы будем называть такой способ простой адресацией. При использовании непосредственной и косвенной адресации использование индексирования невозможно. Многие авторы используют термин исполнительный адрес (effective address) для обозначения того, что мы назвали целевым адресом команды. Однако имеется определенное противоречие, когда термин "исполнительный адрес" употребляется для команд, использующих косвенную адресацию. Для того чтобы избежать путаницы, мы в данной пособии используем термин "целевой адрес". Команды УУМ/ДС, в которых не используется непосредственная или косвенная адресации, переводятся ассемблером в машинные коды, имеющие в разрядах i и n значение 1.Ассемблер стандартной модели УУМ устанавливает в этих разрядах нулевые значения (так как 8-разрядный код операций всех команд стандартной модели заканчивается кодом 00). В УУМ/ДС предусмотрены специальные аппаратные средства для обеспечения упомянутой ранее совместимости "снизу вверх". Если оба разряда i и n имеют нулевое значение, то разряды b, р, е рассматриваются как часть поля адреса (а не как признаки способа адресации). Таким образом, командный формат 3 становится идентичным командному формату, который используется в стандартной модели УУМ, что и обеспечивает требуемую совместимость. На рисунке1.1а Примеры команд и способов адресации УУМ/ДС приведены примеры различных способов адресации, которые обеспечиваются УУМ/ДС. На рисунке1.1б Примеры команд и способов адресации УУМ/ДС показано содержимое регистров В,PC и X, а также некоторых специально подобранных ячеек оперативной памяти. Значения приведены в шестнадцатеричном виде. Машинный код команды загрузки сумматора, ее целевой адрес и загружаемое значения.Вам следует тщательно изучить эти примеры и убедиться в том, что вы правильно понимаете различные способы адресации.