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

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

[复制链接]
发表于 2008-12-15 11:06:50 | 显示全部楼层 |阅读模式
ULONG CR0VALUE;
, h4 L! d) W8 m: n5 E//只读( f) c$ e; s0 Q
__asm{
6 |0 d# R, \) D# [/ i. _  push eax;3 q. r! Q# Z6 u( r
  mov eax, cr0; 9 O# T7 w! C7 ]9 O# a
  mov CR0VALUE, eax;
( `4 `- w9 D- o  and eax, 0fffeffffh;
# Z" U2 S; {+ ^6 }( }" |; Q  mov cr0, eax;
( T. c8 \6 q% k9 w9 x7 Q  pop eax;. G$ I2 j( k& s! T
};
+ Z  C  h, h5 m, W+ r
/ ^, W) z8 m: Y9 c3 P: {//取消只读2 i$ J* @# G+ m. X' _9 B1 X: l
__asm{6 O4 A' m3 i( {6 g. Q! h
  push eax;: C. S4 ~( K# l; k3 a
  mov eax, CR0VALUE;
0 c( Q! b/ e( ?; d0 ~+ q  mov cr0, eax ;
( t/ S4 p" I0 M( u4 J  f  pop eax;1 _) `, x' i& L2 Q: x- r- }) G
};1 u) N  N. F& a. o% G

% B$ R- r; ], j5 U4 P9 u; l! v以上是一段C里面调用的汇编的程序,但是这段程序只可以在32位的OS下使用,不可以在64位的OS下使用,请哪位大哥帮忙代码转给64位上可以使用的代码。谢谢!
发表于 2008-12-15 17:24:00 | 显示全部楼层
64位编译器不能使用嵌汇编,要不完全写C函数(看你的代码是不可能了),要不自己写个纯汇编函数然后在C语言中调用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-5 00:08 , Processed in 0.025879 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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