Команды условных переходов без учета знака операнда
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой
Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF IF TF SF ZF AF PF CF

JA  met1 JNBE met1

Перейти на метку, если:

- выше;

- не ниже и не равно.

IF CF= 0 и ZF= 0

IP:= [близкая метка]

--

-- -- -- -- -- 0 -- 0

Mov ax , 25; Загрузить число 25 в АХ.

Cmp ax , bx; Сравнить с числом в ВХ.

Ja met; Перейти на met1, если АХ          

         больше содержимого ВХ.

 

 JAE  met2

JNB  met2

JNC met2

Перейти, если:

- выше или равно;

- не ниже;

- нет переноса.

IF CF= 0

--

-- -- -- -- -- -- -- 0

Mov ax , 25; Загрузить число 25 в АХ.

Cmp ax , bx; Сравнить с числом в ВХ.

Jae met1; Перейти на met2, если АХ          

         больше содержимого ВХ.

JB met3

 JNAE  m3

JC met3

Перейти, если:

- ниже;

-не выше и не равно;

- есть перенос.

IF CF= 1

--

-- -- -- -- -- -- -- 1

Mov ax , 25; Загрузить число 25 в АХ.

Cmp ax , bx; Сравнить с числом в ВХ.

J b met3; Перейти на met3, если АХ          

         Меньше содержимого ВХ.

JBE met4

JNA met4

Перейти, если:

- ниже или равно;

- не выше.

IF CF= 1 или ZF= 1

IP:= [близкая метка]

--

-- -- -- -- -- 1 -- 1

Mov ax , 25; Загрузить число 25 в АХ.

Cmp ax , bx; Сравнить с числом в ВХ.

Jbe met4; Перейти на met4, если АХ          

         меньше или равно ВХ.

JE zero

Перейти на метку, если

 АХ  равен нулю.

IF ZF= 1

IP:= [близкая метка]

--

-- -- -- -- 1 -- -- --

Mov ax , 25; Загрузить число 25 в АХ.

Sub ax , bx; Вычесть из АХ ВХ.

Je zero; Перейти на метку zero, если

            АХ равно ВХ.

JNE met5

JNZ met5

Перейти, если:

- не равно;

- не нуль.

IF ZF=0

IP:= [близкая метка]

--

-- -- -- -- 0 -- -- --

Mov ax , 25; Загрузить число 25 в АХ.

Cmp ax , bx; Сравнить с числом в ВХ.

Jne met5; Перейти на met5, если АХ          

            не равно ВХ.

JPE met6

Перейти, если  в АХ      

четное число единиц.

IF PF= 1

IP:= [близкая метка]

--

-- -- -- -- -- -- 1 --

Mul bx; Умножить АХ на ВХ.

Jp е met6; Перейти на met6, если в АХ          

чётное число единиц.       

                       

 

Продолжение таблицы 3.6

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

 JPO met7

Перейти, если в АХ     

нечетное число

единиц. IF PF= 0  

 IP:= [близкая метка]

--

--

--

-- 

--

--

--

0

--

Mov ax , 25; Загрузить число 25 в АХ.

Mul bx; Умножить на ВХ.

Jp о met7; Перейти на met7, если в АХ          

нечётное число единиц.       

Команды перехода с учетом знака операнда

JG met1

JNLE met1

Перейти, если:

- больше;

- не меньше и не равно.

IF ZF= 0 и SF= OF

 

*

--

--

--

*

0

--

--

--

Mov ax ,7025; Загрузить число в АХ.

Add ax , bx; Сложить с ВХ.

Jg met 1; Перейти на met1, если при

            сложении возник перенос.     

JGE met2

JNL met2

Перейти, если:

- больше или равно;

- не меньше.

IF SF= OF

met2- близкая метка.

*

--

--

--

*

--

--

--

--

Cmp ax , bx; Сравнить с ВХ.

Jge met2; Перейти на met2, если  AX

            больше или равен BX.

