![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Флаги, устанавливаемые командой СМР, можно анализировать специальными командами условного перехода.
Таблица 11. – Перечень команд условного перехода для команды CMP
Типы операндов | Команда условного перехода | Критерий условного перехода | Значения флагов для перехода |
Любые | JE | операнд1=операнд2 | ZF=1 |
Любые | JNE | операнд1<>операнд2 | ZF=0 |
Со знаком | JL / JNGE | операнд1<операнд2 | SF<>OF |
Со знаком | JLE / JNG | операнд1<=операнд2 | SF<>OF или ZF=1 |
Со знаком | JG / JNLE | операнд1>операнд2 | Sf=of и zf=0 |
Со знаком | JGE / JNL | операнд1>=операнд2 | SF=OF |
Без знака | JB / JNAE | операнд1<операнд2 | CF=1 |
Без знака | JBE / JNA | операнд1<=операнд2 | CF=1 или ZF=1 |
Без знака | JA / JNBE | операнд1>операнд2 | CF=0 и ZF=0 |
Без знака | JAE / JNB | операнд1>=операнд2 | CF=0 |
Так как команды условного перехода не изменяют флагов, то после одной команды СМР вполне могут следовать несколько команд условного перехода. Это может быть сделано для того, например, чтобы исследовать каждую из альтернативных ветвей: больше, меньше или равно:
.data
mas db dup (?)
.code
…
cmp mas[si]. 5;сравнить очередной элемент массива с 5
je eql;переход, если элемент mas равен 5
jl low;переход, если элемент mas меньше 5
jg grt;переход, если элемент mas больше 5
eql:
…
low:
…
grt:
…
Дата публикования: 2014-12-08; Прочитано: 352 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!