ЛР Форматы машинных команд (Методические материалы по курс.работе), страница 2
Описание файла
Файл "ЛР Форматы машинных команд" внутри архива находится в папке "Методические материалы по курс.работе". Документ из архива "Методические материалы по курс.работе", который расположен в категории "". Всё это находится в предмете "электронные вычислительные машины (эвм)" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "эксплуатация эвм" в общих файлах.
Онлайн просмотр документа "ЛР Форматы машинных команд"
Текст 2 страницы из документа "ЛР Форматы машинных команд"
R * R R
R * S R; S * R R; R * S S; S * R S
S * S S
а посылочные операции реализуют следующие передачи:
R R; R S; S R; S S
1 q1 q
КОП | R1 | R2 | q = 3 - 5 |
m = 10 - 20
1 q1 m
КОП | R1 | S2 |
1 m1 m
КОП | S1 | S2 |
Классификация машинных команд.
По характеру выполняемых операций различают следующие группы команд:
-
Команды арифметических операций для двоичных чисел.
-
Команды десятичной арифметики.
-
Команды логических операций.
-
Команды передачи кодов.
-
Команды операций ввода – вывода.
-
Команды передачи управления и др.
По количеству адресов в теле команды :
-
одноадресные
-
двухадресные
-
трехадресные
-
безадресные.
По способу адресации операндов:
-
С прямой адресацией
-
С косвенной адресацией
-
С абсолютной адресацией
-
С относительной адресацией.
Команды передачи управления.
Это команды, управляющие порядком выполнения команд.
При естественном порядке после выполнения очередной команды выполняется команда, расположенная в следующей по порядку ячейке памяти. Обычно адрес команд хранится в специальном регистре – счетчике команд (СчК), содержимое которого после выполнения каждой команды автоматически увеличивается на «1» , а если память имеет побайтовую адресацию, то на столько, сколько байт содержит текущая команда. (В этом случае приращение адреса команды составит lК ).
Естественный порядок выполнения команд может быть нарушен:
-
Командами перехода (передачи управления).
-
Командами замещения («Выполнение»).
-
Сменой состояния программ.
-
Запросами прерывания программы.
Рассмотрим подробнее команды перехода. Известны многочисленные варианты команд перехода, однако принцип состоит в том, что адресная часть команды перехода непосредственно или после суммирования с содержимым базового регистра передаются в счетчик команд, и, следовательно, после данной команды может быть выполнена команда из произвольной ячейки памяти, номер которой определяется адресной частью команды перехода.
Для упрощения изложения рассмотрим команды переходов без относительной адресации.
Различают два основных вида команд переходов:
-
команда безусловного перехода (БП)
-
команда условного перехода (УП)
-
Команда безусловного перехода совершает переход всегда, независимо от каких – либо условий.
БП А
При этом следующей за командой БП выполняется команда, адрес которой указан в адресной части команды БП.
РГДОП
ОП
РГ АОП
РГ К
БП А
СЧ К
При этом : СЧ К : = РГ К [A]
СЧ К : = РГ К [A]
РГ АОП : = СЧ К
РГ ДОП : = ОП[РГ АОП ]
РГ К : = РГ ДОП
-
Другим вариантом команды БП является переход по косвенному адресу (БПК).
БПК А
На косвенную адресацию указывает код операции команды. Управление передается команде, расположенной в ячейке, адрес которой указан в адресной части команды БПК. В этом случае выполняется следующая процедура:
РГ К
РГДОП
ОП
РГ АОП
БПК А
СЧ К
Р Г АОП : = РГ К [A]
РГ ДОП : = ОП [ РГ АОП ]
СЧ К : = РГ ДОП
РГ АОП : = СЧ К
РГ ДОП : = ОП [ РГ АОП ]
РГ К : = РГ ДОП
-
Третьим вариантом команды безусловного перехода является безусловный переход по смещению (БПС).
БПС В
В этом случае адрес следующей команды определяется как алгебраическая сумма текущего адреса команды БПС и смещения В, хранящегося в адресном поле команды БПС.
БПС В
РГ К
РГДОП
ОП
РГ АОП
СЧ К
СМ
СЧ К := СЧ К + РГ К[B]
РГ АОП : = СЧ К
РГ ДОП : = ОП[РГ АОП ]
РГ К : = РГ ДОП
-
И, наконец, рассмотрим команду безусловного перехода по косвенному регистровому адресу (БПКР):
БПКР В
В этом случае адрес следующей команды находится в регистре общего назначения, номер которого записан в адресном поле команды БПКР.
РГ К
РГДОП
ОП
РГ АОП
БПКР R
РОН
СЧ К
СЧ К := РОН [РГ К[R]]
РГ АОП : = СЧ К
РГ ДОП : = ОП [СЧ К]
РГ К : = РГ ДОП
-
Команда безусловного перехода при относительной адресации (БПО).
БПО В D
В этом случае адрес следующей команды определяется как сумма содержимого регистра базы (В) и смещения (D). При этом в адресной части команды указывают адрес регистра общего назначения, используемого в качестве базового регистра, и само смещение.
БПО В D
РГ К
РГДОП
ОП
РГ АОП
РОН
СЧ К
СМ
СЧ К := РОН [В] +D
РГ АОП : = СЧК
РГ ДОП : = ОП[РГ АОП]
РГ К : = РГ ДОП
-
В ряде ЭВМ используют команды безусловного перехода с относительной адресацией и индексированием (БПОИ).
БПОИ Х В D
При этом адрес перехода определяется как сумма содержимого регистров базы, индекса и смещения.
БПОИ Х В D
РГ К
РГДОП
ОП
РГ АОП
РОН
СЧ К
СМ
СЧ К := РОН [X] + РОН [В] +D
РГ АОП : = СЧ К
РГ ДОП : = ОП [РГ АОП]
РГ К : = РГ ДОП
-
В ЭВМ со стековой памятью часто используют команду перехода по стеку (БПСТ). В этом случае адрес следующей команды сливают из стека и одновременно указатель стека (УС) уменьшают на «1» . Команда БПСТ состоит только из кода операции.
СЧ К := СТЕК [УС]
РГ АОП : = СЧ К
РГ ДОП : = ОП[РГ АОП]
РГ К : = РГ ДОП
УС : = УС - 1
РГ К
РГДОП
ОП
РГ АОП
БПСТ
УС
-1
СЧ К
СТЕК
-
Команды безусловного перехода по укороченному адресу (БПУ). В этом случае в адресной части команды БПУ указывают только младшую часть адреса следующей команды.
БПУ АМЛ
Полный адрес следующей команды получается путем приформировывания к АМЛ старшей части (АCТ) адреса. При этом старшая часть адреса обычно состоит из одних нулей, а в ЭВМ со страничной организацией АСТ принимается равной номеру текущей страницы. При этом команда БПУ позволяет адресовать любую команду текущей страницы. Для перехода на другую страницу надо использовать команду безусловного перехода с полным адресом (БП)
РГ К
РГДОП
ОП
РГ АОП
БПУ АМЛ
СЧ К
РГNСТР
«0»
СЧ К : = РГNСТР * АМЛ
РГ АОП : = СЧ К
РГ ДОП : = ОП [РГ АОП]
РГ К : = РГ ДОП
При работе с нулевой страницей:
СЧ К := АМЛ
РГ АОП : = СЧ К
РГ ДОП : = ОП [РГ АОП]
РГ К : = РГ ДОП
Подобная организация выбора адреса следующей команды позволяет обращаться из любой страницы к нулевой странице, не изменяя содержимого регистра номера страниц (РГNСТР). Для этого в старшую часть адреса необходимо занести «0». Это реализуется аппаратным методом – путем установки между РГNСТР и СЧ К и выполняется
СЧ К
&
АМЛ
РГNСТР
с помощью специальной команды безусловного перехода с укороченной адресной частью (БПУО):
БПУО АМЛ
При этом содержимое регистра номера страниц РГNСТР сохраняется неизменным, а содержимое счетчика команд СчК будет соответствовать адресам нулевой страницы. Таким образом, все дальнейшие команды будут выбираться из нулевой страницы, а для возвращения на предыдущую страницу достаточно воспользоваться командой безусловного перехода с укороченной частью (БПУ).
Команды условного перехода.
При условном переходе адрес следующей команды зависит от выполнения некоторого условия. Обычно, если условие выполняется, то происходит переход к команде по адресу, указанному в адресной части команды условного перехода (УП).
УП А
В противном случае выбирается следующая по порядку команда, адрес которой определяется содержимым счетчика команд, увеличенным на приращение адреса команды lК. Так же, как и в команде безусловного перехода могут использовать те же способы адресации. Условия перехода (результат предыдущей операции >0, <0, =0, переполнение и т.д.) задаются кодом операции УП или в виде отдельного поля кода маски условия М в команде УП.
УП М А
В последнем случае следующая команда определяется по алгоритму:
1 0
СЧ К : = РГК[A]
СЧ К := СЧ К +lK
Здесь УC[М] - логическая функция (условие), заданное маской М.
Если же условие перехода задается кодом операции, то алгоритм примет вид:
1 0
СЧ К : = РГК[A]
СЧ К := СЧ К +lK
Так, например, в больших ЭВМ используется 4-х разрядная маска условия, каждый разряд маски управляет своим признаком. Это позволяет задавать в качестве условия перехода выполнение одного из четырех признаков результата (если в маске одна единица), либо дизъюнкция признаков (если в маске несколько единиц).
Результат операции | Код признака | Условное обозначение | Маска условия ЕС ЭВМ |
=0 <0 >0 переполнение | 00 01 10 11 | ПР0 ПР1 ПР2 ПР3 | 1000 0100 0010 0001 |
При этом при М=1111 команда УП выполняется как безусловный переход, а при М=0000 (пустая команда) действует естественный порядок выборки команд. Таким образом, в ЭВМ исключается необходимость в отдельной команде БП.