巧用 汇编指令 取出CPU通用寄存器大小。
有两个指令 PUSHAD和POPAD他们可以把通用寄存器入栈出栈
这就会改变ESP,从而获得总大小
VC++实现代码如下:
int OldESP=0,NewESP=0,siz=0;
_asm{
mov OldESP,esp
pushad
mov NewESP,esp
popad
}
siz=(OldESP-NewESP);
printf("你的CPU的所有通用寄存器共有:%d字节",siz);
siz=siz/4; //32位机 通用寄存器4字节
printf("\n通用寄存器一共有%d个\n",siz);
getchar();
**** Hidden Message *****
mark 还看不懂 0
页:
[1]