Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_lektsy_po_MP.docx
Скачиваний:
40
Добавлен:
10.04.2015
Размер:
2.54 Mб
Скачать

6.2. Простой состав команд

Введем состав команд, относящихся к типовому микропроцессору, приведенному на рис. 5.6.

Мнемоника и КОП, которые будут использованы, представляют собой подсостав команд микропроцессоров

Intel 8080/8085. На рис. 6.1 в сокращенном варианте приведены регистры типового МП, предоставляемые

программисту. Вверху справа мы видим универсальный 8-разрядный регистр-аккумулятор А, а слева

показан 8-разрядный регистр состояния. В составе этого регистра индикатор переноса CY находится в

позиции 7, а индикатор нуля Z — в позиции 0. Позиции бит от первого до шестого регистра состояния в

типовом МП не используются, но в выпускаемых МП индикаторов больше, чем здесь. Во второй строке на

рис. 6.1 расположены регистры H и L. Это универсальные регистры адреса/данных. Они могут

использоваться раздельно или в форме пары регистров (мы говорим тогда о паре регистров HL). В

последнем случае они используются как указатель адреса.

Рис. 6.1 Программно-доступные регистры типового МП

Снизу на рис. 6.1 находятся два специальных 16-разрядных регистра. Счетчик команд PC (Program

Counter- программный счетчик) указывает МП следующую для выполнения команду. Указатель стекаSP

(Stack Pointer) содержит адрес вершины стека. Сам стек находится в ОЗУ.

Состав команд такого типового микропроцессора разделен на семь категорий: арифметические;

логические; передачи данных; ветвления; вызова подпрограмм; возврата из подпрограмм; прочие.

Типовой микропроцессор в состоянии выполнить только 67 различных команд из 239, которые

входят в состав МП Intel 8085.

6.3. Состав команд арифметических действий

Первыми рассмотрим команды арифметических действий. Они сведены в табл. 6.3 и содержат

команды сложить, вычесть, инкрементировать, декрементировать, сравнить. Заметим по данным табл. 4.3,

что существуют четыре команды сложения. Аккумулятор (регистр А) содержит одно из слагаемых. Каждая

команда точно оговаривает различные источники другого слагаемого.

Рассмотрим первую из команд сложения в табл. 6.3. Команда сложить непосредственно является

двухбайтовой. Ее формат КОП (в этом случае С6Н) содержится в первом байте команды, непосредственно

за ним — во втором байте — находятся данные для сложения с содержимым аккумулятора. Команда ADI

выполняется по схеме, приведенной на рис. 6.2, а. Данные, находящиеся в памяти непосредственно за КОП,

складываются с содержимым аккумулятора (0000 11112). Сумма (0001 11112) помещается в аккумулятор.

Табл. 6.3 Состав команд арифметических операций типового микропроцессора

Второй является команда сложить содержимое регистров L иА (мнемоника ADDL), на рис. 6.2,б

показано ее выполнение. Содержимое аккумулятора (0000 10002) складывается с содержимым регистра L

(0000 00012), получающаяся в результате выполнения команды ADD L сумма (0000 10012) помещается в

аккумулятор.

Рис. 6.2 Выполнение МП операций сложения

Третья команда в табл. 6.3 представляет собой однобайтовую команду сложить содержимое

регистров H и A (мнемоника ADD H). Это другая команда сложения содержимого одного регистра с

содержимым другого (как и предшествующая), и она выполняется в последовательности, приведенной на

рис. 6.2, в. Содержимое регистраА (0010 11002) сложено с содержимым регистра H (0001 00112), сумма

(ООП 11112) помещена в аккумулятор.

Четвертая строка таблицы представляет собой однобайтовую команду сложить с косвенным

регистром (мнемоника ADD M). Адрес данного слагаемого числа задан в более сложной форме с

использованием способа косвенной регистровой адресации. Рисунок 6.2, г является примером выполнения

команды ADD M. ПараHL указывает 16-разрядный адрес памяти, т.е. LOC (Location - место расположения).

Содержимое LOC (0000 00112) сложено с содержимым аккумулятора (0110 00002), сумма (0110 00112)

помещена в аккумулятор. Команды косвенного сложения используют в качестве указателя адреса 16-

разрядный регистр (обычно пару HL).

В силу внутренних особенностей АЛУ не обладает возможностями вычитания, оно осуществляет

сложение, представляя вычитаемое в форме дополнительного кода и затем складывая его. Вычитание

двоичных чисел осуществляют сложением первого числа со вторым, представленным в форме

дополнительного кода, пренебрегая переполнением. Микропроцессор использует переполнение для

установления индикатора переноса. Вычитая, МП инвертирует переполнение, и результат становится

содержимым индикатора переноса СY. Переполнение 1 инвертируется и сбрасывает индикатор переноса в 0.

Когда в ходе вычитания индикатор переноса сбрасывается, это значит, что переноса не было и что первое

число больше второго.

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

большому числу команд из всего состава. Многие МП снабжены несколькими дополнительными

арифметическими командами и индикаторами в их регистре состояния. Использование индикатора при

ветвлениях и переходах по результатам операций будет впоследствии рассмотрено.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]