Доброго времени суток! В указанной в теме дизассемблере длин есть функция для определения команды с относительной адресации: Код (Text): char __fastcall IsRelativeCmd(unsigned char *pOpcode) { UCHAR Flags; if (*pOpcode == 0x0F) Flags = OpcodeFlagsExt[*(PUCHAR)((ULONG)pOpcode + 1)]; else Flags = OpcodeFlags[*pOpcode]; return (Flags & OP_REL32); } Так вот, в случае если первый байт команды не 0x0F, то берется значение флага из массива OpcodeFlags по индексу значение опкода. И вот я смотрю этот массив и вижу что флаг относительно адресации стоит по индексам 0xE8, 0xE9 и..... почему-то 0xFF: Код (Text): OP_DATA_PRE66_67 | OP_REL32, // E8 OP_DATA_PRE66_67 | OP_REL32, // E9 .................. OP_MODRM | OP_REL32 // FF Из Intel документации так: Код (Text): FF /4 JMP r/m16 N.S. Valid Jump near, absolute indirect, address = sign-extended r/m16. FF /4 JMP r/m32 N.S. Valid Jump near, absolute indirect, address = sign-extended r/m32. Вроде абсолютный адрес тут . Или я не правильно понимаю что-то?