JL met3

JNGE met3

Перейти, если:

- меньше;

- не больше и не равно.  IF SF ≠ OF

IP:= [met3]

мet3- близкая метка.

*

--

--

--

*

--

--

--

--

Mov ax ,7025; Загрузить число в АХ.

Cmp ax , bx; Сравнить с ВХ.

Jl met3; Перейти на met3, если AX

            меньше BX.

JCXZ мет4

Перейти, если:

- значение CX= 0.

IF CX= 0 

IP:= [близкая метка]

Cmp с x , 0; СХ равен 0 ?

JCXZ met4; Перейти на met, если да.       

JLE met5

JNG met5

 

Перейти, если:

- меньше или равно

- не больше

IF ZF= 1 или SF≠ OF

IP:= [близкая метка]

*

--

--

--

*

1

--

--

--

Mov ax ,7025; Загрузить число в АХ.

Cmp ax , bx; Сравнить с ВХ.

Jl е met5; Перейти на met5, если AX

            меньше BX.

JLE met5

JNG met5

Перейти, если:

- меньше или равно

- не больше

IF ZF= 1 или SF≠ OF

IP:= [близкая метка]

*

--

--

--

*

1

--

--

--

Mov ax ,7025; Загрузить число в АХ.

Cmp ax , bx; Сравнить с ВХ.

Jl е met5; Перейти на met5, если AX

            меньше BX.

                                                                         

Продолжение таблицы 3.6

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

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

JZ met1

Перейти, если ноль

IF ZF=1, IP:= [met1]

met1-(близкая метка)

--

--

--

--

--

1

--

--

--

Sub ax , bx; Вычесть из АХ ВХ.

Jz met; Перейти, если ZF =1.

JNZ met1

Перейти, если не ноль.

IF ZF=0, IP:= [met1]

--

--

--

--

--

0

--

--

--

Sub ax , bx; Вычесть из АХ ВХ.

Jnz met; Перейти, если ZF =0.

JS met2

Перейти, если знак

IF SF= 1, IP:= [met2]

мet-(близкая метка)

--

--

--

--

1

--

--

--

--

Sub ax , bx; Вычесть из АХ ВХ.

Js met2; Перейти, если SF =1.

JNS met3

Переход, если не знак

IF SF= 0, IP:= [met3]

met2-(близкая метка)

--

--

--

--

0

--

--

--

--

Sub ax , bx; Вычесть из АХ ВХ.

Jns met3; Перейти, если SF =0.

JO met4

 

Перейти, если переполнение

IF OF= 1, IP:= [met4]

met3-(близкая метка)

1

--

--

--

--

--

--

--

--

Add ax , bx; Сложить АХ и ВХ.

J о met4; Перейти, если ОF =1.

JNO met5

 

Перейти, если

Не переполнение

IF OF= 0, IP:= [met5]

мet4-(близкая метка)

0

--

--

--

--

--

--

--

--

Add ax , bx; Сложить АХ и ВХ.

Jn о met5; Перейти, если ОF =0.

JP mеt6

Перейти, если паритет четный.

IF РF= 1, IP:= [met6]

мet5-(близкая метка)

--

--

--

--

--

--

--

1

--

Mov ax ,637 H;

Add ax , bx; Сложить АХ и ВХ.

J p met6; Перейти, если РF =1.

JC met7

 

Перейти, если перенос.

IF CF= 1, IP:= [met7].

--

--

--

--

1

--

--

--

--

Add ax , bx; Сложить АХ и ВХ.

J np met7; Перейти, если CF =1.

JNC met8

 

Перейти, если

не перенос.

IF CF= 0, IP:= [met8].

--

--

--

--

0

--

--

--

--

Add ax , bx; Сложить АХ и ВХ.

J np met8; Перейти, если CF =0.

JNP mеt9

 

 

Дата: 2018-11-18, просмотров: 503.