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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cachealib.s

?? VxWorks BSP框架源代碼包含頭文件和驅(qū)動
?? S
字號:
/* cacheALib.s - 68K cache management assembly routines *//* Copyright 1984-1994 Wind River Systems, Inc. */	.data	.globl  _copyright_wind_river	.long   _copyright_wind_river/*modification history--------------------01p,31oct94,kdl  merge cleanup.01o,26oct94,tmk  added MC68LC040 support01n.03jun94,tpr  clean up following code review.		 added MC68060 cpu support.01m,03feb93,jdi  mangen fixes.01l,24jan93,jdi  documentation cleanup for 5.1.01k,19oct92,jcf  back to version 1j. I_CACHE == 0, D_CACHE == 101j,09oct92,rdc  DATA_CACHE = 0, INSTRUCTION_CACHE = 1 !!01i,01oct92,jcf  changed names. added cacheDTTR0ModeSet.01h,24sep92,jdi  documentation cleanup.01g,23aug92,jcf  changed bxxx to jxx.01f,16jul92,jwt  added mc68kWriteBufferFlush(), cacheDtr0Get(), and                  cacheDtr0Set() for 68040 5.1 cache library.01e,26may92,rrr  the tree shuffle01d,07jan92,jcf  added special 68040 data cache disable routine.		 cleaned up so 68000/68010 don't carry unnecessary luggage.		 cleaned up cacheCPUSHSet() and cacheCINVSet().01c,04oct91,rrr  passed through the ansification filter		  -fixed #else and #endif		  -changed VOID to void		  -changed ASMLANGUAGE to _ASMLANGUAGE		  -changed copyright notice01b,28aug91,shl  added cacheCPUSHSet() and cacheCINVSet() for MC68040		 cache manipulation, updated copyright.01a,17jul90,jcf  written; based on sysCacheEnable ().*//*DESCRIPTIONThis library contains routines to modify the Motorola 68K family CACR/CAAR control registers.INCLUDE FILES: cacheLib.hSEE ALSO: cacheLibINTERNALWe avoid assembler differences by use of .word's to hand code the trickyassembly syntax.*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#if (CPU==MC68020)				/* 68020 ONLY routines */	.globl	_cacheCAARSet			/* set CAAR register */	.globl	_cacheCAARGet			/* get CAAR register */#endif	/* CPU==MC68020 *//* 68040/060 ONLY routines */#if (CPU==MC68040 || CPU==MC68060 || CPU==MC68LC040)	.globl  _cacheCPUSH			/* push and invalidate cache */	.globl  _cacheCINV			/* invalidate cache */	.globl	_cache040DataDisable		/* data cache disable routine */	.globl	_cache040WriteBufferFlush	/* flush the push buffer */	.globl	_cacheDTTR0ModeSet		/* set with mode DTTR0 reg */	.globl	_cacheDTTR0Set			/* set DTTR0 register */	.globl	_cacheDTTR0Get			/* get DTTR0 register value */#endif	/* CPU==MC68040 || CPU==MC68060 CPU==MC68LC040 *//* 680[246]0 routines */#if (CPU==MC68020 || CPU==MC68040 || CPU==MC68060 || CPU==MC68LC040)		.globl	_cacheCACRSet		/* set CACR register */	.globl	_cacheCACRGet		/* get CACR register */#endif	/* CPU==MC68020 || CPU==MC68040 || CPU==MC68LC040 */	.text	.even/* 680[246]0 routines */#if (CPU==MC68020 || CPU==MC68040 || CPU==MC68060 || CPU==MC68LC040)/********************************************************************************* cacheCACRSet - set the CACR register (68K)** This routine sets the CACR control register.** RETURNS: N/A** SEE ALSO: * .I "Motorola MC68020 32-Bit Microprocessor User's Manual"* void cacheCACRSet*     (*     int newValue		/@ new value for the CACR @/*     )*/_cacheCACRSet:	link	a6,#0	movel	a6@(ARG1),d0		/* put new CACR value */	.word	0x4e7b, 0x0002		/* movec d0,cacr */	unlk	a6	rts/********************************************************************************* cacheCACRGet - get the CACR register (68K)** This routine gets the CACR control register.** RETURNS: The value of the CACR register.** SEE ALSO: * .I "Motorola MC68020 32-Bit Microprocessor User's Manual"* int cacheCACRGet (void)*/_cacheCACRGet:	link	a6,#0	.word	0x4e7a, 0x0002		/* movec cacr,d0 */	unlk	a6	rts#endif /* (CPU==MC68020 || CPU==MC68040 || CPU==MC68060 || CPU==MC68LC040) */#if (CPU==MC68020)			/* CAAR only on MC68020 *//********************************************************************************* cacheCAARSet - set the CAAR register (68K)** This routine sets the CAAR control register.** RETURNS: N/A** SEE ALSO: * .I "Motorola MC68020 32-Bit Microprocessor User's Manual"* void cacheCAARSet*     (*     int newValue		/@ new value for the CAAR @/*     )*/_cacheCAARSet:	link	a6,#0	movel	a6@(ARG1),d0		/* put new CAAR value */	.word	0x4e7b, 0x0802		/* movec d0,caar */	unlk	a6	rts/********************************************************************************* cacheCAARGet - get the CAAR register (68K)** This routine gets the CAAR control register.** RETURNS: The value of the CAAR register.** SEE ALSO: * .I "Motorola MC68020 32-Bit Microprocessor User's Manual"* int cacheCAARGet (void)*/_cacheCAARGet:	link	a6,#0	.word	0x4e7a, 0x0802		/* movec caar,d0 */	unlk	a6	rts#endif /* CPU==MC68040 || CPU==MC68060 CPU==MC68LC040 */#if (CPU==MC68040 || CPU==MC68060 || CPU==MC68LC040)/********************************************************************************* cache040DataDisable - push, invalidate, and disable MC68040/MC68060 data cache** This is the support routine for turning off the MC68040/MC68060 data cache.* This routine pushes the entire cache to the main memory,* invalidates the data cache, and finally disables the CACR bit for the* data cache.** This special purpose routine is due to the constraint that the push and* the disable of the MC68040/MC68060 data cache must be done as adjacent* operations when using copyback mode.  The issue only arises when disabling* the data cache.** The MC68060 provides a push buffer, like the MC68040, but also a four-entry* store buffer. This store buffer is used to defer pending writes in order to* increase the processor performance. When enabled the store buffer is used* only in writethrough mode and cache inhibited non serial mode. The store* buffer and push buffer are fluched when synchronize instructions (i.e. nop)* are excecuted.** Interrupts are locked out during the execution of this routine.* * void cache040DataDisable () * NOMANUAL*/_cache040DataDisable:	link	a6,#0	movew	sr,d1			/* preserve status register */	orw	#0x0700,sr		/* LOCK INTERRUPTS */	.word	0xf478			/* cpusha dc */	.word	0x4e7a,0x0002		/* movec cacr,d0 */	andl	#0x7fffffff,d0		/* turn off data cache */	.word	0x4e7b,0x0002		/* movec d0,cacr */	nop				/* flush the push and store buffer */	movew	d1,sr			/* UNLOCK INTERRUPTS */	unlk	a6	rts/********************************************************************************* cacheCPUSH - push and invalidate cache lines (68K)** This routine pushes the specified cache lines to the main memory and* then invalidates the specified cache lines from a specified* cache.** RETURNS: N/A* void cacheCPUSH*     (*     int cache,			/@ cache type  @/*     int scope,			/@ scope field @/*     int line				/@ cache line  @/*     )*/_cacheCPUSH:	link	a6,#0	movel	a6@(ARG3),a0		/* line */	movel	a6@(ARG2),d1		/* scope */	movel	a6@(ARG1),d0		/* cache */	jne     CPUSHData		/* not i-cache manipulation */CPUSHInst:	cmpl	#1,d1			/* scope == CACHE_LINE? */	jne 	CPUSHInstPage		/* try CACHE_PAGE */	nop				/* as per 68040 errata sheet */	.word	0xf4a8			/* cpushl ic,a0@ */	jra 	CPUSHFinish		/* done */CPUSHInstPage:	cmpl	#2,d1			/* scope == CACHE_PAGE? */	jne 	CPUSHInstAll		/* try CACHE_ALL */	nop				/* as per 68040 errata sheet */	.word	0xf4b0			/* cpushp ic,a0@ */	jra 	CPUSHFinish		/* done */CPUSHInstAll:	cmpl	#3,d1			/* scope == CACHE_ALL? */	jne 	CPUSHFinish		/* invalid scope type */	nop				/* as per 68040 errata sheet */	.word	0xf4b8			/* cpusha ic */	jra 	CPUSHFinish		/* done */CPUSHData:	cmpl	#1,d0			/* cache == DATA_CACHE? */	jne 	CPUSHFinish		/* invalid cache type */	cmpl	#1,d1			/* scope == CACHE_LINE? */	jne 	CPUSHDataPage		/* try CACHE_PAGE */	nop				/* as per 68040 errata sheet */	.word	0xf468			/* cpushl dc,a0@ */	jra 	CPUSHFinish		/* done */CPUSHDataPage:	cmpl	#2,d1			/* scope == CACHE_PAGE? */	jne 	CPUSHDataAll		/* try CACHE_ALL */	nop				/* as per 68040 errata sheet */	.word	0xf470			/* cpushp dc,a0@ */	jra 	CPUSHFinish		/* done */CPUSHDataAll:	cmpl	#3,d1			/* scope == CACHE_ALL? */	jne 	CPUSHFinish		/* invalid scope type */	nop				/* as per 68040 errata sheet */	.word	0xf478			/* cpusha dc */CPUSHFinish:	unlk	a6			/* unlink */	rts				/* we're outta here *//********************************************************************************* cacheCINV - invalidate cache lines (68K)** This routine invalidates the specified cache lines from a specified* cache.** RETURNS: N/A* void cacheCINV*     (*     int cache,		/@ cache type  @/*     int scope,		/@ scope field @/*     int line			/@ cache line  @/*     )*/_cacheCINV:	link	a6,#0	movel	a6@(ARG3),a0		/* line */	movel	a6@(ARG2),d1		/* scope */	movel	a6@(ARG1),d0		/* cache */	jne     CINVData		/* not i-cache manipulation */CINVInst:	cmpl	#1,d1			/* scope == CACHE_LINE? */	jne 	CINVInstPage		/* try CACHE_PAGE */	nop				/* as per 68040 errata sheet */	.word	0xf488			/* cinvl ic,a0@ */	jra 	CINVFinish		/* done */CINVInstPage:	cmpl	#2,d1			/* scope == CACHE_PAGE? */	jne 	CINVInstAll		/* try CACHE_ALL */	nop				/* as per 68040 errata sheet */	.word	0xf490			/* cinvp ic,a0@ */	jra 	CINVFinish		/* done */CINVInstAll:	cmpl	#3,d1			/* scope == CACHE_ALL? */	jne 	CINVFinish		/* invalid scope type */	nop				/* as per 68040 errata sheet */	.word	0xf498			/* cinva ic */	jra 	CINVFinish		/* done */CINVData:	cmpl	#1,d0			/* cache == DATA_CACHE? */	jne 	CINVFinish		/* invalid cache type */	cmpl	#1,d1			/* scope == CACHE_LINE? */	jne 	CINVDataPage		/* try CACHE_PAGE */	nop				/* as per 68040 errata sheet */	.word	0xf448			/* cinvl dc,a0@ */	jra 	CINVFinish		/* done */CINVDataPage:	cmpl	#2,d1			/* scope == CACHE_PAGE? */	jne 	CINVDataAll		/* try CACHE_ALL */	nop				/* as per 68040 errata sheet */	.word	0xf450			/* cinvp dc,a0@ */	jra 	CINVFinish		/* done */CINVDataAll:	cmpl	#3,d1			/* scope == CACHE_ALL? */	jne 	CINVFinish		/* invalid scope type */	nop				/* as per 68040 errata sheet */	.word	0xf458			/* cinva dc */CINVFinish:	unlk	a6			/* unlink */	rts				/* we're outta here *//********************************************************************************* cache040WriteBufferFlush - flush the MC68040/MC68060 push buffer** This routine forces the MC68040/MC68060 push buffer to be flushed (via* execution of a NOP instruction) and the store buffer(MC68060 only) .** ** RETURNS: N/A* STATUS cache040WriteBufferFlush (void)*/_cache040WriteBufferFlush:	nop				/* Flush the push and store buffer */	clrl	d0			/* return OK */	rts/********************************************************************************* cacheDTTR0ModeSet - set the data transparent translation register to mode** void cacheDTTR0Set (UINT ttr)** NOMANUAL*/_cacheDTTR0ModeSet:	link	a6,#0	movel	a7@(ARG1),d1	.word   0x4e7a,0x0006		/* movec DTT0,d0 */	andl	#0xffffff9f,d0		/* mask off mode specifier */	orl	d1,d0			/* or in the new mode specifier */	.word   0x4e7b,0x0006		/* movec d0,DTT0 */	unlk	a6	rts/********************************************************************************* cacheDTTROGet - read data transparent translation register 0** UINT cacheDTTR0Get (void)** NOMANUAL*/_cacheDTTR0Get:	.word   0x4e7a,0x0006		/* movec DTT0,d0 */	rts/********************************************************************************* cacheDTTR0Set - write data transparent translation register 0** void cacheDTTR0Set (UINT ttr)** NOMANUAL*/_cacheDTTR0Set:	link	a6,#0	movel	a7@(ARG1),d0	.word   0x4e7b,0x0006		/* movec d0,DTT0 */	.word	0xf518			/* pflusha */	unlk	a6	rts#endif	/* (CPU==MC68040 || CPU==MC68060 || CPU==MC68LC040) */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱人伦偷精品视频免下载| 激情综合网av| 日本v片在线高清不卡在线观看| 国产精品88888| 欧美色网站导航| 中文字幕欧美激情| 老司机精品视频线观看86| 色香色香欲天天天影视综合网| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲国产精品天堂| 在线观看网站黄不卡| 久久久久久久久久久久久久久99 | 成人免费毛片aaaaa**| 欧美美女网站色| 亚洲精品视频在线| 成人动漫在线一区| 精品av久久707| 日韩黄色片在线观看| 欧洲激情一区二区| 亚洲男人的天堂在线观看| 成人黄色电影在线| 亚洲国产精品国自产拍av| 韩国成人在线视频| 欧美成人一区二区| 麻豆91精品视频| 91精品国产一区二区| 午夜精品成人在线| 欧美日本韩国一区二区三区视频 | 亚洲精品一区二区三区四区高清| 日韩在线a电影| 欧美一区二区在线视频| 亚洲成在人线免费| 4438x成人网最大色成网站| 亚洲自拍偷拍图区| 91视频免费观看| 亚洲精品久久久蜜桃| 色哟哟日韩精品| 亚洲综合在线电影| 欧洲精品中文字幕| 秋霞av亚洲一区二区三| 精品国产免费视频| 国产成人三级在线观看| 国产欧美日产一区| 99re热视频精品| 亚洲一区二区三区在线播放 | 成人动漫中文字幕| 亚洲私人黄色宅男| 欧美视频一区二区| 国内精品视频666| 中文字幕第一区二区| 91美女片黄在线观看| 亚洲尤物在线视频观看| 91精品国产品国语在线不卡| 麻豆中文一区二区| 国产欧美一区二区精品忘忧草| 国产91丝袜在线观看| 亚洲美女视频在线观看| 在线成人免费观看| 国产一区免费电影| 国产精品久久久久久久蜜臀| 99精品偷自拍| 日本欧美肥老太交大片| 日本一区二区三区国色天香| 色狠狠综合天天综合综合| 蜜桃久久精品一区二区| 国产精品久久久久久久第一福利| 91久久精品一区二区| 狂野欧美性猛交blacked| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲男同性视频| 日韩欧美在线一区二区三区| 成人激情动漫在线观看| 婷婷久久综合九色综合伊人色| 精品国产一区二区三区四区四| 成人深夜福利app| 天堂影院一区二区| 中文字幕一区二区三区色视频| 欧美一区二区三区在线观看视频| 高清成人在线观看| 日韩国产欧美三级| 亚洲欧美aⅴ...| 久久综合色之久久综合| 欧美日韩成人一区二区| 成人免费观看视频| 美女久久久精品| 亚洲大片在线观看| 亚洲丝袜精品丝袜在线| 久久蜜臀精品av| 欧美人与禽zozo性伦| 99热在这里有精品免费| 国产毛片精品国产一区二区三区| 午夜精品免费在线观看| 亚洲免费观看高清完整版在线观看熊| 精品伦理精品一区| 欧美一区欧美二区| 在线播放中文字幕一区| 色婷婷久久久久swag精品| 高清免费成人av| 国产精品一区三区| 国产在线国偷精品免费看| 天堂va蜜桃一区二区三区 | 欧美在线制服丝袜| 成人激情动漫在线观看| 国产电影精品久久禁18| 激情欧美一区二区三区在线观看| 日韩av在线免费观看不卡| 亚洲在线视频免费观看| 亚洲综合久久久久| 一区二区三区四区不卡视频 | 国产欧美精品在线观看| 久久人人爽爽爽人久久久| 精品国产人成亚洲区| 精品免费国产二区三区| 欧美大片一区二区| 精品久久久久久无| 精品国产乱码久久| 欧美xxxxx牲另类人与| 精品久久人人做人人爽| 久久久久久久久蜜桃| 国产婷婷色一区二区三区在线| 国产亚洲精品超碰| 国产精品乱人伦中文| 中文字幕一区二区三区av| 日韩美女啊v在线免费观看| 综合激情成人伊人| 亚洲自拍欧美精品| 午夜久久久影院| 久久精品国产亚洲a| 国产精品18久久久久久久久 | 亚洲图片另类小说| 怡红院av一区二区三区| 一区二区免费视频| 亚洲电影在线免费观看| 久久国产尿小便嘘嘘| 国产一区二区三区久久悠悠色av| 风间由美一区二区三区在线观看| 成人av在线一区二区三区| 色哟哟国产精品免费观看| 欧美日韩国产高清一区二区三区 | 日韩精品一区二区三区中文不卡| 亚洲精品一区二区三区在线观看 | 免费成人美女在线观看.| 国产一区二区剧情av在线| av电影在线观看不卡| 欧美午夜精品理论片a级按摩| 日韩午夜激情电影| 国产精品视频你懂的| 婷婷中文字幕综合| 国精品**一区二区三区在线蜜桃| 成人高清av在线| 欧美久久婷婷综合色| 国产拍揄自揄精品视频麻豆 | 一区二区三区国产| 日韩电影在线观看一区| 国产成人精品1024| 欧美日韩一区视频| 国产亚洲综合在线| 午夜伦欧美伦电影理论片| 国产v综合v亚洲欧| 欧美日本韩国一区二区三区视频| 国产日韩欧美精品一区| 亚洲高清免费在线| 成人精品gif动图一区| 91精品在线麻豆| 亚洲免费成人av| 国产精品99久| 欧美一区二区黄色| 有坂深雪av一区二区精品| 国产成人精品网址| 欧美一区二区网站| 亚洲一区二区三区自拍| 国产98色在线|日韩| 精品久久人人做人人爽| 亚洲成av人影院在线观看网| 成人aa视频在线观看| 欧美成人女星排名| 洋洋av久久久久久久一区| 不卡一区二区在线| 久久久久一区二区三区四区| 婷婷中文字幕一区三区| 91久久免费观看| 亚洲三级小视频| eeuss影院一区二区三区| 2022国产精品视频| 奇米影视一区二区三区| 欧美色综合网站| 亚洲第一在线综合网站| 色成年激情久久综合| 国产精品全国免费观看高清| 国产另类ts人妖一区二区| 日韩欧美不卡在线观看视频| 日韩精品每日更新| 在线播放/欧美激情| 亚洲成av人片在线| 欧美日韩精品一区视频| 亚洲一区视频在线观看视频| 91蝌蚪porny| 亚洲精品精品亚洲| 色久优优欧美色久优优| 亚洲欧美日韩国产综合|