Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП по циклу ЛР ОМПТ.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.81 Mб
Скачать

1. Система команд микропроцессора 8080 Представление команд в числовой форме

Команды хранятся в основной памяти микро-ЭВМ в виде двоичных чисел. Каждая команда процессора состоит из однобайтного кода операции и возможных, в зависимости от формата, дополнительных одного или двух байтов. Типы форматов команд представлены в табл. 1.1.

Таблица 1.1

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

Адрес

Биты байта

Обозн

Назначение байта

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

Adr

D7...0

B1

Код операции

Формат двухбайтной команды

Adr

D7..0

B1

Код операции

Adr+1

D7..0

B2

Байт данных или адреса

Формат трёхбайтной команды

Adr

D7..0

B1

Код операции

Adr+1

D7..0

B2

Младший байт числа данных или адреса

Adr+2

D7..0

B3

Старший байт числа данных или адреса

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

Таблица 1.2

Кодирование регистров в коде операции

Регистр или память M(HL)

Имя

Код

Номер

B

0 0 0

0

C

0 0 1

1

D

0 1 0

2

E

0 1 1

3

H

1 0 0

4

L

1 0 1

5

M(HL)

1 1 0

6

A

1 1 1

7

Пример 1.1.

Адрес Число Комментарий

0800 78 ;однобайтная команда, выполняющая

;пересылку в аккумулятор из регистра B

В двоичной форме код операции выглядит так

D7 D6 D5 D4 D3 D2 D1 D0

0 1 1 1 1 0 0 0

Находящиеся в составе данного кода операции биты D7, D6 кодируют действия команды; биты D5..3 кодируют операнд-приёмник – регистр A; биты D2..0 кодируют операнд-источник – регистр B.

Пример 1.2.

Адрес Число Комментарий

0801 06 ; двухбайтная команда, выполняющая

0802 4C ; пересылку в регистр B числа 4C (2й байт команды)

В двоичной форме код операции выглядит так

D7 D6 D5 D4 D3 D2 D1 D0

0 1 1 1 1 0 0 0

Находящиеся в составе данного кода операции биты D7, D6 кодируют действия команды; биты D5..3 кодируют операнд-приёмник – регистр B; биты D2..0 кодируют операнд источника – 2-й байт команды.

Пример 1.3.

Адрес Число Комментарий

0803 D3 ;двухбайтная команда, выполняющая вывод байта из

0804 … F0 ;аккумулятора в порт с адресом F0, являющимся 2-м байтом

; команды

В двоичной форме код операции выглядит так

D7 D6 D5 D4 D3 D2 D1 D0

1 1 0 1 0 0 1 1

Все биты находящиеся в составе данного кода операции кодируют действия команды.

Пример 1.4.

Адрес Число Комментарий

0805 21 ;трёхбайтная команда, выполняющая пересылку

0806 …00 ; в регистровую пару HL

0807 …0B ; двухбайтного числа 0B00

В двоичной форме код операции выглядит так

D7 D6 D5 D4 D3 D2 D1 D0

0 0 1 0 0 0 0 1

Биты D5..4 кодируют операнд-приёмник – регистровую пару HL; остальные биты кодируют действия команды.

Пример 1.5.

Адрес Число Комментарий

0808 3A ;трёхбайтная команда, выполняющая пересылку

0809 …01 ;в аккумулятор операнда из ячейки памяти

080A …0B ;с адресом 0B01 размещённым прямо в команде

0809 …01 ;в аккумулятор операнда из ячейки памяти

080A …0B ;с адресом 0B01 размещённым прямо в команде

Поскольку код операции всегда является первым байтом команд, постольку его ещё часто называют кодом команды.

Многобайтные числа в составе команды или в составе данных хранятся согласно следующему правилу.

Байты числа размещаются в последовательно расположенных ячейках памяти (адреса ячеек последовательно увеличиваются), причём сначала в младших адресах размещаются младшие байты, а затем в более старших адресах – более старшие байты числа. Адресом числа называют адрес самого младшего байта этого числа.

Например, трёхбайтное число 126A38 должно хранится в памяти по адресу 0B00 следующим образом:

0B00 38

0B01 6A

0B02 12

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