Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Команды movsx, movzx




Команды
перехода

Команды перехода предназначены для изменения линейной последовательности выполнения программы.

Принцип работы всех команд перехода заключается в модифицировании значения регистра EIP (указателя инструкций).

Все команды перехода имеют одинаковый формат:

J*** адрес_команды

Адрес команды может указываться непосредственно, но чаще всего он задается с помощью символьной метки:

метка: команда

.......

J*** метка

Все команды перехода делятся на команды безусловного и условного перехода.

При выполнении команды безусловного перехода переход осуществляется всегда.

Команда JMP – безусловный переход

Формат команды

Jmp адрес_команды

Действие команды
заносит в регистр EIP указанное значение
(EIP = адрес_команды)

При выполнении команды условного перехода переход осуществляется, если выполняется некоторое условие перехода.

Условием перехода может являться значение некоторого флага или комбинация значений нескольких флагов.

Команда условного перехода Условие перехода
jo (Jump if Overflow) OF == 1
jno (Jump if No Overflow) OF == 0
js (Jump if Sign) SF == 1
jns (Jump if No Sign) SF == 0
jz (Jump if Zero) ZF == 1
jnz (Jump if No Zero) ZF == 0
jp (Jump if Parity) PF == 1
jnp (Jump if No Parity) PF == 0
jc (Jump if Carry) CF == 1
jnc (Jump if No Carry) CF == 0

Обычно команды условного перехода размещают в программе после арифметических команд.

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

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

Часто в программе возникает необходимость сравнить значения двух чисел. Для этих целей перед командами условного перехода используется команда CMP.

Формат команды






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных