Справочник по языку Ассемблера IBM PC

       

Команды условного перехода и флаги


Мнемоническое обозначение некоторых команд условного перехода отражает название флага, с которым они работают, и имеет следующую структуру: первым идет символ “j” (jump, переход), вторым — либо обозначение флага, либо символ отрицания “n”, после которого стоит название флага.


Такая структура команды отражает ее назначение.


Если символа “n” нет, то проверяется состояние флага, и если он равен 1, производится переход на метку перехода.


Если символ “n” присутствует, то проверяется состояние флага на равенство 0, и в случае успеха производится переход на метку перехода.


Мнемокоды команд, названия флагов и условия переходов приведены в табл. 3.


Эти команды можно использовать после любых команд, изменяющих указанные флаги.

Таблица 3. Команды условного перехода и флаги



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

Если внимательно посмотреть на табл. 2 и 3, видно, что многие команды условного перехода в них являются эквивалентными, так как в основе и тех, и других лежит анализ одинаковых флагов. 



Содержание раздела