≪
≫

Форматы команд

В микропроцессорных системах, построенных на базе МП типа КР 580ВМ80А, используются однобайтные, двухбайтные и трехбайтные команды.

Формат однобайтных команд, характеризующихся малым временем выполнения, представлен на рис. 2.7. В качестве источника и приемника данных используются регистры общего назначения, а также аккумулятор и ячейка памяти, адрес которой находится в регистровой паре Н, L.

I D7 | D6 | D5 I D4 I D3 I D2 | D1 | DO |

Код Адрес Адрес

операции регистра регистра

(КОП) приемника источника

данных данных

Рис. 2.7

Формат двухбайтных команд, характеризующихся средним временем выполнения, представлен на рис. 2.8. Поскольку память имеет побайтную организацию, команда занимает две соседние ячейки памяти; при этом первый байт В1 содержит код выполняемой операции КОП, а второй В2 - байт данных или байт адреса.

D7

D6

D5

D4

D3

D2

D1

DO

D7

D6

D5

D4

D3

D2

D1

DO

В1- КОП

В2 - байт данных (байт адреса)

Рис. 2.8

Формат трехбайтных команд, характеризующихся большим временем выполнения, представлен на рис. 2.9; при этом первый байт В1 содержит код выполняемой операции КОП, а второй В2 и третий ВЗ байты содержат младший и старший байты данных или адреса.

D7

D6

D5

D4

D3

D2

D1

DO

D7

D6

D5

D4

D3

D2

D1

DO

D7

D6

D5

D4

D3

D2

D1

DO

Рис. 2.9

В1-КОП

В2 - младший байт данных (адреса)

ВЗ - старший байт данных (адреса)

Виды адресации, используемой в командах

В командах данного МП используется семь видов адресации:

  • 1) прямая регистровая адресация, как правило, используется в однобайтных командах пересылки информации из одного регистра общего назначения в другой или в аккумулятор;
  • 2) косвенная регистровая адресация используется в однобайтных командах пересылки информации из регистра общего назначения в ячейку памяти, адрес которой хранится в регистровой паре HL, или наоборот, а также в командах запоминания содержимого аккумулятора в ячейке памяти, адрес которой хранится в одной из регистровых пар ВС, DE, HL или в указателе стека SP;
  • 3) неявная адресация используется в однобайтных командах арифметических, логических и сдвиговых операций, выполняемых поразрядно над данными одного из регистров общего назначения и аккумулятора, который в мнемонике команды явно не указан (подразумевается неявно);
  • 4) непосредственная адресация используется в двухбайтных или трехбайтных командах, содержащих используемые данные непосредственно во 2-м байте команды или во 2-м и 3-м байтах команды.
  • 5) прямая адресация используется в трехбайтных командах пересылки данных из аккумулятора в ячейку памяти или наоборот; при этом адрес ячейки памяти указан во 2-м и 3-м байтах самой команды. Заметим, что адрес ячейки памяти всегда двухбайтный, то есть указывается 16-разрядным двоичным числом;
  • 6) стековая адресация применяется в командах, использующих указатель стека SP для хранения адреса ячейки стека. Стеком называют специальную область памяти, предназначенную для хранения информации о состоянии микропроцессора при уходе из программы в подпрограмму;
  • 7) специфическая адресация используется только в командах рестарта RSTn, предназначенных для повторного запуска процессора в случаях зависания программы.
 
Посмотреть оригинал