我对组装完全不熟悉; 目前我正在尝试将下面提到的汇编代码执行转换为等效的Windows,但甚至没有获得一个提示.任何帮助将asm块中的下述代码移植到等效的窗口都将受到高度赞赏.
void cpuid(uint32_t idx,
uint32_t *eax,
uint32_t *ebx,
uint32_t *ecx,
uint32_t *edx)
{
asm volatile (
"test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid"
: "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
: "0" (idx), "1" (pv_context) );
}
Run Code Online (Sandbox Code Playgroud)
汇编语言变体与CPU系列/型号有关,而与操作系统无关.此外,这看起来像是特定编译器支持的特殊asm编码...所以您可能希望使用相同的编译器(如果是可移植的)和/或端口到特定目标编译器的表示法.除非您解释可以定位的编译器,否则没有人可以帮助您.
| 归档时间: |
|
| 查看次数: |
513 次 |
| 最近记录: |