Инструкция JNA


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

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

Инструкция JNA в Ассемблере выполняет короткий переход, если первый операнд НЕ больше второго (то есть меньше или равен второму) при выполнении команды CMP. Синтаксис:

JNA МЕТКА

Флаги не изменяются.

Алгоритм работы команды:

Если CF = 1 или ZF = 1, 
то выполнить переход к МЕТКЕ.

Команда работает с числами БЕЗ знака (то есть только с неотрицательными числами).

Пример:

	.model	tiny
	.code
	ORG 	100h
	
start:	

	MOV AL, 5      ; AL = 5
	MOV AH, 5      ; AH = 5
	CMP AL, AH     ; AL = AH, SF = OF
	JNA lblJNA
	;Так как AL = AH, то УСЛОВИЕ ПЕРЕХОДА ВЫПОЛНЯЕТСЯ,
	;а следующие инструкции НЕ выполняются, 
	;так как программа переходит к метке lblJNA
	MOV AL, 100    ; AL = 5
	
lblJNA:	
	MOV AH, 15  
	
	RET
	
	END	start

Напоследок, как всегда, о происхождении аббревиатуры JNA.

JNA - это Jump if Not Above (переход, если НЕ больше).

ПРИМЕЧАНИЕ
Чтобы не путать БОЛЬШЕ и МЕНЬШЕ (GREAT и LESS), которые используются при сравнении операндов со знаком, при сравнении операндов БЕЗ знака используются понятия ABOVE и BELOW (ВЫШЕ и НИЖЕ).



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

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