CLear Direction flag
Сброс флага направления – для цепочечных команд процессор будет выполнять инкремент регистров SI DI.
STD
SeT Direction flag
Установка флага направления - для цепочечных команд процессор будет выполнять декремент регистров SI DI.
CLI
CLear Interrupt flag
Сброс флага прерываний - запрет маскируемых аппаратных прерываний.
STI
SeT Interrupt flag
Установка флага прерываний - разрешение маскируемых аппаратных прерываний.
Команда
Описание
JMP метка
JuMP –безусловный переход.
Имеется несколько форм, различающихся расстоянием метки перхода от текущего адреса, и способом задания целевого адреса. При работе в Windows используется в основном внутрисегментный переход (NEAR) в пределах 32-битного сегмента. Адрес перехода может задаваться непосредственно (в программе это метка) или косвенно, т.е. содержаться в ячейке памяти или регистре (JMP [EAX]).
Другой тип перехода - короткий переход (SHORT), занимает всего 2 байта. Диапазон смещения, в пределах которого происходит переход: -128... 127. Использование такого перехода весьма ограниченно.
Jcc метка
Jump if condition - условный переход. Команда осуществляет переход при выполнении условия, заданного в. поле условия. Возможны условия, кодируемые 4-ех битным кодом:
· JA/JNBE - перейти, если выше.
· JAE/JNB - перейти, если выше или равно.
· JB/JNAE - перейти, если ниже
· JBE/JNA - перейти, если ниже.
· JC - перейти, если перенос
· JE/JZ - перейти, если нуль
· JG/JNLE - перейти, если больше.
· JGE/JNL - перейти, если больше или равно
· JL/JNGE - перейти, если меньше.
· JLE/JNG - перейти, если меньше или равно
· JNC - перейтИ, если нет переноса.
· JNE/JNZ - перейти, если меньше или равно
· JNO - перейти, если нет переполнения
· JNP/JPO - перейти, если нет паритета
· JNS - перейти, если нет знака
· JO - перейти, если есть переполнения
· JP/JPE - перейти, если есть паритет
· JS - перейти, если есть знак
· JCXZ - переход, если СХ=0
· JECXZ - переход, если ECX=0
В плоской модели команды условного перехода осуществляют переход в пределах 32-битного регистра.
LOOP метка
LOOP control by register CX - команды управления циклом по регистру CX. Команды этой группы используют счетчик цикла в регистре CX. В них осуществляется декремент CX и проверка его содержимого. Тело цикла повторяется пока содержимое CX не равно нулю. Если содержимое CX равно нулю, то управление передается команде, метка которой опреджелена в команде LOOP.
LOOPE метка
LOOPZ метка
LOOP control by register CX not Equal 0 and ZF=1 - команды управления циклом по регистру CX с учетом ZF=1. Команды этой группы основаны на командах LOOP. Дополнительно в них в теле цикла анализируется флаг ZF. Цикл принудительно завершается, если ZF= 1.
LOOPNE метка
LOOPNZ метка
LOOP control by register CX not Equal 0 and ZF=0 - команды управления циклом по регистру CX с учетом ZF=0. Команды этой группы основаны на командах LOOP. Дополнительно в них в теле цикла анализируется флаг ZF. Цикл принудительно завершается, если ZF= 0.
CALL цель
CALL – вызов.
Передает управление процедуре (метке) с сохранением в стеке адреса, следующей за CALL командой. В плоской модели адрес возврата представляет собой 32-битное смещение. Межсегментный вызов предполагает сохранение в стеке селектора и смещения, т.е. 48-битной величины (16 бит - селектор и 32 бита - смещение).
RET [N]
RETurn from procedure – возврат из процедуры
Необязательный параметр N предполагает, что команда также автоматически чистит стек (освобождает N байт). Команда имеет разновидности, которые выбираются ассемблером автоматически, в зависимости от того, является процедура ближней или дальней.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление