Головна

умовні переходи

  1. Безумовні рефлекси та їх значення для розвитку дитини
  2. Безумовні рефлекси та їх класифікація.
  3. Діяльні рефлекси Умовні діяльні рефлекси
  4. Використані скорочення і умовні позначення
  5. Логічні переходи
  6. ПОЗНАЧЕННЯ УМОВНІ ГРАФІЧНІ В СХЕМАХ
  7. переходи

В системі команд мікропроцесора є більше 30 команд, які керують переходами на мітки за умовою. Мнемокод цих команд: jc мітка, jcc мітка, jccc мітка и jcccc мітка, Де j від слова jump (стрибок), а з, сс, ссс і сссс - визначають конкретні умови. Мітка може знаходитися тільки всередині поточного сегмента коду.

При виконанні команди умовного переходу перевіряються:

- Або відношення між операндами зі знаком ( «більше - менше»);

- Або відношення між операндами без знака ( «вище - нижче»);

- Або стану арифметичних прапорів: zf (Zero flag - прапор нуля), sf (Sign flag - прапор знака), cf (Carry flag - прапор перенесення), of (Overflow flag - прапор переповнення), pf (Parity flag - прапор паритету);

- Або дорівнює чи (нерівно) нулю вміст регістра ecx / cx.

Отже, джерелами умови можуть бути:

- Команда, яка зраджує стан прапорів. Команди умовного переходу і стану прапорів показані в таблиці 1.

- Команда порівняння cmp операнд_1 операнд_2 віднімає операнд_2 з

операнда_1 і по результату віднімання встановлює прапори. команди

умовного переходу для команди cmp представлені в таблиці 2.

- Вміст регістра ecx / cx. Синтаксис команди умовного переходу з використанням регістрів ecx / cx наступний:

jcxz мітка - Перехід, якщо в сх нуль;

jecxz мітка - Перехід, якщо в eсх нуль.


Таблиця 1.

 Назва прапора  Номер біта в регістрі eflags / flags  Команда умовного переходу  Значення прапора для осуществле-ня переходу
 Прапор переносу cf  jc  cf = 1
 Прапор парності РF  jp  pf = 1
 Прапор нуля zf  jz  zf = 1
 Прапор знака sf  js  sf = 1
 Прапор переповнення of  jo  of = 1
 Прапор переносу cf  jnc  cf = 0
 Прапор парності РF  jnp  pf = 0
 Прапор нуля zf  jnz  zf = 0
 Прапор знака sf  jns  sf = 0
 Прапор переповнення of  jno  of = 0

Таблиця 2.

 Тіпиоперандов  Мнемокодкоманди умовах а-ного переходу  Критерій умовного переходу  Значення прапорів для здійснення умовного переходу
 будь-які  je  операнд_1 = операнд_2  zf = 1
 будь-які  jne  операнд_1 ? операнд_2  zf = 0
 зі знаком  jl / jnge  операнд_1 <операнд_2  sf ? of
 зі знаком  jle / jng  операнд_1 <= операнд_2  sf ? of or zf = 1
 зі знаком  jg / jnle  операнд_1> операнд_2  sf = of and zf = 0
 зі знаком  jge / jnl  операнд_1 => операнд_2  sf = of
 без знака  jb / jnae  операнд_1 <операнд_2  cf = 1
 без знака  jbe / jna  операнд_1 <= операнд_2  cf = 1 or zf = 1
 без знака  ja / jnbe  операнд_1> операнд_2  cf = 0 and zf = 0
 без знака  jae / jnb  операнд_1 => операнд_2  cf = 0

 



самостійні розробки | Переходи з допомогою команди CALL

заняття 1 | Організація роботи з асемблером | Програма типу EXE на макроассемблере | Програма типу com на макроассемблере | Спрощені директиви сегментації | Mess1 db 0Ah, 0Dh | Sub AX, AX. | Jmp outprog; На завершення програми | Режими адресації. Дані. Робота з масивами | Програма пошуку елемента в масиві |

© um.co.ua - учбові матеріали та реферати