Cтраница 2
Q, три шестиразрядиых коротких адреса - Л, ( адрес 1-го операнда), - 42 ( адрес 2-го операнда) Л3 ( адрес результата), отнесенные к сверхбыстродействующему ОЗУ емкостью в 03 числа; три признака модификации - , / 2, с / з, указывающие один из трех регистров модификации; признак структуры команды - ИСК; двухразрядиый код у, определяющий условия реализации команды, и трехразрядный контрольный код КК. Если выполняются взаимосвязанные операции, то в команде предусматривается блокировка обращения к ЗУ машины с неявной адресацией регистра результата PP. [16]
![]() |
Пример стандартного ( а и специального ( б форматов команды INC r. [17] |
Следует отметить, что постбайтовая адресация является весьма универсальной и позволяет адресовать как общие регистры, так и ячейки памяти с указанием любого варианта вычисления эффективного адреса ЕА. Однако при адресации только регистров или аккумулятора постбайт оказывается излишним, если трехбитовое поле reg разместить в первом байте команды или использовать неявную адресацию. Эта возможность реализуется в специальных ( укороченных) форматах, которые содержат минимально необходимое число байтов. Специальные форматы предусмотрены для команд, выполняющих следующие часто используемые операции: включение содержимого регистра в стек, извлечение из стека в регистр, передача непосредственных данных в регистр, инкремент и декремент содержимого регистра, обмен содержимым аккумулятора АХ и регистра, пересылка между аккумулятором и ячейкой памяти с прямой адресацией, вычитание с участием содержимого аккумулятора и непосредственного операнда. В качестве примера на рис. 2.4 приведены стандартный и специальный форматы команды INC г. Программа-ассемблер выбирает более короткий формат команды автоматически. [18]
Как уже было отмечено, в машинных командах на языке АССЕМБЛЕР использована символическая запись кода операции и операндов. Для указания операндов в команде используются номера регистров и две формы записи адресованной памяти, называемые неявной и явной адресацией. Неявная адресация - это символическое имя области основной памяти, отведенной программистом под данные. [19]
Для указания операнда в программно доступных регистрах используются регистровая и неявная регистровая адресации. При регистровой адресации номер 8 - или 16-разрядного регистра, содержащего операнд, указывается в поле REG кода команды. При регистровой неявной адресации номер регистра определяется неявно самим кодом команды. [20]
В наборах команд для микро - ЭВМ имеются такие, в которых неявно подразумевается, что или один из операндов находится в аккумуляторе, или же аккумулятор является местом назначения для операнда. Типичными командами с неявной адресацией, предусматривающими использование аккумулятора, являются команды загрузки, записи в память, циклического сдвига, сдвига и команды ввода / вывода. Так как источник и / или место назначения операнда подразумеваются неявно, длина команды в байтах короче, чем при других способах адресации. [21]
Набор доступных программисту регистров ЦП ВЕ48 представлен на рис. 4.3. В состав набора входит 8-разрядный аккумулятор А, который выполняет свои обычные функции промежуточного хранения данных. При выполнении ряда операций А является как источником операнда, так и приемником результата операции. Ориентация на аккумулятор, который подразумевает неявную адресацию в большинстве команд различного типа, позволила существенно сократить длину программ и, следовательно, более экономно использовать объем управляющей памяти МС. [22]
Описанный формат представлен на рис. 6.1. Но такой формат имеет существенный недостаток - он избыточен. Поэтому в реальных процессорах фактически в команде ( Присутствует меньше адресов, хотя функционально их остается почпрежнему четыре. Количество фактических адресов удается уменьшить за счет использования неявной адресации или адресации по умолчанию. Длина команды в большинстве современных процессоров число переменное и зависит от типа команды. [23]
![]() |
Трехадресная структура.| Четырехадресная структура. [24] |
Q; три шестиразрядных коротких адреса - А ( адрес 1-го операнда), А2 ( адрес 2-го операнда) Л, ( адрес результата), отнесенные к сверхбыстродействующему ОЗУ емкостью в 63 числа; три признака модификации - а, а2, а3, указывающие один из трех регистров модификации; признак структуры команды - ПСК; двухразрядный код у, определяющий условия реализации команды, и трехразрядный контрольный код КК. При необходимости обращения к большому ОЗУ машины адреса At, A2 воспринимаются в виде единого адреса А - Аг. Если выполняются взаимосвязанные операции, то в команде предусматривается блокировка обращения к ЗУ машины с неявной адресацией регистра результата PP. [25]
Одноадресная структура предусматривает в адресной части лишь один адрес, к-рый означает, в зависимости от кода операции или спец. Она удобно вписывается в разрядную сетку машины, позволяет существенно расширить логич. ЗУ больших объемов ( оказывается возможным вводить в команду большое число всномогат. Уменьшение количества адресов в команде повышает роль неявной адресации - адресации отдельных регистров ( напр. [26]
Одноадресная структура предусматривает в адресной части лишь один адрес, к-рый означает, в зависимости от кода операции или спец. Она удобно вписывается в разрядную сетку машины, позволяет существенно расширить логич. ЗУ больших объемов ( оказывается возможным вводить в команду большое число вспомогат. Уменьшение количества адресов в команде повышает роль неявной адресации - адресации отдельных регистров ( напр. [27]
С помощью команды RTS ( Return from Subroutine) последний адрес возврата переписывается из стека в программный счетчик, и содержимое указателя стека увеличивается на два. Таким образом, адреса возврата обрабатываются, как это и требуется, в порядке, обратном их поступлению. Для этого служат команды PSH А и PSH В с неявной адресацией, которые осуществляют запоминание содержимого регистров А и В в той ячейке, адрес которой задает указатель стека. [28]
Ее работа начинается с формирования команды обмена, которое производится в два приема. Полученная таким образом программа канала, состоящая из единственной команды, выполняется по ЕХСР. Для ожидания конца обмена вслед за ЕХСР выдается макрокоманда WAIT. Вместо того чтобы в явном виде задать адрес блока управления вводом-выводом, здесь используется неявная адресация. Дело в том, что после выполнения макрокоманды ЕХСР в 1 - м регистре общего назначения находится адрес блока ССВ. [29]
![]() |
Команда пересылки содержимого регистра А в регистр В, в которой использована неявная адресация. Код операции равен 01, адрес регистра А 111, адрес регистра В 000. [30] |