Команды условной передачи управления для прочих проверок

l JE/JZ (Jump if Equal/Zero) — переход, если равно/нуль (ZF = 1).

l JNE/JNZ (Jump if Not Equal/Not Zero) — переход, если не равно/не нуль (ZF = 0).

l JS (Jump if Sign) — переход, если есть знак (отрицательно) (SF = 1).

l JNS (Jump if Not Sign) — переход, если нет знака (положительно) (SF = 0).

l JC (Jump if Carry) переход, если есть перенос (аналог JB) (CF = 1).

l JNC(Jump if Not Carry) — переход, если нет переноса (аналог JNB) (CF = 0).

l JO (Jump if Overflow) — переход, если есть переполнение (OF = 1).

l JNO (Jump if Not Overflow) — переход, если нет переполнения (OF = 0).

l JP/JPE (Jump if Parity/Parity Even) — переход, если есть четность (PF = 1).

l JNP/JPO (Jump if No Parity/Parity Odd) — переход, если нет четности (PF = 0).

l JCXZ (Jump if CX is Zero) — переход, если содержимое регистра CX равно 0 (CX = 0).

Команды управления циклами

Используются для повторения цикла известное число раз. Количество повторений предварительно записывается в регистр CX (счетчик циклов). Каждый цикл автоматически уменьшает показание CX на 1.

Основная команда: LOOP метка.

Циклы повторяются до обнуления CX. Команда уменьшает значение в регистре CX на единицу и передает управление по прямому адресу — метке, если значение в регистре CX не равно нулю; в противном случае выполняется следующая по порядку команда. Флаги не меняет. Существуют еще 4 альтернативные команды, в которых можно поставить дополнительные условия. Передачи управления командами типа LOOP только ближние и короткие (метки near и short).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: