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

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

[复制链接]
发表于 2008-12-15 11:06:50 | 显示全部楼层 |阅读模式
ULONG CR0VALUE;
+ F" |' [$ x, j( b) l" o5 D//只读  g- [+ N* z  s2 V/ y! |3 d$ K
__asm{! ]6 x6 }. m* a' t5 @1 Z- W
  push eax;
& ~9 f: E# p' p  mov eax, cr0; 0 e' g* ?" o9 ^- P
  mov CR0VALUE, eax; 5 B! h# B- Q/ `% R$ u# Y
  and eax, 0fffeffffh;
* z9 Y7 t7 b. c3 s  mov cr0, eax;$ Y( c/ M$ s+ q; {
  pop eax;# S) n: Q% m/ {+ K* }$ {
};
- v1 [  w0 C% c( _+ } 3 b7 S* w% p0 x) z+ s" t: |7 G
//取消只读. z4 {9 Q* l8 i
__asm{
$ n/ z" N8 d5 e% \! Z) }  push eax;; y; z* k" J/ K
  mov eax, CR0VALUE;
* ~- s$ X# e$ X) u$ I. A/ {: u  mov cr0, eax ;
. x5 w$ \5 n3 J# S  pop eax;
5 s8 |( n! w3 G, v7 Y" `( p };. a7 f) |5 A2 O6 m5 p9 l* L
. H0 n4 B1 F# d! m- h
以上是一段C里面调用的汇编的程序,但是这段程序只可以在32位的OS下使用,不可以在64位的OS下使用,请哪位大哥帮忙代码转给64位上可以使用的代码。谢谢!
发表于 2008-12-15 17:24:00 | 显示全部楼层
64位编译器不能使用嵌汇编,要不完全写C函数(看你的代码是不可能了),要不自己写个纯汇编函数然后在C语言中调用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-19 13:38 , Processed in 0.036949 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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