Инструкция JG


Как выучить английский Как выучить английский

В наше время любой человек должен знать английский язык. А тем более программист. Потому что довольно большая часть документации существует только на английском. А профессионал не может ждать, пока кто-то переведёт ему документацию. Он должен уметь быстро получать нужную инфорамцию и использовать её, независимо от того, на каком она языке - на английском или на русском... Ссылки на курсы по английскому...

Инструкция JG выполняет короткий переход, если первый операнд БОЛЬШЕ второго операнда при выполнении операции сравнения с помощью команды CMP.

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

JG МЕТКА

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

Инструкция JG проверяет флаги ZF, SF и OF. Переход выполняется, если

  • ZF = 0
  • SF = OF

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

Инструкция JG входит в список команд условного перехода, но, в отличие от большинства этих команд, может сравнивать и отрицательные числа.

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

	.model	tiny
	.code
	ORG 	100h
	
start:	

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

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

В конце, как всегда, расскажу, почему эта команда ассемблера называется JG. Буква J - это первая буква слова слова JUMP (прыжок, переход). А буква G - это первая буква слова GREATER (больше). Таким образом набор слов, от которых взяты первые буквы имени команды JG, можно перевести как “переход, если больше”.



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

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