JMP (Переход) безусловно передает управление адресату. Команда JMP является однонаправленной командой передачи управления; она не сохраняет адрес возврата в стеке.
Команда JMP передает управление из текущей процедуры в другую процедуру. Адрес процедуры указывается непосредственно в команде, в регистре или в ячейке памяти. Местоположение адреса определяет, интерпретируется ли адрес как относительный адрес или как абсолютный адрес.
Относительный адрес. Относительный переход использует смещение (непосредственная константа, используемая при вычислении адреса) заданное в команде. Смещение имеет знак и длину (байт или двойное слово). Адрес назначения формируется путем сложения смещения и адреса, хранящегося в регистре EIP. После этого в регистре EIP будет содержаться адрес команды, которая должна выполняться после команды перехода.
Абсолютный адрес. Абсолютный переход используется с 32-разрядным смещением одним из следующих способов :
- Программа может выполнять переход по адресу в регистре общего назначения. Это 32-разрядное значение копируется в регистр EIP и выполнение продолжается.
- Адресат назначения может быть переменной в памяти, указанной с использованием сдандартного режима адресации. Операнд копируется в регистр EIP и выполнение продолжается.