Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 3 Асемблер для студ..docx
Скачиваний:
6
Добавлен:
14.11.2018
Размер:
69.69 Кб
Скачать

2. Система команд

Система команд МП – это полный перечень элементарных действий, которые способен производить МП. Управляемый этими командами МП выполняет простые действия, такие как элементарные арифметические и логические операции, пересылку данных, сравнение двух величин и др. Число команд МП КР580ВМ80 - 78 (с учетом модификаций 244).

Различают следующие группы команд:

  • передачи данных;

  • арифметические;

  • логические;

  • команды перехода;

  • команды ввода-вывода, управления и работы со стеком.

Тема 3.3 Команды передачи данных и ввода-вывода

Символы и сокращения, применяемые при описании команд и составлении программ

Символ

Сокращение

ADDR

16-битовый адрес

DATA

8-битовые данные

DATA 16

16-битовые данные

PORT

8-битовый адрес УВВ (устройства ввода-вывода)

BYTE 2

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

BYTE 3

Третий байт команды

R, R1, R2

Один из регистров: A, B, C, D, E, H, L

RP

Одна из регистровых пар: В - задает пару ВС; D - задает пару DE; H – задает пару HL

RH

Первый регистр пары

RL

Второй регистр пары

Λ

Логическое умножение

٧

Логическое сложение

Сложение по модулю два

М

Ячейка памяти, адрес которой задаёт содержимое регистровой пары HL, т. е. М = (HL)

Команды передачи данных служат для пересылки данных между следующими устройствами:

  • регистр – регистр;

  • регистр – память;

  • данные, содержащиеся в команде, - регистр;

  • данные, содержащиеся в команде, - память.

Команды передачи данных

Могут быть однобайтовыми, двухбайтовыми и трехбайтовыми. Эти команды не оказывают воздействия на флаги условий.

Однобайтовые

MOV R1, R2 –пересылка данных из регистра в регистр. В качестве регистров может быть использован любой из регистров A, B, C, D, E, H, L. (R1) ← (R2)

MOV R, M – пересылка данных из памяти в регистр. М - ячейка памяти, адрес которой указан в регистровой паре HL. (R) ← (H, L).

MOV M, R – пересылка данных из регистра в память. (H, L) ← (R).

2-х байтовые

MVI R, DATA – пересылка непосредственная. Содержимое второго байта команды пересылается в регистр R. (R) ← (BYTE 2).

MVI M, DATA – пересылка в память непосредственная. (H, L) ← (BYTE 2).

3-х байтовые

LXI RP, DATA 16 – непосредственная загрузка регистровой пары.

(RH) ← (BYTE3) (RL) ← (BYTE2).

LDA ADDR – прямая загрузка А. Cодержимое ЯП, адрес которой указан во втором и третьем байтах команды, загружается в А. (A) ← (BYTE3, BYTE2).

STA ADDR – прямая запись содержимого А в ячейку памяти, адрес которой указан во втором и третьем байтах команды. (BYTE3, BYTE2) ← (А).

Однобайтовые

STAX – косвенная загрузка А в память. Содержимое А пересылается в ЯП, адрес которой указан в паре регистров (RP). Может быть указана только пара В и D. (RP) ← (A).

LDAX – косвенная загрузка А. Содержимое ЯП, адрес которой указан в регистровой паре (RP), пересылается в А. Может быть указана только пара В и D. (А) ← (RP).

Команды ввода-вывода оказывают влияние на флаги.

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

2-х байтовые

IN PORT - команда ввода данных предназначена для ввода данных из входного порта в А. Команда двухбайтовая. (А) ← (PORT)

OUT PORT - команда вывода данных предназначена для вывода данных из А в выходной порт. Команда двухбайтовая. (PORT) ← (А).

Команды работы со стеком

Однобайтовые

PUSH RP – загрузка в стек содержимого пары регистров

PUSH PSW - загрузка в стек слово состояния программы.

POP RP – считать из стека содержимое пары регистров.

POP PSW - считать из стека слова состояния программы.

XTHL – обмен содержимого верхушки стека и содержимого регистров H и L. (L) ↔ (SP)

(H) ↔ (SP) + 1

SPHL – пересылка содержимого регистров H и L в указатель стека. (SP) ↔ (H) (L).