Code (Text): __declspec(naked) NTSTATUS __stdcall XpZwQuerySystemInformation( __in ULONG SysClass, __inout PVOID SysInfo, __in ULONG SysInfoLength, __out PULONG RetLength ) { __asm{ mov eax, 0xAD call FastSystemCall retn 0x10 FastSystemCall: mov edx, esp sysenter } //<<< указывает сюда } выдает ошибку бок с сисэнтер? писать только опкод?
Там в настройках линкера кажись есть опция: Тип процессора. Когда устанавливаешь PentiumPro таких траблов возникать не должно. ИМХО У меня были траблы не с сисэнтером, а с ммх. Таким вот образом траблу решил. За сисэнтер не уверен
Project -> Properties -> Compile -> Advanced Compile Options -> Target CPU Тут какие варианты в выпадающем списке есть? (Студии 2005 нет - посмотреть не могу). У меня VC6 установлен, в нём максимум PPro - а для sysenter надо Pentium 2.
cppasm посмотрел в 7 студии - там есть опция процессор только под названием "Optimize for processor" рискну предположить что 6я студия использует эту опцию только для оптимизации кода, а не для распознавания инструкций во встроенном ассемблере