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

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

?? pentiumalib.s

?? vxwork源代碼
?? S
?? 第 1 頁 / 共 3 頁
字號:
FUNC_LABEL(pentiumP5PmcGet)	movl	$ MSR_CTR0,%ecx		/* specify PMC0 */	rdmsr				/* read PMC0 to %edx:%eax */	movl	SP_ARG1(%esp),%ecx	movl	%eax,(%ecx)		/* save low-order 32 bits */	movl	%edx,4(%ecx)		/* save high-order 32 bits */	movl	$ MSR_CTR1,%ecx		/* specify PMC1 */	rdmsr				/* read PMC1 to %edx:%eax */	movl	SP_ARG2(%esp),%ecx	movl	%eax,(%ecx)		/* save low-order 32 bits */	movl	%edx,4(%ecx)		/* save high-order 32 bits */	ret/********************************************************************************* pentiumP5PmcGet0 - get the contents of P5 PMC0** SYNOPSIS* \ss* void pentiumP5PmcGet0 (pPmc0)*     long long int * pPmc0;            /@ Performance Monitoring Counter 0 @/* \se** This routine gets the contents of PMC0 (Performance Monitoring Counter 0).* The parameter is a pointer of 64Bit variable to store the content of* the Counter.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumP5PmcGet0)	movl	$ MSR_CTR0,%ecx		/* specify PMC0 */	rdmsr				/* read PMC0 to %edx:%eax */	movl	SP_ARG1(%esp),%ecx	movl	%eax,(%ecx)		/* save low-order 32 bits */	movl	%edx,4(%ecx)		/* save high-order 32 bits */	ret/********************************************************************************* pentiumP5PmcGet1 - get the contents of P5 PMC1** SYNOPSIS* \ss* void pentiumP5PmcGet1 (pPmc1)*     long long int * pPmc1;            /@ Performance Monitoring Counter 1 @/* \se** This routine gets a content of PMC1 (Performance Monitoring Counter 1).* Parameter is a pointer of 64Bit variable to store the content of the Counter.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumP5PmcGet1)	movl	$ MSR_CTR1,%ecx		/* specify PMC1 */	rdmsr				/* read PMC1 to %edx:%eax */	movl	SP_ARG1(%esp),%ecx	movl	%eax,(%ecx)		/* save low-order 32 bits */	movl	%edx,4(%ecx)		/* save high-order 32 bits */	ret/********************************************************************************* pentiumP5PmcReset - reset both PMC0 and PMC1** SYNOPSIS* \ss* void pentiumP5PmcReset (void)* \se** This routine resets both PMC0 (Performance Monitoring Counter 0) and PMC1.** RETURNS: N/A */        .balign 16,0x90FUNC_LABEL(pentiumP5PmcReset)	xorl	%eax,%eax		/* zero low-order 32 bits */	xorl	%edx,%edx		/* zero high-order 32 bits */	movl	$ MSR_CTR0,%ecx 	/* specify MSR_CTR0 */	wrmsr				/* write %edx:%eax to MSR_CTR0 */	movl	$ MSR_CTR1,%ecx 	/* specify MSR_CRT1 */	wrmsr				/* write %edx:%eax to MSR_CTR1 */	ret/********************************************************************************* pentiumP5PmcReset0 - reset PMC0** SYNOPSIS* \ss* void pentiumP5PmcReset0 (void)* \se** This routine resets PMC0 (Performance Monitoring Counter 0).** RETURNS: N/A */        .balign 16,0x90FUNC_LABEL(pentiumP5PmcReset0)	xorl	%eax,%eax		/* zero low-order 32 bits */	xorl	%edx,%edx		/* zero high-order 32 bits */	movl	$ MSR_CTR0,%ecx		/* specify MSR_CTR0 */	wrmsr				/* write %edx:%eax to MSR_CTR1 */	ret/********************************************************************************* pentiumP5PmcReset1 - reset PMC1** SYNOPSIS* \ss* void pentiumP5PmcReset1 (void)* \se** This routine resets PMC1 (Performance Monitoring Counter 1).** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumP5PmcReset1)	xorl	%eax,%eax		/* zero low-order 32 bits */	xorl	%edx,%edx		/* zero high-order 32 bits */	movl	$ MSR_CTR1,%ecx		/* specify MSR_CTR1 */	wrmsr				/* write %edx:%eax to MSR_CTR1 */	ret/********************************************************************************* pentiumTscGet64 - get 64Bit TSC (Timestamp Counter)** SYNOPSIS* \ss* void pentiumTscGet64 (pTsc)*     long long int * pTsc;		/@ Timestamp Counter @/* \se* * This routine gets 64Bit TSC by RDTSC instruction.* Parameter is a pointer of 64Bit variable to store the content of the Counter.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumTscGet64)	movl	SP_ARG1(%esp),%ecx	rdtsc				/* read TSC to %edx:%eax */	movl	%eax,(%ecx)		/* save low-order 32 bits */	movl	%edx,4(%ecx)		/* save high-order 32 bits */	ret/********************************************************************************* pentiumTscGet32 - get the lower half of the 64Bit TSC (Timestamp Counter)** SYNOPSIS* \ss* UINT32 pentiumTscGet32 (void)* \se* * This routine gets a lower half of the 64Bit TSC by RDTSC instruction.* RDTSC instruction saves the lower 32Bit in EAX register, so this routine* simply returns after executing RDTSC instruction.** RETURNS: Lower half of the 64Bit TSC (Timestamp Counter)*/        .balign 16,0x90FUNC_LABEL(pentiumTscGet32)	rdtsc				/* read TSC to %edx:%eax */	ret/********************************************************************************* pentiumTscReset - reset the TSC (Timestamp Counter)** SYNOPSIS* \ss* void pentiumTscReset (void)* \se* * This routine resets the TSC by writing zero to the TSC with WRMSR* instruction.  ** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumTscReset)	xorl	%eax,%eax		/* zero low-order 32 bits */	xorl	%edx,%edx		/* zero high-order 32 bits */	movl	$ MSR_TSC,%ecx		/* specify MSR_TSC */	wrmsr				/* write %edx:%eax to TSC */	ret/********************************************************************************* pentiumMsrGet - get the contents of the specified MSR (Model Specific Register)** SYNOPSIS* \ss* void pentiumMsrGet (addr, pData)*     int addr;			/@ MSR address @/*     long long int * pData;		/@ MSR data @/* \se* * This routine gets the contents of the specified MSR.  The first parameter is* an address of the MSR.  The second parameter is a pointer of 64Bit variable.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumMsrGet)	movl	SP_ARG1(%esp),%ecx	/* specify MSR to read */	rdmsr				/* read the MSR to %edx:%eax */	movl	SP_ARG2(%esp),%ecx	movl	%eax,(%ecx)		/* save low-order 32 bits */	movl	%edx,4(%ecx)		/* save high-order 32 bits */	ret/********************************************************************************* pentiumMsrSet - set a value to the specified MSR (Model Specific Registers)** SYNOPSIS* \ss* void pentiumMsrSet (addr, pData)*     int addr;				/@ MSR address @/*     long long int * pData;		/@ MSR data @/* \se* * This routine sets a value to a specified MSR.  The first parameter is an* address of the MSR.  The second parameter is a pointer of 64Bit variable.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumMsrSet)	movl	SP_ARG2(%esp),%ecx	movl	(%ecx),%eax		/* low-order 32 bits */	movl	4(%ecx),%edx		/* high-order 32 bits */	movl	SP_ARG1(%esp),%ecx	/* specify MSR to read */	wrmsr				/* write %edx:%eax to the MSR */	ret/********************************************************************************* pentiumTlbFlush - flush TLBs (Translation Lookaside Buffers)** SYNOPSIS* \ss* void pentiumTlbFlush (void)* \se* * This routine flushes TLBs by loading the CR3 register.* All of the TLBs are automatically invalidated any time the CR3 register is* loaded.  The page global enable (PGE) flag in register CR4 and the global* flag in a page-directory or page-table entry can be used to frequently used* pages from being automatically invalidated in the TLBs on a load of CR3* register.  The only way to deterministically invalidate global page entries* is to clear the PGE flag and then invalidate the TLBs.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumTlbFlush)	movl    %cr3,%eax	movl    %eax,%cr3		/* flush the TLB */	jmp     pentiumTlbFlush0	/* flush the prefetch queue */pentiumTlbFlush0:	ret/********************************************************************************* pentiumSerialize - execute a serializing instruction CPUID** SYNOPSIS* \ss* void pentiumSerialize (void)* \se* * This routine executes a serializing instruction CPUID.* Serialization means that all modifications to flags, registers, and memory* by previous instructions are completed before the next instruction is fetched* and executed and all buffered writes have drained to memory.** RETURNS: N/A*/        .balign 16,0x90FUNC_LABEL(pentiumSerialize)	pushl	%ebx			/* save ebx which is used by cpuid */	cpuid				/* serializing instruction */	popl	%ebx			/* restore ebx */	ret/********************************************************************************* pentiumBts - execute atomic compare-and-exchange instruction to set a bit** SYNOPSIS* \ss* STATUS pentiumBts (pFlag)*     char * pFlag;			/@ flag address @/* \se* * This routine compares a byte specified by the first parameter with 0.* If it is 0, it changes it to TRUE and returns OK.* If it is not 0, it returns ERROR.  LOCK and CMPXCHGB are used to get * the atomic memory access.** RETURNS: OK or ERROR if the specified flag is not zero.*/        .balign 16,0x90FUNC_LABEL(pentiumBts)	movl	SP_ARG1(%esp),%ecx	xorl	%eax,%eax	movl	$ TRUE,%edx	lock				/* lock the BUS */	cmpxchgb %dl,(%ecx)		/* if (flag == 0) */	jnz	pentiumBts0		/*   {ZF = 1; flag = TRUE;} */	retpentiumBts0:	movl	$ ERROR,%eax	ret/********************************************************************************* pentiumBtc - execute atomic compare-and-exchange instruction to clear a bit** SYNOPSIS* \ss* STATUS pentiumBtc (pFlag)*     char * pFlag;			/@ flag address @/* \se* * This routine compares a byte specified by the first parameter with TRUE.* If it is TRUE, it changes it to 0 and returns OK.* If it is not TRUE, it returns ERROR.  LOCK and CMPXCHGB are used to get * the atomic memory access.** RETURNS: OK or ERROR if the specified flag is not TRUE*/        .balign 16,0x90FUNC_LABEL(pentiumBtc)	movl	SP_ARG1(%esp),%ecx	movl	$ TRUE,%eax	xorl	%edx,%edx	lock				/* lock the BUS */	cmpxchgb %dl,(%ecx)		/* if (flag == TRUE) */	jnz	pentiumBtc0		/*   {ZF = 1; flag = 0;} */	xorl	%eax,%eax	retpentiumBtc0:	movl	$ ERROR,%eax	ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频小说图片| 国产99一区视频免费| 久久97超碰色| 91美女在线视频| 日韩女同互慰一区二区| 最新日韩在线视频| 久久97超碰色| 欧美一二区视频| 一区二区日韩av| 成+人+亚洲+综合天堂| 日韩免费电影一区| 亚洲一二三区不卡| 成人av影视在线观看| 日韩免费一区二区| 亚洲大型综合色站| 成人av在线一区二区| 精品国精品国产| 日本伊人午夜精品| 在线一区二区三区| 国产精品成人午夜| 国产成人av一区二区三区在线 | 欧美—级在线免费片| 日本不卡123| 欧美体内she精高潮| 夜夜嗨av一区二区三区网页| 国产成人精品午夜视频免费 | 久久国产精品免费| 欧美三级欧美一级| 亚洲综合激情另类小说区| 成人深夜在线观看| 久久精品在线观看| 国产一区二区日韩精品| 欧美成人三级在线| 精品一区二区综合| 欧美xxxx老人做受| 国产一区二区三区精品欧美日韩一区二区三区 | 色吧成人激情小说| 一区在线播放视频| 99久久婷婷国产| 亚洲啪啪综合av一区二区三区| www.综合网.com| 亚洲天堂精品视频| 在线观看视频91| 五月天激情综合| 日韩一区二区在线播放| 免费人成在线不卡| 欧美mv日韩mv国产网站app| 毛片av一区二区| 久久综合九色欧美综合狠狠| 激情深爱一区二区| 久久久国产综合精品女国产盗摄| 国产乱码精品一区二区三区av| 国产日产亚洲精品系列| 岛国av在线一区| 一区二区三区精品久久久| 欧美性感一区二区三区| 日韩不卡一区二区三区| 日韩精品一区国产麻豆| 成人中文字幕在线| 亚洲激情六月丁香| 欧美精品777| 国产麻豆成人精品| 亚洲综合一区二区三区| 91精品国产免费| 国产成人鲁色资源国产91色综| 亚洲视频一区二区在线观看| 欧美写真视频网站| 国产精品1区2区| 一区二区欧美精品| 欧美大片一区二区三区| 99久久婷婷国产综合精品| 日韩二区三区在线观看| 国产视频911| 欧美三区在线观看| 国产精品一区二区无线| 樱花草国产18久久久久| 日韩亚洲欧美中文三级| av电影在线观看一区| 麻豆国产91在线播放| 亚洲视频一区二区在线观看| 日韩精品在线看片z| 在线观看日韩精品| 国产黄色精品视频| 青草国产精品久久久久久| 亚洲欧美日韩一区| www久久精品| 精品视频全国免费看| 成人久久久精品乱码一区二区三区| 婷婷六月综合网| 日韩毛片精品高清免费| 久久日韩粉嫩一区二区三区 | 亚洲一区二区黄色| 国产欧美日韩中文久久| 91精品国产综合久久香蕉麻豆| 99热99精品| 国产精品自拍一区| 久久精品国产一区二区三| 亚洲国产精品久久久男人的天堂| 国产精品丝袜一区| 国产午夜精品美女毛片视频| 欧美大度的电影原声| 欧美美女一区二区三区| 91久久人澡人人添人人爽欧美| 成人在线视频首页| 国产成人自拍网| 国产精品综合久久| 激情亚洲综合在线| 国产一区三区三区| 免费一级片91| 丝袜美腿成人在线| 亚洲r级在线视频| 亚洲国产美国国产综合一区二区| 亚洲另类春色校园小说| 亚洲天堂精品视频| 亚洲欧美日韩一区二区| 亚洲色欲色欲www| 亚洲精品成a人| 夜夜精品视频一区二区 | 色老综合老女人久久久| jvid福利写真一区二区三区| 风间由美中文字幕在线看视频国产欧美| 麻豆91精品视频| 麻豆视频观看网址久久| 男人操女人的视频在线观看欧美 | 亚洲精品亚洲人成人网| 国产精品高潮呻吟| 国产精品久久久久久久久晋中| 国产精品国产三级国产aⅴ原创| 国产精品毛片高清在线完整版 | 91老师国产黑色丝袜在线| 成人高清免费观看| 91在线视频18| 欧美色图天堂网| 欧美日韩成人综合在线一区二区| 69成人精品免费视频| 欧美第一区第二区| 日本一区二区视频在线| 中文字幕中文字幕一区| 依依成人精品视频| 亚洲v精品v日韩v欧美v专区 | 精品久久久久99| 国产午夜精品久久久久久久| 国产精品乱码一区二区三区软件 | 国产精品久久网站| 亚洲一区在线看| 蜜桃精品视频在线| caoporm超碰国产精品| 欧美日韩综合一区| 精品国产髙清在线看国产毛片| 欧美激情一区二区三区不卡 | 国产精品一区二区男女羞羞无遮挡| 国产传媒久久文化传媒| 色老综合老女人久久久| 欧美成人性战久久| 综合激情网...| 蜜桃久久久久久久| 色综合咪咪久久| 日韩你懂的在线观看| 亚洲精品视频一区| 黄色资源网久久资源365| 91视频免费播放| 欧美一区二区私人影院日本| 中文字幕欧美三区| 日韩成人伦理电影在线观看| av高清久久久| 欧美精品一区二区精品网| 亚洲蜜臀av乱码久久精品| 国产又粗又猛又爽又黄91精品| 欧美亚洲精品一区| 欧美经典一区二区三区| 日韩精品欧美成人高清一区二区| av电影在线观看完整版一区二区| 欧美v亚洲v综合ⅴ国产v| 亚洲综合区在线| 9l国产精品久久久久麻豆| 日韩精品一区二区三区swag| 亚洲国产精品一区二区www在线| 国产成人丝袜美腿| 欧美tickling挠脚心丨vk| 亚洲成人动漫一区| 色综合久久久久| 国产午夜精品一区二区三区视频 | 韩国在线一区二区| 欧美一区二区日韩一区二区| 亚洲精品网站在线观看| av一二三不卡影片| 中文字幕精品一区二区三区精品| 久久精品国产精品亚洲红杏| 欧美色综合久久| 亚洲日本乱码在线观看| 国产另类ts人妖一区二区| 日韩欧美成人激情| 亚洲精品高清在线| 91麻豆福利精品推荐| 国产亚洲欧美一区在线观看| 国产欧美日韩在线看| 国产精品亚洲成人| 欧美不卡激情三级在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 99久久99久久精品免费看蜜桃|