Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структура и форматы команд МП кр580вм80

Поиск

Система команд МП серии КР580ВМ80 содержит команды трех форматов: однобайтные, двухбайтные и трехбайтные.

Содержимое первого байта указывает на формат команды, код операции, вид адресации и регистры или регистровые пары, если они участвуют в выполнении операции. При этом невозможно указать конкретные разряды, которые отводятся под первые три из указанных составляющих команды, потому что они могут находиться в любых разрядах команды. Но, несмотря на это, будем считать что они кодируются как одно поле, которое называется полем кода операции. Варианты форматов первого байта команды приведены на рисунке 9.

Если в выполнении операции участвуют регистры, то один или два из них могут быть указаны в первом байте команды. При этом под номера регистров в поле команды отводятся вполне определенные разряды: три младших разряда (b2 - b0) кодируют номер регистра источника, содержащего операнд, а три средних (b5 - b3) - номер регистра-приемника, в который засылается результат операции. В тех случаях, когда оба или один из этих регистров не участвуют в выполнении операции, соответствующие разряды используются под код операции.

Принято следующее кодирование регистров:

000 - регистр В, 100 - регистр Н,

001 - регистр С, 101 - регистр L,

010 - регистр D, 110 - ячейка памяти,

011 - регистр Е, 111 - аккумулятор А.

Код 100 является признаком косвенной адресации к памяти с помощью 16-разрядного адреса, размещенного в регистрах Н и L. В зависимости от расположения этого кода в команде, обращение к соответствующей ячейке памяти производится или за операндом, или для записи результатов операции.

Ряд команд МП предусматривает обработку или передачу чисел двойной длины. В этих случаях пары регистров В и С, D и Е или Н и L объединяются в 16-разрядные регистры, имеющие номера 00, 01 и 10 соответственно. Под номера регистровых пар в командах отводятся разряды b2 и b1 (регистр-источник), b5 и b4 (регистр-приемник), а разряды b0 и b3 используются для указания кода операции.

К двухбайтным командам в МП относятся команды с непосредственной адресацией и команды ввода-вывода. Соответственно второй байт команды этой группы содержит 8-разрядный операнд или 8-разрядный адрес устройства ввода или вывода.

В трехбайтных командах второй и третий байты содержат 16-разрядные адреса (в командах с прямой адресацией) или 16-разрядные операнды (в командах загрузки регистровых пар и указателя стека).

После выполнения каждой операции а АЛУ вырабатывается пять признаков, значения которых могут влиять на выполнение последующих команд обработки информации и условной передачи управления. Однако следует иметь ввиду, что различные команды по-разному влияют на отдельные признаки.

Для удобства сохранения и восстановления состояния МП во время прерываний и перехода к подпрограммам все указанные признаки сохраняются в специальном регистре - регистре признаков. Расположение признаков в разрядах регистра приведено в таблице.

где S - признак “знака” (принимает значение старшего разряда

результата);

Z - признак нулевого результата;

АС -признак вспомогательного переноса (если есть перенос

между тетрадами байта, то АС=1, иначе АС=0;

Р - признак четности результата (если число единиц в байте

результата четно, то Р=1, иначе Р=0);

С - признак переноса или заема (если при выполнении коман-

ды возник перенос из старшего разряда или заем в стар-

ший разряд то С=1, иначе С=0).

Примечание: Для команд логического умножения признак вспомогательного переноса АС принимает значение четвертого разряда результата.

Полностью система команд МП серии КР580ВМ80 приведена в приложении учебного пособия "Микропроцессоры и микропроцессорные системы". Там же для каждой команды указывается как, после ее выполнения, изменяется значение каждого признака: устанавливается в соответствии с результатом операции (+), не изменяется (-), сбрасывается в нуль (0) или устанавливается в единицу (1).

В общем случае команда должна содержать следующую информацию:

-код операции, указывающий операцию, которую должен выполнить МП;

-адреса двух операндов (слагаемых, вычитаемых и т.д.). Если какой- либо из операндов является константой, то вместо его адреса в команде может быть задано значение самого операнда. Однако это обстоятельство должно быть отобржено в коде операции, что бы МП использовал соответствующую часть команды с указанным ее назначения;

-адрес ячейки памяти в которую должен быть помещен результат операции;

-адрес следующей команды.

Т.е. команда в общем случае является четырехадресная. Однако, такая структура команд приводит к более длинному формату команд, что, в свою очередь, сопряжено с более сложным процессом их обработки и структурой процессора. Поэтому, в МП технике наибольшее распространение получили безадресные и одноадресные команды, позволяющие построить простой процессор. Однако, при выполнении сложных операций находят применение различные форматы команд.

В системе команд МП серии 580 имеются однобайтные, двухбайтные и трехбайтные команды.

Информация о способе адресации выполняемой команды содержится в коде операции первого байта команды.

Для ускорения вычислений некоторые операнды хранятся в блоке РОН. Команды, работающие с этими операндами, используют укороченные адресные коды (регистровую адресацию).

Эти команды позволяют исключить сравнительно длинный цикл обращения к ОЗУ и тем самым существенно повысить скорость выполнения операций. В связи с ограниченной разрядностью РОН и при работе с большим массивом данных, используются другие методы адресации, которые позволяют обращаться к операндам, расположенным во внешней по отношению к МП памяти. Наиболее распространенной является косвенная регистровая адресация, которая использует регистровую пару HL.



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 117; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.55.63 (0.008 с.)