亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cpuid.h

?? 通過機器硬件設備加密軟件的算法,支持反敗為勝跟蹤等.
?? H
字號:

#ifndef cpuid_h
#define cpuid_h

//add by lr
#ifdef __cplusplus
extern "C"{
#endif

// OPCODE DEFINITIONS //////////////////////////////////////////
#define CPU_ID _asm _emit 0x0f _asm _emit 0xa2 	
										// CPUID instruction

#define RDTSC  _asm _emit 0x0f _asm _emit 0x31	
										// RDTSC instruction


// VERSION DEFINITION //////////////////////////////////////////
#define VERSION		0x0101		// Must be 2 bytes in length. 
								//   First two digits (upper 
								//   byte) is the major version.
								//   Second two digits (lower
								//   byte) is the minor version.
								//   i.e. 0x0100  = major version
								//   of 1 and minor version 00.


// VARIABLE STRUCTURE DEFINITIONS //////////////////////////////
struct TIME_STAMP
{
	DWORD High;					// Upper 32-bits of Time Stamp
								//   Register value
	
	DWORD Low;					// Lower 32-bits of Time Stamp
};								//   Register value



// Function Prototypes /////////////////////////////////////////

////////////////////////////////////////////////
// Get and save vendor ID
char* wincpuVendorID(BOOL bUse);

/***************************************************************
* WORD wincpuidsupport()
* =================================
* Wincpuidsupport() tells the caller whether the host processor
* supports the CPUID opcode or not.
*
* Inputs: none
*
* Returns:
*  1 = CPUID opcode is supported
*  0 = CPUID opcode is not supported
***************************************************************/

WORD wincpuidsupport();


/***************************************************************
* WORD wincpuid()
* ===============
* This routine uses the standard Intel assembly code to 
* determine what type of processor is in the computer, as
* described in application note AP-485 (Intel Order #241618).
* Wincpuid() returns the CPU type as an integer (that is, 
* 2 bytes, a WORD) in the AX register.
*
* Returns:
*  0 = 8086/88
*  2 = 80286
*  3 = 80386
*  4 = 80486
*  5 = Pentium(R) Processor
*  6 = PentiumPro(R) Processor
*  7 or higher = Processor beyond the PentiumPro6(R) Processor
*
*  Note: This function also sets the global variable clone_flag
***************************************************************/
WORD  wincpuid();


/***************************************************************
* WORD wincpuidext()
* ==================
* Similar to wincpuid(), but returns more data, in the order
* reflecting the actual output of a CPUID instruction execution:
*
* Returns:
* AX(15:14) = Reserved (mask these off in the calling code 
*				before using)
* AX(13:12) = Processor type (00=Standard OEM CPU, 01=OverDrive,
*				10=Dual CPU, 11=Reserved)
* AX(11:8)  = CPU Family (the same 4-bit quantity as wincpuid())
* AX(7:4)   = CPU Model, if the processor supports the CPUID 
*				opcode; zero otherwise
* AX(3:0)   = Stepping #, if the processor supports the CPUID 
*				opcode; zero otherwise
*
*  Note: This function also sets the global variable clone_flag
***************************************************************/
WORD  wincpuidext(BOOL bUse);


/***************************************************************
* DWORD wincpufeatures()
* ======================
* Wincpufeatures() returns the CPU features flags as a DWORD 
*    (that is, 32 bits).
*
* Inputs: none
*
* Returns:
*   0 = Processor which does not execute the CPUID instruction.
*          This includes 8086, 8088, 80286, 80386, and some 
*		   older 80486 processors.                       
*
* Else
*   Feature Flags (refer to App Note AP-485 for description).
*      This DWORD was put into EDX by the CPUID instruction.
*
*	Current flag assignment is as follows:
*
*		bit31..10   reserved (=0)
*		bit9=1      CPU contains a local APIC (iPentium-3V)
*		bit8=1      CMPXCHG8B instruction supported
*		bit7=1      machine check exception supported
*		bit6=0      reserved (36bit-addressing & 2MB-paging)
*		bit5=1      iPentium-style MSRs supported
*		bit4=1      time stamp counter TSC supported
*		bit3=1      page size extensions supported
*		bit2=1      I/O breakpoints supported
*		bit1=1      enhanced virtual 8086 mode supported
*		bit0=1      CPU contains a floating-point unit (FPU)
*
*	Note: New bits will be assigned on future processors... see
*         processor data books for updated information
*
*	Note: This function also sets the global variable clone_flag
***************************************************************/
DWORD wincpufeatures(BOOL bUse);


/***************************************************************
* struct TIME_STAMP winrdtsc()
* ============================
* Winrdtsc() returns the value in the Time Stamp Counter (if one
* exists).
*
* Inputs: none
*
* Returns:
*   0 = CPU does not support the time stamp register
*
* Else
*   Returns a variable of type TIME_STAMP which is composed of 
*      two DWORD variables. The 'High' DWORD contains the upper
*      32-bits of the Time Stamp Register. The 'Low' DWORD 
*      contains the lower 32-bits of the Time Stamp Register.
*
*  Note: This function also sets the global variable clone_flag
***************************************************************/
struct TIME_STAMP winrdtsc();


/***************************************************************
* unsigned short getdllversion()
* ==============================
* Getdllversion() returns the Major and minor version of this
* DLL.
*
* Inputs: none
*
* Returns:  Major and Minor version of this DLL.
* 		
*		i.e.	getdllversion() = 0x01 00
*					  Major Version<--|-->Minor Version
*			
***************************************************************/
unsigned short getdllversion(void);



// Private Function Declarations ///////////////////////////////

/***************************************************************
* static WORD check_clone()
*
* Inputs: none
*
* Returns:
*   1      if processor is clone (limited detection ability)
*   0      otherwise
***************************************************************/
static WORD check_clone();


/***************************************************************
* static WORD check_8086()
*
* Inputs: none
*
* Returns: 
*   0      if processor 8086
*   0xffff otherwise
***************************************************************/
static WORD check_8086();


/***************************************************************
* static WORD check_80286()
*
* Inputs: none
*
* Returns:
*   2      if processor 80286
*   0xffff otherwise
***************************************************************/
static WORD check_80286();


/***************************************************************
* static WORD check_80386()
*
* Inputs: none
*
* Returns:
*   3      if processor 80386
*   0xffff otherwise
***************************************************************/
static WORD check_80386();


/***************************************************************
* static WORD check_IDProc()
* ==========================
* Check_IDProc() uses the CPUID opcode to find the family type
* of the host processor.
*
* Inputs: none
*
* Returns:
*  CPU Family (i.e. 4 if Intel 486, 5 if Pentium(R) Processor)
*
*  Note: This function also sets the global variable clone_flag
***************************************************************/
static WORD check_IDProc();

////////////////////////////////////////
//original defined in speed.h

// CONSTANT DEFINITIONS ////////////////////////////////////////
#define CLONE_MASK		0x8000	// Mask to be 'OR'ed with proc-

//
////////////////////////////////////////
#ifdef __cplusplus
}//extern "C"{ //add by lr
#endif

