找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 9282|回复: 1

求教,如何将32位代码转为64位代码。

[复制链接]
发表于 2008-12-15 11:06:50 | 显示全部楼层 |阅读模式
ULONG CR0VALUE;4 z9 P* l! _4 l2 y4 `: @
//只读
6 ?! e$ R, y' `% O __asm{9 L  \; J% T2 L$ I( U5 c
  push eax;, d4 x" {3 Q' i. s2 A' R$ w4 j
  mov eax, cr0;
1 n6 h2 e2 V. p! y6 c+ ^5 T  mov CR0VALUE, eax;
8 `: J8 j" A+ r$ t5 l  and eax, 0fffeffffh;
5 x2 z0 X2 e. G+ o' ~# O  mov cr0, eax;
% ^* c+ Y* P0 d$ v# r  pop eax;3 v# c8 K5 d- D) q# p0 t4 M
};
* I, v3 o( d: ], w2 l
& f5 T5 t* Q8 O1 l//取消只读
1 r8 A" _5 I2 p; g! [0 ]2 M+ X, _ __asm{- w2 {' ~' t* s
  push eax;
; Z- V! \( B- Q7 ~" a( O& Y  mov eax, CR0VALUE;
0 c8 G1 R. U; Q- i/ u4 g* [  mov cr0, eax ;0 {" S4 c, e8 d( `
  pop eax;
- K, E+ a0 \9 W4 F };" |) t; \5 A7 w
- Z! j4 y& N) r
以上是一段C里面调用的汇编的程序,但是这段程序只可以在32位的OS下使用,不可以在64位的OS下使用,请哪位大哥帮忙代码转给64位上可以使用的代码。谢谢!
发表于 2008-12-15 17:24:00 | 显示全部楼层
64位编译器不能使用嵌汇编,要不完全写C函数(看你的代码是不可能了),要不自己写个纯汇编函数然后在C语言中调用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-3-5 14:13 , Processed in 0.130857 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表