Иллюстрированный самоучитель по Assembler

C

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

Команда clc сбрасывает флаг переноса CF в регистре флагов. Команда не имеет параметров и не воздействует на остальные флаги процессора.

Пример:

clc; CF=0, независимо от исходного состояния

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

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

Пример:

cld; DF=0, независимо от исходного состояния

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

Команда sti сбрасывает флаг разрешения прерываний IF в регистре флагов, запрещая (до установки этого флага командой sti) все аппаратные прерывания (от таймера, клавиатуры, дисков и т.д.). Команда не запрещает процессору выполнение команды hit (реализация программных прерываний); также не запрещаются немаскируемые прерывания, поступающие на вход NMI микропроцессора. Команда не имеет параметров и не воздействует на остальные флаги процессора.

Пример:

cli; IF=0, независимо от исходного состояния

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

Команда cits сбрасывает флаг TS в регистре CR0.

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

Команда сmс изменяет значение флага переноса CF в регистре флагов на обратное. Команда не имеет операндов и не воздействует на остальные флаги процессора.

Пример:

cmc; Состояние флага CF изменяется на обратное

СМР Сравнение

Сами операнды не изменяются. Таким образом, если команду сравнения записать в общем виде:

стр операнд_1, операнд_2

То ее действие можно условно изобразить следующим образом:

операнд_1 – операнд_2 › флаги процессора

В качестве первого операнда команды сmр можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго – регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно, как ячейки памяти. Операнды могут быть байтами или словами и представлять числа со знаком или без знака.

Обычно вслед за командой сmр стоит одна из команд условных переходов, анализирующих состояние флагов процессора. При сравнении чисел без знака необходимо использовать команды условных переходов, предназначенные для анализа чисел без знака (ja, jb и проч.). При сравнении чисел со знаком необходимо использовать команды условных переходов, предназначенные для анализа чисел со знаком (jl, jg и проч.).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.