Система команд микропроцессора Кр580ИК80А

Информация в микропроцессоре представлена в виде 8-разрядных (однобайтовых) кодов (рис. 1.2). Для идентификации отдельных разрядов в байте они нумеруются от DO до D7 и считаются расположенными справа налево. При этом нулевой бит DO соответствует младшему разряду, а D7 - старшему разряду. Однобайтовый код может рассматриваться либо как положительное целое число с диапазоном значений от 0 до 255, либо как целое число со знаком в дополнительном коде с диапазоном значений от -128 до + 127. Для целых чисел можно использовать двухбайтное и многобайтное представления.

 
 

Рис. 1.2.

Форматы команд (рис. 1.2, а – в) могут быть одно-, двух- или трехбайтными. Многобайтная команда должна размещаться в последовательно расположенных ячейках памяти, а в первом байте команды B1 всегда указывается код операции (КОП).

Для управления процессом выполнения программы используется слово-состояние программы (рис. 1.2, г). Старший байт слова-состояния представляет содержимое аккумулятора, а младший - флаги условий регистра признаков, определяемые по результатам выполнения арифметических и логических операций.

Каждый флаг устанавливается при определенных условиях:

флаг знака S, если знаковый бит результата операции равен 1, иначе сбрасывается;

флаг нуля Z, если результат операции равен 0, в противном случае сбрасывается;

флаг дополнительного переноса АС при наличии переноса из третьего разряда, иначе сбрасывается;

флаг четности Р, если результат содержит четное число единиц, иначе сбрасывается;

флаг переноса СY при наличии переноса (при сложении) или заема (при вычитании) из старшего разряда результата, иначе сбрасывается.

В микропроцессоре применяются пять способов адресации данных:

прямая - адрес М ячейки памяти, где расположен операнд, указывается во втором (младшая часть адреса) и в третьем (старшая часть адреса) байтах команды;

регистровая - в команде задается адрес оперативного регистра или пары регистров, где находится, соответственно, 8- или 16-битовый операнд;

регистровая косвенная - адрес М ячейки памяти, где расположен операнд, определяется содержимым парного регистра, явно или неявно указанного в команде; при этом старший байт адреса находится в первом регистре пары, а младший - во втором;

непосредственная - операнд содержится в команде: для двухбайтовых команд - во втором байте, для трехбайтовых - во втором (младшая часть операнда) и в третьем (старшая часть операнда) байтах команды;

стековая - адрес ячейки памяти, содержащей операнд, находится в указателе стека.

Специфический способ адресации памяти используется в однобайтовой команде RST, применяемой при обработке прерывания для вызова одной из восьми подпрограмм обслуживания прерываний. Команды RST различаются по номеру N, задаваемому в трехбайтовом поле кода команды. В результате выполнения команды RSTN управление передается по адресу, определяемому восьмикратным увеличением N.

По функциональному признаку команды микропроцессора делятся на пять групп: команды передачи данных из регистра в регистр или память и из памяти в регистр; арифметические команды (сложения, вычитания, инкремента и декремента), логические команды: (И, ИЛИ, исключающее ИЛИ, сравнение, сдвиг, инвертирование), команды передачи управления и обработки подпрограмм; команды ввода/вывода и управления состоянием процессора.

Система команд МП содержит 78 команд, включающих 111 операций, она описана во второй главе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: