русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Jcc - Переход, если условие перехода удовлетворяется


Дата добавления: 2015-06-12; просмотров: 489; Нарушение авторских прав


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||77 cb JA rel8 3,1 Переход короткий, если выше || (CF = 0 и ZF = 0) ||73 cb JAE rel8 3,1 Переход короткий, если выше || или равно (CF = 0) ||72 cb JB rel8 3,1 Переход короткий, если ниже || (CF = 1) ||76 cb JBE rel8 3,1 Переход короткий, если ниже || или равно (CF = 1 или ZF = 1) ||72 cb JC rel8 3,1 Переход короткий, если перенос || (CF = 1) ||E3 cb JCXZ rel8 8,5 Переход короткий, если регистр || CX равен 0 ||E3 cb JECXZ rel8 8,5 Переход короткий, если регистр || ECX равен 0 ||74 cb JE rel8 3,1 Переход короткий, если равно || (ZF = 1) ||74 cb JZ rel8 3,1 Переход короткий, если 0 || (ZF = 1) ||7F cb JG rel8 3,1 Переход короткий, если больше || (ZF = 0 и SF = OF) ||7D cb JGE rel8 3,1 Переход короткий, если больше || или равно (SF = OF) ||7C cb JL rel8 3,1 Переход короткий, если меньше || (SF <> OF) ||7E cb JLE rel8 3,1 Переход короткий, если меньше || или равно (ZF=1 или SF <> OF) ||76 cb JNA rel8 3,1 Переход короткий, если не выше || (CF = 1 и ZF = 1) ||72 cb JNAE rel8 3,1 Переход короткий, если не выше || или равно (CF = 1) ||73 cb JNB rel8 3,1 Переход короткий, если не ниже || (CF = 0) ||77 cb JNBE rel8 3,1 Переход короткий, если не ниже || или равно (CF=0 и ZF=0) ||73 cb JNC rel8 3,1 Переход короткий, если нет || переноса (CF = 0) ||75 cb JNE rel8 3,1 Переход короткий, если не равно|| (ZF = 0) ||7E cb JNG rel8 3,1 Переход короткий, если не || больше (ZF = 1 или SF <> OF) ||7C cb JNGE rel8 3,1 Переход короткий, если не || больше или равно (SF <> OF) ||7D cb JNL rel8 3,1 Переход короткий, если не || меньше (SF = OF) ||7F cb JNLE rel8 3,1 Переход короткий, если не мень-|| ше или равно (ZF=0 и SF=OF) ||71 cb JNO rel8 3,1 Переход короткий, если нет || переполнения (OF=0) ||7B cb JNP rel8 3,1 Переход короткий, если нет кон-|| троля четности (PF = 0) ||79 cb JNS rel8 3,1 Переход короткий, если нет || знака (SF = 0) ||75 cb JNZ rel8 3,1 Переход короткий, если нет нуля|| (ZF = 0) ||70 cb JO rel8 3,1 Переход короткий, если || переполнение (OF = 1) ||7A cb JP rel8 3,1 Переход короткий, если контроль|| четности (PF = 1) ||7A cb JPE rel8 3,1 Переход короткий, если контроль|| на проверку четности (PF = 1) ||7B cb JPO rel8 3,1 Переход короткий, если контроль|| на проверку нечетности (PF = 0)||78 cb JS rel8 3,1 Переход короткий, если знак || (SF = 1) ||74 cb JZ rel8 3,1 Переход короткий, если ноль || (ZF = 1) ||0F 87 cw/dw JA rel16/32 3,1 Переход ближний, если выше || (CF = 0 и ZF = 0) ||0F 83 cw/dw JAE rel16/32 3,1 Переход ближний, если выше || или равно (CF = 0) ||0F 82 cw/dw JB rel16/32 3,1 Переход ближний, если ниже || (CF = 1) ||0F 86 cw/dw JBE rel16/32 3,1 Переход ближний, если ниже || или равно (CF = 1 или ZF = 1) ||0F 82 cw/dw JC rel16/32 3,1 Переход ближний, если перенос || (CF = 1) ||0F 84 cw/dw JE rel16/32 3,1 Переход ближний, если равно || (ZF = 1) ||0F 84 cw/dw JZ rel16/32 3,1 Переход ближний, если 0 || (ZF = 1) ||0F 8F cw/dw JG rel16/32 3,1 Переход ближний, если больше || (ZF = 0 и SF = OF) ||0F 8D cw/dw JGE rel16/32 3,1 Переход ближний, если больше || или равно (SF = OF) ||0F 8C cw/dw JL rel16/32 3,1 Переход ближний, если меньше || (SF <> OF) ||0F 8E cw/dw JLE rel16/32 3,1 Переход ближний, если меньше || или равно (ZF=1 или SF <> OF) ||0F 86 cw/dw JNA rel16/32 3,1 Переход ближний, если не выше || (CF = 1 и ZF = 1) ||0F 82 cw/dw JNAE rel16/32 3,1 Переход короткий, если не выше || или равно (CF = 1) ||0F 83 cw/dw JNB rel16/32 3,1 Переход ближний, если не ниже || (CF = 0) ||0F 87 cw/dw JNBE rel16/32 3,1 Переход ближний, если не ниже || или равно (CF=0 и ZF=0) ||0F 83 cw/dw JNC rel16/32 3,1 Переход ближний, если нет || переноса (CF = 0) ||0F 85 cw/dw JNE rel16/32 3,1 Переход ближний, если не равно || (ZF = 0) ||0F 8E cw/dw JNG rel16/32 3,1 Переход ближний, если не || больше (ZF = 1 или SF <> OF) ||0F 8C cw/dw JNGE rel16/32 3,1 Переход ближний, если не || больше или равно (SF <> OF) ||0F 8D cw/dw JNL rel16/32 3,1 Переход ближний, если не || меньше (SF = OF) ||0F 8F cw/dw JNLE rel16/32 3,1 Переход ближний, если не мень- || ше или равно (ZF=0 и SF=OF) ||0F 81 cw/dw JNO rel16/32 3,1 Переход ближний, если нет || переполнения (OF=0) ||0F 8B cw/dw JNP rel16/32 3,1 Переход ближний, если нет кон- || троля четности (PF = 0) ||0F 89 cw/dw JNS rel16/32 3,1 Переход ближний, если нет || знака (SF = 0) ||0F 85 cw/dw JNZ rel16/32 3,1 Переход ближний, если нет нуля || (ZF = 0) ||0F 80 cw/dw JO rel16/32 3,1 Переход ближний, если || переполнение (OF = 1) ||0F 8A cw/dw JP rel16/32 3,1 Переход ближний, если контроль || четности (PF = 1) ||0F 8A cw/dw JPE rel16/32 3,1 Переход ближний, если контроль || на проверку четности (PF = 1) ||0F 8B cw/dw JPO rel16/32 3,1 Переход ближний, если контроль || на проверку нечетности (PF = 0)||0F 88 cw/dw JS rel16/32 3,1 Переход ближний, если знак || (SF = 1) ||0F 84 cw/dw JZ rel16/32 3,1 Переход ближний, если ноль || (ZF = 1) |----------------------------------------------------------------- Примечание: Первое число тактовых циклов относится к случаю, когда условиеперехода выполняется (переход происходит); второе значение относится кслучаю, когда условие не выполняется (и переход не происходит). rel16/32указывает, что эти команды отображаются двумя командами : одна с16-разрядным относительным смещением, а вторая с 32-разряднымотносительным смещением, в зависимости от атрибута размера операнда даннойкоманды. Работа команды IF условиеTHEN EIP <- EIP + SignExtend(rel8/16/32); IF OperandSize = 16 THEN EIP <- EIP AND 0000FFFFH; FI;FI; ОписаниеКоманды условного перехода (за исключением команды JCXZ) проверяют флаги,которые были установлены предыдущей командой. Условия для каждоймнемонической формы команды даны в круглых скобках выше после каждогоописания. Термины "меньше" и "больше" используются при сравнении целых сознаком; "выше" и "ниже" - для целых без знака.Если условие выполняется, то происходит переход по адресу, задаваемомуоперандом. Использование данной команды наиболее эффективно, когда цельусловного перехода находится в текущем кодовом сегменте и в пределах от-128 до +127 байтов относительно первого байта следующей команды.Цель перехода также может находиться в пределах от -32768 до +32767(атрибут размера сегмента 16) или от -2**31 до +2**31-1 (атрибут размерасегмента 32) относительно первого байта следующей команды. Если целькоманды условного перехода находится в другом сегменте, используйтекоманду с противоположным условием перехода, которая "обойдет" командудальнего безусловного перехода к другому сегменту. Например, вы не можетезаписать: JZ FARLABEL; Вместо этого напишите: JNZ BEYOND; JMP FARLABEL;BEYOND: Поскольку может существовать несколько способов интерпретации конкретногосостояния флагов, ASM386 обеспечивает более одной мнемонической формы длябольшинства кодов операции условного перехода. Например, если вы сравнилидва символа в AX и хотите выполнить переход, если они равны, используйтекоманду JE, или, если вы выполнили операцию И для регистра AX и маской,записанной в битовом поле, и хотите, чтобы переход происходил только прирезультате, равном 0, используйте команду JZ, которая является синонимомкоманды JE.Команда JCXZ отличается от других команд условного перехода тем, что онапроверяет не флаги, а содержимое регистров CX или ECX на равенство 0.Команда JCXZ полезна в начале условного цикла, который заканчиваетсякомандой условного перехода к началу цикла (например, LOOPNE метка цели).Команда JCXZ предотвращает вхождение в цикл при регистре CX или ECX,равном нулю, что может привести к выполнению цикла 64К или 32Г раз вместонуля раз. Изменяемые флагиОтсутствуют Исключения защищенного режима#GP (0), если смещение, на которое задан переход, лежит вне границкодового сегмента. Исключения режима реальных адресовОтсутствуют Исключения виртуального режима 8086Отсутствуют ПримечаниеКоманда JCXZ выполняется дольше, чем последовательность из двух команд,сравнивающая регистр-счетчик с нулем и выполняющая переход в случаеравенства.Все команды ветвления преобразуются для выборки в 16-разрядные коды,независимо от адреса перехода или возможности кеширования.


<== предыдущая лекция | следующая лекция ==>
IRET/IRETD - Возврат из прерывания | JMP - Переход


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.034 сек.