Управление программой

Безусловная передача управления:

JMP Безусловный переход

CALL Вызов подпрограммы

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

Условные переходы без учета знака:

JA/JNBE Переход, если выше (не ниже и не равно)

JAE/JNB/JNC Переход, если (CF)=0: выше или равно (не ниже)

JB/JNAE/JC Переход, если (CF)=1: ниже (не выше и не равно)

JBE/JNA Переход, если ниже или равно (не выше)

JE/JZ Переход, если равно (нуль): (ZF)=1

JNE/JNZ Переход, если не равно (не нуль): (ZF)=0

JP/JPE Переход, если четность: (PF)=1

JNP/JPO Переход, если нечетность: (PF)=0

Условные переходы с учетом знака:

JG/JNLE Переход, если больше (не меньше и не равно)

JGE/JNL Переход, если больше или равно (не меньше)

JL/JNGE Переход, если меньше (не больше и не равно)

JLE/JNG Переход, если меньше или равно (не больше)

JS Переход, если отрицательно: (SF)=1

JNS Переход, если положительно (SF)=0

JO Переход, если переполнение: (OF)=1

JNO Переход, если нет переполнения (OF)=0

Условная установка байта:

SETA/SETNBE Установка, если выше (не ниже и не равно)

SETAE/SETNB Установка, если выше или равно (не ниже)

SETB/SETNAE Установка, если ниже (не выше и не равно)

SETBE/SETNA Установка, если ниже или равно (не выше)

SETE/SETZ Установка, если равно (нуль): (ZF)=1

SETNE/SETNZ Установка, если не равно (не нуль): (ZF)=0

SETP/SETPE Установка, если четность: (PF)=1

SETNP/SETPO Установка, если нечетность: (PF)=0

SETG/SETNLE Установка, если не больше (не меньше и не равно)

SETGE/SETNL Установка, если больше или равно (не меньше)

SETL/SETNGE Установка, если меньше (не больше и не равно)

SETLE/SETNG Установка, если меньше и не равно (не больше)

SETS Установка, если отрицательно: (SF)=1

SETNS Установка, если положительно: (SF)=0

SETO Установка, если переполнение: (OF)=1

SETNO Установка, если нет переполнения: (OF)=0

Прерывания:

INT Прерывание

INT0 Прерывание по переполнению: (OF)=1

INT3 Прерывание в контрольной точке

IRET Возврат из подпрограммы прерывания

CLI Запрещение прерываний

STI Разрешение прерываний

Организация циклов:

LOOP Реализация циклов, пока (ECX)≠0

LOOPE/LOOPZ Реализация циклов, пока (ECX)≠0 или (ZF)=1

LOOPNE/LOOPNZ Реализация циклов, пока (ECX)≠0 или (ZF)=0

JCXZ (JECXZ) Реализация циклов, пока (СХ)=0 или (ЕСХ)=0

Операции над признаками:

LAHF Загрузка признаков в регистр АН

SAHF Запись содержимого АН в регистр признаков

PUSHF Запись содержимого регистра признаков в стек

POPF Чтение содержимого регистра признаков из стека

CLC Сброс признака переноса: (CF)=0

STC Установка признака переноса: (CF)=1

CMC Инвертирование признака переноса (СF)

CLD Сброс признака направления: (DF)=0

CTD Установка признака направления: (DF)=1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: