Инструкция 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