Реклама:

Любой компьютер характеризуется, в первую очередь, набором команд, которые он способен выполнять. Чтобы понять, как работает компьютер, необходимо основательно изучить его набор команд. В этом разделе мы обсудим наиболее важные команды 8088. Некоторые из этих команд представлены в табл. В.2, где они подразделяются на 10 групп.

Таблица В.2. Некоторые из наиболее важных команд процессора 8088

Мнемоника

MOV(B)

Описание

Перемещение слова, байта

Операнды г<-е, е<-г, е<- #

Фла О

ги сое S

ІТОЯНИ

Z

я

С

XCHG(B)

Обмен словами

г<->е

-

-

-

-

LEA

Загрузка действительного адреса

г<-#е

-

-

-

-

PUSH

Введение в стек

е, #

-

-

-

-

POP

Выталкивание из стека

е

-

-

-

-

PUSHF

Введение в стек флагов

-

-

-

-

-

POPF

Выталкивание из стека флагов

-

-

-

-

-

XLAT

Трансляция А1_

-

-

-

-

-

ADD(B)

Сложение слова

г<-е, е<-г, е<-#

*

*

*

*

ADC(B)

Сложение слова с переносом

г<-е, е<-г, е<-#

*

*

*

*

SUB(B)

Вычитание слова

г<-е, е<-г, е<-#

*

*

*

*

SBB(B)

Вычитание слова с отрицательным переносом

г<-е, е<-г, е<-#

*

*

*

*

IMUL(B)

Умножение с учетом знака

е

*

и

и

*

MUL(B)

Умножение без учета знака

е

*

и

и

*

IDIV(B)

Деление с учетом знака

е

и

и

и

и

DIV(B)

Деление без учета знака

е

и

и

и

и

CBW

Дополнение байта до слова с учетом знака

-

-

-

-

-

CWD

Дополнение слова до двойного слова с учетом знака

-

-

-

-

 

NEG(B)

Отрицание двоичного числа

е

*

*

*

*

NOT(B)

Логическое отрицание

е

-

-

-

-

INC(B)

Положительное приращение по целевому адресу

е

*

*

*

-

DEC(B)

Отрицательное приращение по целевому адресу

е

*

*

 

-

AND(B)

Логическое И

е<-г, г<-е, е<-#

*

*

OR(B)

Логическое ИЛИ

е<-г, г<-е, е<-#

*

*

 

Мнемо-

Описание

Операнды

Флаги состояния

 

ника

   

О

S

Z

с

XOR(B)

Логическое исключающее ИЛИ

е<-г, г<-е, е<-#

*

*

SHR(B)

Логический сдвиг вправо

е<-1, e<-CL

*

*

*

*

SAR(B)

Арифметический сдвиг вправо

е<-1, e<-CL

*

*

*

*

SAL(B) (=SHL(B))

Сдвиг влево

е<-1, e<-CL

*

*

*

*

ROL(B)

Циклический сдвиг влево

е<-1, e<-CL

*

-

-

*

ROR(B)

Циклический сдвиг вправо

е<-1, e<-CL

*

-

-

*

RCL(B)

Циклический сдвиг влево с переносом

е<-1, e<-CL

*

-

-

*

RCR(B)

Циклический сдвиг вправо с переносом

е<-1, e<-CL

*

-

-

*

TEST(B)

Проверка операндов

е<->г, е<->#

*

*

CMP(B)

Сравнение операндов

е<->г, е<->#

*

*

*

*

STD

Установка флага направления (4-)

-

-

-

-

-

CLD

Сброс флага направления (Т)

-

-

-

-

-

STC

Установка флага переноса

-

-

-

-

CLC

Сброс флага переноса

-

-

-

-

CMC

Обратный перенос

-

-

-

-

*

LOOP

Обратный переход, если йЕС(СХ) > 0

Метка

-

-

-

-

LOOPZ LOOPE

Обратный переход, если г = 1 и йЕС(СХ) > 0

Метка

-

-

-

-

LOOPNZ LOOPNE

Обратный переход, если г = 0 и йЕС(СХ) > 0

Метка

-

-

-

-

REP REPZ REPNZ

Повтор строковой команды

Строковая команда

-

-

-

-

MOVS(B)

Перемещение строки слов

-

-

-

-

-

LODS(B)

Загрузка строки слов

-

-

-

-

-

STOS(B)

Сохранение строки слов

-

-

-

-

-

SCAS(B)

Просмотр строки слов

-

*

*

*

*

CMPS(B)

Сравнение строк слов

-

*

*

*

*

JCC

Условный переход

Метка

-

-

-

-

JMP

Переход к метке

е, метка

-

-

-

-

CALL

Переход к подпрограмме

е, метка

-

-

-

-

RET

Возврат из подпрограммы

-, #

-

-

-

-

SYS

Вызов системного исключения

-

-

-

-

-

Адресация-B || Оглавление || Перемещение, копирование и арифметические команды