Команда JMP - это безусловный переход на адрес, указанный с помощью операнда команды. Переход может быть как ближним, в пределах одного сегмента памяти, так и дальним, межсегментным переходом. Адрес перехода может задаваться как непосредственно с помощью меток, так и с помощью регистра, в котором находится адрес перехода. Также адрес перехода может находиться в ячейке памяти.

 

Команда JMP
Синтаксис: JMP op1
Операнды: op1 - i16, i32, i48, r/m16, r/m32, m48
Назначение: Безусловный переход
Процессор: 8086+
Флаги: Не изменяются
Комментарий: Командa JMP передает управление по адресу, заданному операндом. В зависимости от типа операнда процессор трактует его значение по-разному:
  • Непосредственное значение
    Трактуется процессором как смещение адреса перехода относительно следующей команды или как адрес дальнего межсегментного перехода.
  • Регистр
    Его значение будет принято процессором в качестве адреса перехода в пределах текущего сегмента.
  • Ячейка памяти
    В зависимости от размера ячейки памяти, процессор трактует содержимое этой ячейки как адрес ближнего или дальнего перехода.
Ограничения: Нет
Примеры:
jmp	l1		;Ближний переход, непосредственное смещение
jmp	l2		;Дальний переход, непосредственный адрес
jmp	ax		;Ближний переход, адрес в регистре AX
jmp	[bx]		;Ближний переход, адрес в ячейке памяти,
			;адресуемой регистром BX
jmp dword ptr [bx]	;Дальний переход, адрес в 32-битной ячейке памяти,
			;адресуемой регистром BX
l1:
	...

l2	label	far
	...