IA-32 позволяет прыгать в середину инструкции по историческим причинам. Набор команд x86 является результатом последовательных уровней по сравнению с набором команд, используемым 8080, предшественником первого «x86» - что возвращает нас к концу 70-х годов. В то время оперативная память была очень дорогой, и стоило иметь как можно более короткие инструкции, даже если это подразумевало, что все инструкции не имеют одинаковую длину. Прямо сейчас, длина инструкции IA-32 может быть где угодно между 1 байтом и больше чем 12 байтов. Это подразумевает, что любой адрес потенциально может быть началом инструкции (без требования выравнивания), но многие адреса указывают на некоторый байт в середине инструкции. Прыжок в середину инструкции указывает ЦПУ переосмыслить байты машинного кода, начиная с целевого байта перехода, что приводит к совершенно другим инструкциям.
Для оптимизации правильный способ использовать функцию «прыгнуть в середину» состоит в том, чтобы не использовать ее. Процессор декодирует поток команд, конвертируя его внутренне в последовательность микрокоманд с гораздо более регулярной структурой, и работает над этим, чтобы ускорить процесс (параллельное выполнение, следование спекулятивному переходу и т. Д.). Средние прыжки могут нанести ущерб этим оптимизациям.