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

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

[复制链接]
发表于 2008-12-15 11:06:50 | 显示全部楼层 |阅读模式
ULONG CR0VALUE;
1 X- i% ]4 j/ Q" \+ I3 V' C+ o( t* D//只读5 z' E( p  ~4 k3 k8 c
__asm{  _- G, l1 y) F6 C
  push eax;6 A1 M* F1 z0 F- d
  mov eax, cr0;
6 L2 e. {9 Y! x0 `4 U  mov CR0VALUE, eax;
9 ^7 E/ W, J% U  and eax, 0fffeffffh;
! g2 A4 v9 h5 W* q' U9 L; o  mov cr0, eax;/ e9 V  f" c- d; ?7 N6 h
  pop eax;& x& n: x" z0 n0 b
};
; L% }" [2 M$ s, I
! ^7 [( ~2 ~& V//取消只读; r3 e. R1 j' ?
__asm{
0 s. y3 V4 \- U5 Y" a  push eax;
" c  C& t' c( }  q& A  mov eax, CR0VALUE;
+ T: G5 e5 h6 m) k: t4 e  mov cr0, eax ;
/ z6 Y% b# r9 ~7 V7 W  C( R3 Z% l  pop eax;) x* \& |5 L5 N" B  W  r- y
};
& J9 K. _( s% S. _9 y8 u  j
+ c! I7 R( q. I- b6 W1 a9 D/ d3 s0 g以上是一段C里面调用的汇编的程序,但是这段程序只可以在32位的OS下使用,不可以在64位的OS下使用,请哪位大哥帮忙代码转给64位上可以使用的代码。谢谢!
发表于 2008-12-15 17:24:00 | 显示全部楼层
64位编译器不能使用嵌汇编,要不完全写C函数(看你的代码是不可能了),要不自己写个纯汇编函数然后在C语言中调用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-15 05:16 , Processed in 0.136549 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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