- •Лабораторна робота №5. Використання команд умовного переходу
- •2. Короткі теоретичні відомості
- •2.1 Ja Перехід якщо вище
- •2.2 Jae Перехід якщо вище або дорівнює
- •2.3 Jb Перехід якщо нижче
- •2.4 Jbe Перехід якщо нижче або дорівнює
- •2.5 Jc Перехід якщо перенос
- •2.7 Je Перехід якщо дорівнює
- •2.8 Jg Перехід якщо більше
- •2.9 Jge Перехід якщо більше або дорівнює
- •2.10 Jl Перехід якщо менше
- •2.11 Jle Перехід якщо менше або дорівнює
- •2.17 Jne Перехід якщо не дорівнює
- •2.23 Jnp Перехід якщо непарне
- •2.24 Jns Перехід якщо додатній результат
- •2.25 Jnz Перехід якщо не нуль
- •2.26 Jo Перехід якщо є переповнення
- •2.27 Jp Перехід якщо парне
- •2.28 Jpe Перехід якщо парне
- •2.29 Jpo Перехід якщо непарне
- •2.30 Js Перехід якщо негативний результат
- •2.31 Jz Перехід якщо нуль
- •3. Порядок виконання роботи.
- •4. Контрольні запитання
- •5. Література.
Лабораторна робота №5. Використання команд умовного переходу
1. Мета роботи: вивчення прийомів використання команд умовного переходу у програмах.
2. Короткі теоретичні відомості
2.1 Ja Перехід якщо вище
Ознаки не міняються .
Команда: JA short-label .
Умова переходу: Jump if CF = 0 and ZF = 0 .
Команда JA використовується після команд CMP і SUB і
передає керування по мітці short-label, якщо перший операнд (який повинний бути числом без знака) був більше, ніж другий операнд
(також без знака). Ціль переходу повинна лежати в межах від
-128 до 127 байтів від наступної команди.
Примітки:
Команда JNBE, перехід якщо не нижче і не дорівнює, - це та ж
команда, що і JA.
Команду JA, перехід якщо вище, варто використовувати при
порівнянні чисел без знака.
Команду JG, перехід якщо більше, варто використовувати при
порівнянні чисел зі знаком.
2.2 Jae Перехід якщо вище або дорівнює
Ознаки не міняються .
Команда: JAE short-label .
Умова переходу: Jump if CF = 0
Команда JAE використовується після команд CMP або SUB і
передає керування по мітці short-label, якщо перший операнд був
більше або дорівнює другому. (Два операнди розглядаються як
числа без знака.) Ціль переходу повинна лежати в межах від
-128 до 127 байтів від наступної команди.
Примітки:
Команда JNB, перехід якщо не нижче, - це та ж команда,
що і JAE.
Команду JAE, перехід якщо вище або дорівнює, слід
використовувати при порівнянні чисел без знака.
Команду JGE, перехід якщо більше або дорівнює, слід
використовувати при порівнянні чисел зі знаком.
2.3 Jb Перехід якщо нижче
Ознаки не міняються.
Команда: JB short-label.
Умова переходу: Jump if CF = 1 .
Команда JB використовується після команд CMP і SUB і передає
керування по мітці short-label, якщо перший операнд був мень-
ше, чим другий. (Два операнди розглядаються як числа без
знака.) Ціль переходу повинна лежати в межах від -128 до 127
байтів від наступної команди.
Примітки:
Команди JC (перехід якщо перенос), JB і JNAE (перехід якщо
не вище і не дорівнює) усі є синонімами однієї і тією же
команди.
Команду JB, перехід якщо нижче, варто використовувати при
порівнянні чисел без знака.
Команду JL, перехід якщо менше, варто використовувати при
порівнянні чисел зі знаком.
2.4 Jbe Перехід якщо нижче або дорівнює
Ознаки не міняються.
Команда: JBE short-label.
Умова переходу: Jump if CF = 1 or ZF = 1 .
Команда JBE використовується після команд CMP і SUB і передає
керування по мітці short-label, якщо перший операнд був менше
або дорівнює другому. (Два операнди розглядаються як числа без
знака.) Ціль переходу повинна лежати в межах від -128 до 127
байтів від наступної команди.
Примітки:
Команда JNA, перехід якщо не вище, - це та ж команда,що і JBE.
Команду JBE, перехід якщо нижче або дорівнює, слід
використовувати при порівнянні чисел без знака.
Команду JLE, перехід якщо менше або дорівнює, слід
використовувати при порівнянні чисел зі знаком.