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


INT Программное прерывание - часть 2


386+ IRETD


Возврат из прерывания в 32-разрядном режиме

Команда iretd используется в защищенном режиме для возврата из обработчика прерывания или исключения, а также для переключения на исходную задачу. В отличие от 16-разрядной команды iret, данная команда, завершая обработку прерывания или исключения, снимает со стека 3 двойных слова, содержащие расширенный регистр флагов EFALGS, CS и расширенный указатель команд EIP. В случае переключения задач команда iretd выполняет переключение контекстов задач - сохранение состояния завершающейся задачи в ее сегменте состояния задачи и загрузку регистров процессора из сегмента состояния исходной задачи.

Jcc Команды условных переходов


Команды, обозначаемые (в книгах, не в программах!) Jcc, осуществляют переход по указанному адресу при выполнении условия, заданного мнемоникой команды. Если заданное условие не выполняется, переход не осуществляется, а выполняется команда, следующая за командой Jcc. Переход может осуществляться как вперед, так и назад в диапазоне + 127...-128 байтов.

В составе команд процессора предусмотрены следующие команды условных переходов:


Команда Перейти, если Условие перехода

ja выше CF=0 и ZF=0

jae выше или равно CF=0

jb ниже CF=1

jbe ниже или равно CF=1 или ZF=1

jc перенос CF=1

jcxz CX=0 CX=0

je равно ZF=1

jg больше ZF=0 или SF=OF

jge больше или равно SF=OF

jl меньше SF не равно OF

jle меньше или равно ZF=1 или SF не равно OF

jna не выше CF=1 или ZF=1

jnae не выше и не равно CF=1

jnb не ниже CF=0

jnbe не ниже и не равно CF=0 и ZF=0

jnc нет переноса CF=0

jne не равно ZF=0

jng не больше ZF=1 или SF не равно OF

jnge не больше и не равно SF не равно OF

jnl не меньше SF=OF

jnle не меньше и не равно ZF=0 и SF=OF

jno нет переполнения OF=0

jnp нет четности PF=0

jns знаковый бит равен О SF=0

jnz не нуль ZF=0

jo переполнение OF=1

jp есть четность PF=1

jpe сумма битов четная PF=1

jpo сумма битов нечетная PF=0

js знаковый бит равен SF=1

jz нуль ZF= I


Команды условных переходов, осуществляющие переход по условию "выше - ниже", предназначены для анализа чисел без знака; команды, осуществляющие переход по условию "больше - меньше", предназначены для анализа чисел со знаком.




Начало  Назад  Вперед



Книжный магазин