Команды условного перехода. Все команды условного перехода разделяют на три группы.

Jxx <метка>

 

Все команды условного перехода разделяют на три группы.

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

 

E – equal (равно)

N – not (не, отрицание)

G – greater (больше) – для чисел со знаком

L – less (меньше) – для чисел со знаком

A – above (выше, больше) – для чисел без знака

B – below (ниже, меньше) – для чисел без знака

 

Мнемокод Содержательное условие для перехода после CMP op1,op2 Состояние флагов для перехода
для любых чисел:
JE op1=op2 ZF=1
JNE op1<>op2 ZF=0
для чисел со знаком:
JL/JNGE op1<op2 SF<>OF
JLE/JNG op1<=op2 SF<>OF или ZF=1
JG/JNLE op1>op2 SF=OF и ZF=0
JGE/JNL op1>=op2 SF=OF
для чисел без знака:
JB/JNAE op1<op2 CF=1
JBE/JNA op1<=op2 CF=1 или ZF=1
JA/JNBE op1>op2 CF=0 и ZF=0
JAE/JNB op1>=op2 CF=0

 

Пример: записать в Z максимальное из чисел X и Y.

 

MOV AX,X

CMP AX,Y ; X=Y?

JGE M ; X>=Y ->M

MOV AX,Y

M: MOV Z,AX

 

Во вторую группу команд условного перехода входят те, которые следуют после команд, отличных от команды сравнения, и которые реагируют на то или иное значение какого-нибудь определенного флага. В мнемокодах этих команд указывается первая буква проверяемого флага, если переход должен быть выполнен при значении 1 у флага, либо эта буква указывается с буквой N (not), если переход надо сделать при нулевом значении флага.

 

Мнемокод Условие перехода Мнемокод Условие перехода
JZ ZF=1 JNZ ZF=0
JS SF=1 JNS SF=0
JC CF=1 JNC CF=0
JO OF=1 JNO OF=0
JP PF=1 JNP PF=0

 

Пример: требуется вычислить C=A*A+B, но если ответ превосходит размер байта, тогда надо передать управление на метку ERROR.

 

MOV AL,A

MUL AL

JC ERROR

ADD AL,B

JC ERROR

MOV C,AL

 

В третью группу входит только одна команда условного перехода, проверяющая значение регистра CX:

 

JCXZ <метка>

 

Действие команды JCXZ можно описать так:

if cx=0 then goto < метка >.

 








Дата добавления: 2015-10-09; просмотров: 1489;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.