АШ
Size: a a a
АШ
LW
КП
s
nop
.АШ
LW
AM
АШ
АШ
LW
АШ
АШ
LW
LW
АШ
s
ff 2c → ff 00'101'100; mode=00b, opcode extension 101 = 5, r/m = 100
смотрим на твою ссылку — FF/5
как раз jmp far
.ff 24 → ff 00'100'100, opcode extension 100 = 4, остальное так же
, смотрим — FF/4
написано jump near
. Для 25
будет то же самое, потому что младший бит на опкод не влияет. А разница в том, что mode=00, r/m=100
— это признак того, что за ModR/M идёт SIB. В 32-битном режиме разницы нет, просто другой вариант кодирования. А в 64-битном режиме ff 24 25
читает по 32-битному абсолютному адресу, расширенному до 64 бит, а ff 25
тоже по 32-битному, но RIP-relative.АШ