![]() |
1
18
我很肯定你被
DEP
编辑:
编辑2: 我想我现在有了正确的价值观。请随意验证。
|
![]() |
2
12
我决定改进你的答案。它不再需要不安全的编译,它只需要两个汇编块就可以读取任何和所有cpuid块,因为它只将eax/ebx/ecx/edx写入一个16字节的数组。
|
![]() |
3
6
我接受了@antiduh的代码并将其重构为一个静态方法,因此没有对象生命周期需要管理。这会比较慢,因为在调用Invoke()之间不会重用ASM代码,但是在我的用例中,为了简单起见在速度上进行权衡是有意义的。这个新版本在我的机器上可以在15毫秒内调用CPUID 1000次。 谢谢你那些出色的代码员!
|
|
4
3
我知道这根线很旧,但我非常喜欢这根线。 所以,我在x64CodeBytes中添加“mov ecx,0”。
|
![]() |
5
2
我能推荐下一页吗: http://community.devpinoy.org/blogs/cvega/archive/2006/04/07/2658.aspx 本页将向您展示CPUID的汇编源代码、如何将其编译成DLL以及如何从C#调用它。 http://www.codeproject.com/KB/system/GetHardwareInformation.aspx 此页显示如何获取信息,如主板信息、硬盘信息、cpu信息、显卡信息等。 |
|
6
1
这里是如何得到CPUID0,CPUID1,CPUID2,CPUID4的。
|
![]() |
7
0
为了获得更好的可用性,我将对Invoke签名进行一点修改,如下所示,这样就不需要将get结果作为一组寄存器进行分配
|
![]() |
Esato · 在汇编器中分支到标签时,2f是什么意思? 7 年前 |
![]() |
David Wohlferd · 修改ARM内联程序集中的sp 8 年前 |
![]() |
MK. · GNU内联程序集以移动数据 11 年前 |
![]() |
bug · ELF如何填充其“短”? 12 年前 |