#endif cpuid_h

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级久久久| 99在线视频精品| 日韩一级完整毛片| 丝袜诱惑制服诱惑色一区在线观看 | 精品国免费一区二区三区| 免费久久99精品国产| 国产精品系列在线| 色综合久久综合网97色综合| 一级做a爱片久久| 欧美日韩一区二区电影| 免费高清不卡av| 久久午夜色播影院免费高清| 粉嫩一区二区三区在线看| 国产精品久久午夜夜伦鲁鲁| 在线欧美日韩国产| 看国产成人h片视频| 国产亚洲欧洲997久久综合| aaa欧美色吧激情视频| 亚洲国产aⅴ成人精品无吗| 亚洲精品国产精华液| 欧美性受xxxx| 极品瑜伽女神91| 亚洲日本一区二区| 日韩一级片在线播放| 成人动漫中文字幕| 亚洲国产va精品久久久不卡综合| 精品99一区二区三区| 色噜噜狠狠色综合中国| 久久99久久精品欧美| 亚洲免费三区一区二区| 欧美成人在线直播| 91久久线看在观草草青青| 美女精品自拍一二三四| 亚洲乱码国产乱码精品精98午夜 | 欧美videofree性高清杂交| 国产东北露脸精品视频| 日韩精品一二三区| **欧美大码日韩| 精品少妇一区二区三区在线视频| 色婷婷av一区二区三区之一色屋| 91免费观看视频在线| 狠狠色丁香九九婷婷综合五月| 一区二区三区在线免费观看| 久久久久久久性| 欧美一区二区三区成人| 91精品91久久久中77777| 国产成人在线视频播放| 日本亚洲天堂网| 亚洲自拍偷拍麻豆| 日韩毛片高清在线播放| 国产网站一区二区| 精品奇米国产一区二区三区| 欧美视频中文字幕| 91麻豆国产福利精品| 国产.欧美.日韩| 精品一二三四区| 日韩中文字幕av电影| 国内精品在线播放| 奇米精品一区二区三区在线观看一 | 国产99久久久国产精品潘金网站| 日韩不卡免费视频| 亚洲成人午夜影院| 亚洲在线一区二区三区| 亚洲欧美色综合| 中文字幕亚洲综合久久菠萝蜜| 久久久久一区二区三区四区| 精品国产一区二区三区忘忧草| 在线播放国产精品二区一二区四区| 久久综合av免费| 欧美成人性福生活免费看| 91精品国产综合久久精品性色| 在线观看亚洲专区| 91成人国产精品| 色婷婷激情一区二区三区| 91在线视频观看| 国产成人在线免费| 成人午夜电影小说| heyzo一本久久综合| 97精品国产露脸对白| 99视频在线观看一区三区| 日韩电影在线观看网站| 久久国产精品72免费观看| 久久se精品一区二区| 国产精品一色哟哟哟| 国产电影一区二区三区| 97精品国产露脸对白| 久久嫩草精品久久久久| 欧美高清在线一区二区| 综合电影一区二区三区 | 欧美一级二级在线观看| 91精品国产色综合久久不卡电影| 日韩一区二区三区免费观看| 欧美一区二区三区小说| 久久婷婷国产综合国色天香| 国产欧美日韩一区二区三区在线观看 | 亚洲国产精品v| 亚洲欧美日韩精品久久久久| 亚洲午夜成aⅴ人片| 99久久精品免费| 欧美日韩一区二区在线观看视频| 欧美日韩成人综合在线一区二区| 日韩一级完整毛片| 国产精品久久久久一区二区三区共| 亚洲欧美激情一区二区| 日韩精品一级中文字幕精品视频免费观看| 久久精品理论片| 成人av影视在线观看| 欧美日韩成人激情| 久久精品免视看| 一区二区三区四区视频精品免费 | 精品久久久久久久人人人人传媒 | 亚洲一区中文日韩| 麻豆精品新av中文字幕| 波多野结衣精品在线| 欧美色中文字幕| 久久久激情视频| 亚洲一区二区高清| 国产精品一区二区视频| 欧美综合在线视频| 久久人人爽人人爽| 亚洲国产视频网站| 欧美乱妇一区二区三区不卡视频| 欧美mv日韩mv国产| 亚洲永久精品国产| 国产高清久久久| 51精品视频一区二区三区| 中文字幕日本不卡| 久久福利资源站| 欧美羞羞免费网站| 中文字幕国产一区| 久久精品国产秦先生| 在线视频一区二区三| 久久色.com| 日本aⅴ精品一区二区三区 | 天天做天天摸天天爽国产一区| 国产乱码精品一品二品| 欧美老肥妇做.爰bbww| 美女视频第一区二区三区免费观看网站| heyzo一本久久综合| 久久久精品免费免费| 欧美aa在线视频| 欧美日韩亚洲国产综合| 亚洲视频1区2区| 成人黄色国产精品网站大全在线免费观看| 欧美精品丝袜中出| 亚洲尤物在线视频观看| 91色九色蝌蚪| 国产女人18毛片水真多成人如厕| 麻豆专区一区二区三区四区五区| 欧美在线视频日韩| 亚洲乱码国产乱码精品精98午夜| 国产成人av网站| 久久久久久久免费视频了| 喷水一区二区三区| 91精品视频网| 天堂资源在线中文精品| 欧洲精品在线观看| 一区二区免费视频| 色综合久久66| 亚洲欧美电影一区二区| 99re成人精品视频| 18涩涩午夜精品.www| av色综合久久天堂av综合| 亚洲国产精品成人综合色在线婷婷| 国产麻豆精品一区二区| 国产欧美精品一区aⅴ影院| 国产精品综合在线视频| 久久久久久夜精品精品免费| 国产中文一区二区三区| 亚洲人成网站精品片在线观看| av亚洲精华国产精华| 亚洲免费观看视频| 欧洲av在线精品| 午夜亚洲福利老司机| 91精品婷婷国产综合久久竹菊| 日本中文一区二区三区| 精品入口麻豆88视频| 国产激情精品久久久第一区二区| 国产欧美一区二区精品久导航| 国产成人在线免费| 亚洲欧美激情一区二区| 欧美日韩情趣电影| 老司机午夜精品| 国产亚洲精品久| 色综合久久久久综合体| 亚洲成人7777| 精品国产精品一区二区夜夜嗨| 国产裸体歌舞团一区二区| 国产精品欧美久久久久一区二区| 9i看片成人免费高清| 性做久久久久久免费观看欧美| 亚洲天堂av一区| 欧美日韩国产在线观看| 久久99精品久久久久久久久久久久 | 日本欧美一区二区三区乱码| 26uuu国产日韩综合| 91免费视频大全| 偷偷要91色婷婷| 久久精品一区二区三区不卡牛牛| 99久久精品情趣|