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

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

[复制链接]
发表于 2008-12-15 11:06:50 | 显示全部楼层 |阅读模式
ULONG CR0VALUE;, v6 ]) v: o3 [" r
//只读! m  _) w( W; r! ?. l
__asm{
  z3 h& o. {6 X- K- Y1 H+ H3 ~* R! k  push eax;4 f, H; X" g( X! ~9 `) d0 v7 K& ]: O
  mov eax, cr0;
, B; z& z+ R2 G/ ?+ L0 G2 H  mov CR0VALUE, eax; ) L& Q7 L; \! K+ N  G0 q% V% |
  and eax, 0fffeffffh;   H5 K0 H$ k4 P6 H7 X0 G: J" t* o
  mov cr0, eax;! J) |6 S5 f7 Q3 H3 Z
  pop eax;9 a; e" o0 d, y. \, N$ e
};
8 T; S# R* O+ ^; s 3 o- h" v9 K0 t6 D: q. R( U
//取消只读
. e% o$ P: X* o9 x' N0 r __asm{% {5 J5 ^$ d0 y6 j! d( y5 H
  push eax;
0 C$ x" f9 G, U; n. H' H  mov eax, CR0VALUE;
- `) M6 k  ?4 r4 I, ^  mov cr0, eax ;2 L9 U% _( _$ W9 @1 |* K
  pop eax;
* j) d; c* D& a/ r8 I. P- V };6 w8 d4 S. \1 U; B2 U

. o6 w9 ^4 N8 \3 F2 o+ d# [1 ~以上是一段C里面调用的汇编的程序,但是这段程序只可以在32位的OS下使用,不可以在64位的OS下使用,请哪位大哥帮忙代码转给64位上可以使用的代码。谢谢!
发表于 2008-12-15 17:24:00 | 显示全部楼层
64位编译器不能使用嵌汇编,要不完全写C函数(看你的代码是不可能了),要不自己写个纯汇编函数然后在C语言中调用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 14:32 , Processed in 0.088713 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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