МП 80386

Команды CALL могут быть относительными, прямыми и косвенными. В косвенной команде абсолютный адрес перехода указывается одним из двух способов: (1) МП извлекает адрес приемника из ячейки памяти, определенной в команде; (2) программа переходит в точку адрес которой указан в одном из регистров общего назначения.

CBW Преобразование байта в слово.

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

CWD Преобразование слова в двойное слово.

Действие команды аналогично команде CBW.

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

Команда сбрасывает флаг CF.

CLD Сброс флага направления.

Команда сбрасывает флаг DF. Если флаг DF сброшен, автоматическая индексация будет выполняться с инкрементом. Автоматическая индексация используется командами обработки строк.

CLI Сброс флага прерываний.

Если текущий уровень привилегий по крайней мере столь же высок, как уровень привилегий ввода-вывода, команда сбрасывает флаг прерываний.

CLTS Сброс флага переключения задачи в управляющем регистре 0.

Команда сбрасывает флаг TS в CR0. В МП 80 386 флаг TS устанавливается каждый раз при переключении задачи. Команда используется в системном программировании. Она представляет собой привилегированную команду, выполняемую только на нулевом уровне привилегий.

CMC Инвертирование флага переноса.

Команда инвертирует флаг переноса CF.

CMP Сравнение.

Команда выполняет вычитание операнда-источника из операнда-приемника. В соответствии с результатом вычитания команда устанавливает состояние флагов, но не изменяет сами операнды.

CMPS Сравнение строковых операндов.

Ассемблер всегда транслирует команду CMPS как одну из CMPSB, CMPSW, CMPSD. Эти команды предназначены только для операций над строками. Они сравнивают по одному элементу каждой строки, причем элементами могут быть байт, слово или двойное слово. Элементы строк адресуются через регистры ESI и EDI. После каждой строковой операции ESI и/или EDI автоматически получают положительное или отрицательное приращение и указывают на следующие элементы строк. Если DF=0, в индексных регистрах осуществляется инкремент, если DF=1 — декремент. В зависимости от результата вычитания строкового элемента по адресу ES: EDI из строкового элемента по адресу DS: ESI устанавливаются флаги результата. Если команда модифицирована с помощью префиксов, МП выполняет сравнение текущего элемента строки с содержимым регистра EAX или его части (AL или AX).

CMPSB Сравнение строковых байтов.

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

CMPSD Сравнение строковых двойных слов.

CDQ Преобразование двойного слова в четверное.

CWDE Преобразование слова в двойное слово с расширением.

DAA Десятичная коррекция в регистре AL после сложения. Команда корректирует результат сложения двух правильных упакованных десятичных операндов в регистре AL. Эта команда должна всегда следовать за сложением двух пар упакованных десятичных чисел, чтобы получить в результате пару правильных упакованных десятичных цифр.