На самом деле существует три типа инструкций JMP
; короткий, ближний и дальний (длинный).
Короткое JMP
является относительным JMP
, на которое вы ссылаетесь. Он кодируется как два байта; фактическое JMP
и количество байтов +/- относительно текущего IP.
Близкий прыжок позволяет прыгать в пределах текущего «сегмента» (с использованием условий реального режима) или в пределах выбранной области памяти в селекторе CS.
Длинный или Far JMP
дополнительно включает в себя селектор (или сегмент в режиме реального времени)
Вы можете посмотреть тайминги для себя. Самое большое различие, связанное с временем, вызвано разным количеством байтов, которое необходимо прочитать для выполнения JMP
.
Какой набор инструкций вы говорите? –
набор инструкций x86 – nadavge
И вы не можете найти документацию по отдельным инструкциям для этого * чрезвычайно хорошо документированного процессора? – usr2564301