Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Micro_systK.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Команды управления процессором

Команды управления процессором представлены в табл. П.5. В таблице использованы следующие условные обозначения:

  • op – 8-разрядный номер вектора прерываний, принимающий значения в диапазоне 0-255;

  • op1 – 8-разрядный код операции для внешнего процессора;

  • op2 – операнд для внешнего процессора, определяемый стандартным способом адресации.

Таблица П.5. Команды управления процессором

Мнемоника

Операция

Описание команды

CLC

CF:=0

Очистка флага переноса (clear carry flag)

STC

CF:=1

Установка флага переноса (set carry flag)

CMC

CF:=CF

Инвертирование флага переноса (complement carry flag)

CLI

IF:=0

Очистка флага прерывания (clear interrupt flag)

STI

IF:=1

Установка флага прерывания (set interrupt flag)

CLD

DF:=0

Очистка флага направления (clear direct flag)

STD

DF:=1

Установка флага направления (set direct flag)

INTO

Прерывание по переполнению (interrupt if overflow)

INT 3

Прерывание с использованием вектора 3 (прерывание по контрольной точке)

INT op

Прерывание с использованием вектора op

IRET

Возврат после обработки прерывания

LOCK

Блокировка шины (lock the bus)

HLT

Останов (halt)

WAIT

Переход в состояние ожидания внешних событий

ESC op1, op2

Переключение на сопроцессор (escape)

NOP

IP:=IP+1

“Пустая” команда (no operation)

Команда NOP не выполняет никаких действий и обычно применяется для формирования фиксированной временной задержки, кратной длительности четырех тактов.

Команда HLT прекращает выполнение программы и переводит МП в состояние “Останов”, из которого он может быть выведен сигналом запроса прерывания или сигналом RESET на входе МП. Программа всегда должна заканчиваться командой HLT.

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

Команды обработки строк представлены в табл. П.6. В таблице исполь­зованы следующие условные обозначения:

  • B – байт;

  • W – слово;

  • DF – флаг направления;

  • minstr – общее обозначение команд MOVSB, MOVSW, STOSB или STOSW;

  • cinstr – общее обозначение команд CMPSB, CMPSW, SCASB или SCASW.

Таблица П.6. Команды обработки строк

Мнемоника

Операция

Размер операн-дов

Описание команды

MOVSB

[DS:SI][ES:DI]

SI :=SI+1; DI :=DI+1 при DF=0 или

SI :=SI-1; DI :=DI-1 при DF=1

B

Пересылка строки (move string)

MOVSW

[DS:SI][ES:DI]

SI :=SI+2; DI :=DI+2 при DF=0 или

SI :=SI-2; DI :=DI-2 при DF=1

W

Пересылка строки (move string)

STOSB

[ES:DI]:= AL

DI :=DI+1 при DF=0

или

DI :=DI-1 при DF=1

B

Сохранение строки (store string)

STOSW

[ES:DI]:= AX

DI :=DI+2 при DF=0

или

DI :=DI-2 при DF=1

W

Сохранение строки (store string)

LODSB

AL:= [ES:SI]

SI :=SI+1 при DF=0

или

SI :=SI-1 при DF=1

B

Загрузка строки (load string)

LODSW

AX:= [ES:SI]

SI :=SI+2 при DF=0

или

SI :=SI-2 при DF=1

W

Загрузка строки (load string)

CMPSB

[ES:SI]- [ES:DI]

SI :=SI+1; DI :=DI+1 при DF=0 или

SI :=SI-1; DI :=DI-1 при DF=1

B

Сравнение строк из байтов (compare string)

CMPSW

[ES:SI]- [ES:DI]

SI :=SI+2; DI :=DI+2 при DF=0 или

SI :=SI-2; DI :=DI-2 при DF=1

W

Сравнение строк из слов (compare string)

SCASB

AL - [ES:DI]

DI :=DI+1 при DF=0

или

DI :=DI-1 при DF=1

B

Сканирование строки (scan string)

SCASW

AX - [ES:DI]

DI :=DI+2 при DF=0

или

DI :=DI-2 при DF=1

W

Сканирование строки (scan string)

Префиксы повторения

REP minstr

Выполнение «команды» minstr пока CX0

Повторять (repeat)

REPE cinstr

REPZ cinstr

Выполнение «команды» cinstr пока CX0 и ZF=1

Повторять пока равно (repeat if equal) или повторять пока ноль (repeat if zero)

REPNE cinstr REPNZ cinstr

Выполнение «команды» cinstr пока CX0 и ZF=0

Повторять пока не равно (repeat if not equal) или повторять пока не ноль (repeat if not zero)

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