Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФЭ, Часть 2.doc
Скачиваний:
6
Добавлен:
22.12.2018
Размер:
1.01 Mб
Скачать

2. Форматы команд и данных.

Память для МП КР580ИК80 организована в 8-битные слова (байты). Каждый байт имеет 16-битный двоичный адрес, соответствующий местоположению байта в памяти. Данные в процессоре записываются в виде 8-битных двоичных чисел.

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

Содержимое всех регистров микропроцессора и счетчика команд обнуляется при подаче сигнала "СБРОС" на соответствующий вход МП (нажатием одноименной кнопки ЭВМ). После этого работа начинается с чтения первой команды программы, записанной в памяти ЭВМ по адресу 0000. Команды могут быть одно-, двух- и трехбайтными, т.к. кроме кода операции (первое слово команды) могут содержать операнд, номер устройства или адрес ячейки памяти. Многобайтные команды должны храниться в соседних ячейках памяти. Адрес первого байта всегда интерпретируется как адрес кода команды.

Однобайтная команда.

Двухбайтная команда.

Трехбайтная команда.

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

Примечание: В приложении в командах МП записан регистр М. Однако, это не реальный регистр. Так обозначается ячейка памяти, адрес которой запоминается в регистрах Н (старший байт) и L (младший байт).

3. Команды мп кр580ик80.

Все команды можно разбить на четыре группы:

1. Команды пересылки данных.

2. Арифметические и логические команды.

3. Команды переходов.

4. Команды ввода/вывода и управления.

1. Команды пересылки. Команды этой группы осуществляют пересылку данных в/из регистр(а) и ячейки памяти и не изменяют состояния флагов.

1) MOV r1, r2 (Move register). Передача между регистрами.

(r1)(r2) Содержимое регистра 2 пересылается в регистр 1.

MOV r, M (Move from memory). Пересылка из памяти.

(r)((H)(L)). Содержимое памяти, адрес которой находится в паре HL, передается в регистр r.

MOV M, r (Move to memory). Передача в память.

((H)(L))(r). Содержимое регистра r передается в память, адрес которой находится в паре HL.

2) MVI r, [байт]

(r)(байт 2)

(Move immediate). Передача непосредственная: содержимое 2го байта команды пересылается в регистр r.

MVI M, [байт] (Move to memory immediate). Передача в память непосредственная.

((H)(L))(байт 2). Содержимое второго байта команды пересылается в ячейку памяти, адрес которой указан в паре H и L.

MOV A,B Переслать данные из регистра B в аккумулятор. Содержимое регистра B не изменяется.

MOV M,C Переслать данные из регистра C в ячейку памяти, адрес которой должен быть предварительно помещен в регистровую пару HL. Содержимое регистра C не изменяется.

MVI D [байт] Непосредственная загрузка байта, следующего вторым словом команды, в регистр D.

3) LDA [адрес] (Load accumulator direct). Прямая загрузка аккумулятора.

(A)((байт 3 (ст. байт))(байт 2 (мл. байт))).

Содержимое ячейки памяти, адрес которой указан во 2-ом и 3-м байтах команды, загружается в аккумулятор.

LXI rp, [2 байта] (Load register pair immediate). Непосредственная загрузка пары регистров.

(rh)(байт 3)

(rl)(байт 2)

Третий байт команды пересылается в старший регистр (rh) пары регистров, второй – в младший регистр (rl) пары.

4) STA [адрес] (Store accumulator direct).

((байт 3)(байт 2))←(А)

Переслать содержимое аккумулятора по адресу, указанному во втором и третьем словах команды.