Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.551


Таненбаум Э.- Архитектура компьютера. стр.551

В процессоре 8088 предусмотрены специальные команды для перемещения (M0VS), сравнения (CMPS) и просмотра (SCAS) строк. После выполнения этих строковых команд содержимое индексных регистров SI и DI автоматически обновляется. Этот механизм называется, в зависимости от направления, автоинкрементным или автодекрементным режимом. Направление приращения (положительное или отрицательное) регистров SI и DI определяется флагом направления в регистре флагов состояния. Флаг направления с нулевым значением определяет положительное приращение, а флаг с единичным значением — отрицательное. Величина приращения составляет 1 в командах для байтов и 2 в командах для слов. В некотором смысле указатель стека также имеет отношение к автоинкрементному и автодекрементному режимам: его значение уменьшается на 2 в начале операции PUSH и увеличивается на 2 по окончании операции POP.

Набор команд 8088

Любой компьютер характеризуется, в первую очередь, набором команд, которые он способен выполнять. Чтобы понять, как работает компьютер, необходимо основательно изучить его набор команд. В этом разделе мы обсудим наиболее важные команды 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)

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

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

*

*

Мнемо- Описание Операнды Флаги состояния

HMKa

   

О

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

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

Перемещение, копирование и арифметические команды


⇐ Предыдущая страница| |Следующая страница ⇒

.