Windows上的32位_asm代码到64位汇编代码

我有一个驱动程序代码havin一个使用_asm (内联汇编)的汇编代码,当我在32位WDK中进行编译时它工作正常,但它抛出以下错误:

“错误C4235:使用非标准扩展名:此架构不支持’_asm’关键字”

请转换以下_asm代码进行64位编译。

 _asm { mov ebx, cr0 push ebx and ebx, ~010000h mov cr0, ebx } 

使用Microsoft的编译器内在函数,

 #include  __writecr0(__readcr0() & ~0x1000); 

这应该适用于x86和x64(当然,操作CR0只能在内核模式下完成)。