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

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

[复制链接]
发表于 2008-12-15 11:06:50 | 显示全部楼层 |阅读模式
ULONG CR0VALUE;1 l# m# h; v4 |
//只读8 @9 Y7 L0 N7 ~9 p" x3 M1 M# V
__asm{
% J* _" r: \; a5 [4 E  push eax;
% [2 H' M. \. P' D; r  mov eax, cr0;
0 J4 a( ^# d  @2 r3 K  mov CR0VALUE, eax;
8 e- d- j+ @1 e$ m2 W  and eax, 0fffeffffh;
% Q7 M  c7 r: |  mov cr0, eax;
- a$ r. L1 n% r  \# i. i2 L  pop eax;& S- L0 ?& Y$ p  f/ }+ L2 N0 o2 R
};$ `' j5 b5 t8 A1 I, F, A: {

: w# Z, I, F; L2 v: ]8 d//取消只读$ P% O4 m# F2 K$ p6 G
__asm{9 q4 i& K) v! K% }( K
  push eax;6 J5 d: j0 k3 i7 U0 H. k3 i3 ]( J
  mov eax, CR0VALUE; % V1 Q( N: O/ }' \
  mov cr0, eax ;
' g( g' W4 V" B4 \3 U  pop eax;
( h. G# S  F+ _ };+ B8 M+ n, y' }0 E% p/ W
! J& L9 y1 J: C$ W" N" l" Q
以上是一段C里面调用的汇编的程序,但是这段程序只可以在32位的OS下使用,不可以在64位的OS下使用,请哪位大哥帮忙代码转给64位上可以使用的代码。谢谢!
发表于 2008-12-15 17:24:00 | 显示全部楼层
64位编译器不能使用嵌汇编,要不完全写C函数(看你的代码是不可能了),要不自己写个纯汇编函数然后在C语言中调用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-26 08:20 , Processed in 0.042639 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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