Собственно на прямую чтение регистра CR4 не выходит : Код (Text): .. __asm { PUSH EAX MOV EAX, CR4; <-- .. } .. error C2094: label 'CR4' was undefined Как читать значение CR4 ? Собираю в VS2k8 В исходниках reactOS нашёл как раз этот кусочек (..\ReactOS-0.3.4-REL-src\ReactOS-0.3.4\hal\halx86\mp\apic.c ) Код (Text): static __inline__ __attribute__((always_inline)) unsigned long __readcr4(void) { unsigned long value; __asm__ __volatile__("mov %%cr4, %[value]" : [value] "=q" (value)); return value; } Подскажите как это "перевести" на С\С++ под win32
DeRekX Запиши в маш кодах. db 0Fh,20h,E0h Встроенный ассемблер поддерживает не все конструкции ассемблера пользуйся сторонним и подключай его как подуль. http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/eb9a2585-ca3f-477f-ad08-a5aa04a68671/ Там еще и другой способ предложили вызывать __readcr4 В конце концов можно сменить компилятор.
Да, интрин рулит, правда чтоб юзать его с нтфс надо его немного подрихтовать (покоментить Interlocked...). Я еще юзаю в дровах windows.h и проч. (у мну один код на дрова и на юзермод) так что там много покоментить надо было (1 раз, потом каждую переустановку студии просто подрубаешь ддк без установки)
Код (Text): __inline ULONG CR4( ) { // mov eax, cr4 __asm _emit 0x0F __asm _emit 0x20 __asm _emit 0xE0 } их исходника Great http://www.wasm.ru/pub/21/files/mem_management/ptetest.rar \mmvalid.h Great: приятно, когда меня цитируют =). - прим. Great