Команда JBE


Что такое JavaScript Что такое JavaScript

Если вы интересуетесь программированием вообще, и сайтостроением в частности, то вы наверняка слышали слово JavaScript. И, если вы до сих пор не узнали толком, что же это такое, то пришло время сделать это. Подробнее...

Команда JBE выполняет короткий переход, если первый операнд МЕНЬШЕ или РАВЕН второму операнду при выполнении операции сравнения с помощью команды CMP.

Синтаксис команды JBE:

JBE МЕТКА

О метках я рассказывал в статье о команде JMP. Повторяться не буду.

Инструкция JBE проверяет флаги CF и ZF. Если любой из этих флагов равен 1, то выполняется переход к МЕТКЕ.

Сама же инструкция JBE при работе никакие флаги не изменяет.

Как видите, от инструкции JB эта команда отличается только тем, что проверяет не один, а два флага - CF и ZF. То есть если инструкция JB выполняет переход, если меньше, то инструкция JBE выполняет переход в любом из двух случаев:

  1. Если первый операнд меньше второго
  2. ИЛИ первый операнд равен второму

Напомню также, что команда JBE, также как и команда JB, выполняет в ассемблере условный переход.

Пример использования команды JBE приведён ниже:

	.model	tiny
	.code
	ORG 	100h
	
start:	

	MOV AL, 6      ; AL = 6
	MOV AH, 5      ; AH = 5
	CMP AL, AH     ; AL > AH, ZF = 0, CF = 0
	JBE  lblJBE
	;Так как AL > AH, то УСЛОВИЕ ПЕРЕХОДА НЕ ВЫПОЛНЯЕТСЯ
	;Поэтому будут выполнены следующие инструкции
	MOV AL, 5      ; AL = 5
	MOV AH, 6      ; AH = 6
	CMP AL, AH     ; AL < AH, ZF = 0, CF = 1
	JBE lblJBE
	;Так как AL < AH, то УСЛОВИЕ ПЕРЕХОДА ВЫПОЛНЯЕТСЯ
	;Поэтому следующие инструкции НЕ будут выполнены,
	;а будет переход сразу к метке lblJBE
lblJBE2:
	MOV AH, 9      ; AH = 6
	
lblJBE:	
	MOV AL, AH     ; AL = 6 при первом заходе, ZF = 1 
	               ; и 9 - при втором, ZF = 0
	MOV AH, 6      ; AH = 6
	CMP AL, AH     ; AL = AH при первом заходе,
	               ; AL > AH при втором
	JBE lblJBE2
	
	MOV AH, 15
	
	END	start

В комментариях всё подробно расписано, поэтому что-то ещё добавлять нет смысла. Если нужно более подробно, то см. видео выше.

В конце попробую предположить, почему эта команда ассемблера называется JBE. Возникновение сокращения JB я попытался разъяснить здесь. А буква Е - это первая буква слова EQUAL (одинаковый, равный). Таким образом набор слов, от которых взяты первые буквы имени команды JBE, можно перевести как “переход, если меньше или равно”.



Первые шаги в программирование Первые шаги в программирование

Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика