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

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

?? qpribmapalib.s

?? VxWorks BSP框架源代碼包含頭文件和驅動
?? S
字號:
/* qPriBMapALib.s - optimized bit mapped priority queue internals *//* Copyright 1984-2000 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01a,17mar00,dra  Created from T1.0.1 ColdFire and T2 m68k ports.*//*DESCRIPTIONThis module contains internals to the VxWorks kernel.These routines have been coded in assembler because they have been optimizedfor performance.INTERNALThe C code versions of these routines can be found in qPriBMapLib.c.*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#include "qPriNode.h"#if defined(PORTABLE)#define qPriBMapALib_PORTABLE#endif#ifndef qPriBMapALib_PORTABLE	/* globals */	.globl	_qPriBMapPut	.globl	_qPriBMapGet	.globl	_qPriBMapRemove	.text	.even/********************************************************************************* qPriBMapPut - insert the specified TCB into the ready queue**void qPriBMapPut (pQPriBMapHead, pQPriNode, key)*    Q_PRI_BMAP_HEAD	*pQPriBMapHead;*    Q_PRI_NODE		*pQPriNode;*    int		key;*/_qPriBMapPut:	movel	d2,a7@-			/* push d2 so we can clobber it */	movel	a4,a7@-			/* push a4 so we can clobber it */	movel	a5,a7@-			/* push a5 so we can clobber it */	movel	a7@(0x10),a4		/* ARG1 (pMHead) goes into a4 */	movel	a7@(0x14),a5		/* ARG2 (pPriNode) goes into a5 */	movel	a7@(0x18),d0		/* ARG3 (key) goes into d0 */	movel	a4@,a0			/* a0 gets highest node ready */	cmpl	#0,a0			/* check for highNode == NULL */	jeq 	qPriBMap0	cmpl	a0@(Q_PRI_NODE_KEY),d0	/* is d0 higher priority? */	jge 	qPriBMap1qPriBMap0:	movel	a5,a4@			/* pPriNode is highest priority task */qPriBMap1:	movel	d0,a5@(Q_PRI_NODE_KEY)	/* move key into pPriNode */	notl	d0			/* invert key */	andl	#0x00ff,d0		/* clear upper bits *//* qPriBMapMapSet - set the bits in the bit map for the specified priority * d0 = priority * returns void */	movel	a4@(0x4),a1		/* pMList (metaMap) goes into a1 */	movel	d0,d1			/* copy priority to d1 */	lsrl	#3,d1			/* top five bits of d1 to d1 */	clrl	d2			/* clear out d2 */	bset	d1,d2			/* set d1 bit # of d2 */	orl		d2,a1@		/* or d2 into the meta map */	lea	a1@(4,d1:l),a4	bset	d0,a4@			/* bit set d0[0:2] into the bit map */	lsll	#3,d0			/* scale d0 by sizeof (DL_HEAD) 8 */	lea	a1@(0x24),a4		/* get base of listArray in a4 */	lea	a4@(0,d0:l),a0		/* a0 = pList */	movel	a0@(0x4),a1		/* a1 = pList->tail = pPrev *//* dllAdd - add node to end of list * a0 = pList * a1 = pLastNode * a5 = pNode * returns void */	    cmpl	#0,a1		/* (pPrev == NULL)? */	    jne 	qPriBMap2	    movel	a5,a0@		/* pList->head = pNode */	    jra 	qPriBMap3	/* goto next conditional */qPriBMap2:	    movel	a5,a1@		/* pPrev->next	   = pNode */qPriBMap3:	    movel	a5,a0@(0x4)	/* pList->tail 	   = pNode */	    clrl	a5@		/* pNode->next	   = NULL */	    movel	a1,a5@(0x4)	/* pNode->previous = pPrev */	movel	a7@+,a5			/* pop a5 */	movel	a7@+,a4			/* pop a4 */	movel	a7@+,d2			/* pop d2 */	rts/********************************************************************************* qPriBMapGet -**Q_PRI_NODE *qPriBMapGet (pQPriBMapHead)*    Q_PRI_BMAP_HEAD *pQPriBMapHead;*/_qPriBMapGet:	movel	a7@(0x4),a0		/* pMHead into a0 */	movel	a0@,a7@-		/* push highNode to delete */	jeq 	qPriBMapG1		/* if highNode is NULL we're done */	movel	a0,a7@-			/* push pMHead */	jsr	_qPriBMapRemove		/* delete the node */	addl	#0x4,a7			/* clean up second argument */qPriBMapG1:	movel	a7@+,d0			/* return node */	rts/********************************************************************************* qPriBMapRemove**STATUS qPriBMapRemove (pQPriBMapHead, pQPriNode)*    Q_PRI_BMAP_HEAD *pQPriBMapHead;*    Q_PRI_NODE *pQPriNode;*/_qPriBMapRemove:	movel	d2,a7@-			/* push d2 so we can clobber it */	movel	a2,a7@-			/* push a2 so we can clobber it */	movel	a7@(0xc),a2		/* ARG1 (pMHead) goes into a2 */	movel	a7@(0x10),a1		/* ARG2 (pPriNode) goes into a1 */	movel	a1@(Q_PRI_NODE_KEY),d0	/* key into d0 */	notl	d0			/* invert key */	andl	#0x00ff,d0		/* clear upper bits */	movel	d0,d1			/* copy priority to d1 */	lsll	#3,d1			/* scale d1 by sizeof (DL_HEAD) 8 */	movel	a2@(0x4),a0		/* pMList (metaMap) goes into a0 */	lea	a0@(0x24,d1:l),a0	/* pList into a0 *//* dllRemove - delete a node from a doubly linked list * a0 = pList * a1 = pNode * returns void */	    tstl	a1@(0x4)	/* (pNode->previous == NULL)? */	    jeq 	qPriBMapR1	    movel	a1@(0x4),a0	/* pNode->previous into a0 */qPriBMapR1:	    movel	a1@,a0@		/* pNode->next into a0@ */	    tstl	a1@		/* (pNode->next == NULL)? */	    jne 	qPriBMapR2	    movel	a2@(0x4),a0	/* pMList (metaMap) goes into a0 */	    lea		a0@(0x24,d1:l),a0 /* pList into a0 */	    jra 	qPriBMapR3qPriBMapR2:	    movel	a1@,a0		/* pNode->next into a0 */qPriBMapR3:	    movel	a1@(4),a0@(4)	/* pNode->previous into a0@(4) */	movel	a2@(0x4),a0		/* pMList (metaMap) goes into a0    */	movel	a0@(0x24,d1:l),d2	/* if (pList->head == NULL)         */	jeq 	clearMaps		/*     then we clear maps           */	cmpl	a2@,a1			/* if not deleting highest priority */	jne 	qPriBMapDExit		/*     then we are done             */	movel	d2,a2@			/* update the highest priority task */	jra 	qPriBMapDExitclearMaps:/* qPriBMapMapClear - clear the bits in the bit maps for the specified priority * d0 = priority, * a0 = &qPriBMapMetaMap, * returns void */	movel	d0,d1			/* copy priority to d1 */	lsrl	#3,d1			/* top five bits of d1 to d1 */	movel	a2,a7@-	lea	a0@(4,d1:l),a2	bclr	d0,a2@			/* clear bit d0[0:2] in map */	movel	a7@+,a2	tstb	a0@(4,d1:l)		/* did we clear the last bit in field */	jne 	qPriBMapNoMeta		/* if not zero, we're done */	moveq	#-1,d2			/* fill d2 with ones */	bclr	d1,d2			/* clear d1 bit # of d2 */	andl	d2,a0@			/* clear bit in meta map */qPriBMapNoMeta:	cmpl	a2@,a1			/* have we deleted highest priority */	jne 	qPriBMapDExit/* qPriBMapHigh - return highest priority task * a0 = &qPriBMapMetaMap, * returns highest priority in Q in d0, or random (0,255) if Q empty */	lea	_ffsMsbTbl,a1	/* lookup table address in a1 */	clrl	d1		/* clear out d1 */	movew	a0@,d1		/* put msw into d1 */	jeq 	qPriBMapLsw	/* if zero, try the lsw */	cmpl	#0x100,d1	/* compare msw to 0x100 */	jcs 	qPriBMapMswLsb	/* if unsigned less than, then MswLsb */	lsrl	#8,d1		/* shift Msb to Lsb of d1 */	moveb	a1@(0,d1:l),d1	/* find first bit set of d1[0:1] */	addl	#24,d1		/* add bit offset to MswMsb (24) */	jra 	qPriBMapGetHigh	/* go do the second tier bfffo */qPriBMapMswLsb:	moveb	a1@(0,d1:l),d1	/* find first bit set of d1[0:7] */	addl	#16,d1		/* add bit offset to MswLsb (16) */	jra 	qPriBMapGetHigh	/* go do the second tier bfffo */qPriBMapLsw:	moveb	a0@(2),d1	/* put LswMsb in d1 */	jeq 	qPriBMapLswLsb	/* if zero, try LswLsb */	moveb	a1@(0,d1:l),d1	/* find first bit set of d1[0:7] */	addql	#8,d1		/* add bit offset to LswMsb (8) */	jra 	qPriBMapGetHigh	/* go do the second tier bfffo */qPriBMapLswLsb:	movel	a0@,d1		/* put LswLsb in d1 */	moveb	a1@(0,d1:l),d1	/* find first bit set of d1[0:7] */qPriBMapGetHigh:	movel	d1,d0		/* put copy of d1 in d0 */	lsll	#3,d0		/* multiply meta priority by 8 */	moveb	a0@(4,d1:l),d1	/* move tier two bit field into d1 */	/*	 * The following sequence is equiv. to:	 *   addb	a1@(0,d1:l),d0	 */	moveb	a1@(0,d1:l),d1	/* get tier two */	addl	d0,d1		/* add other way around */	moveb	d1,d0		/* final result */	qPriBMapNewHigh:	lsll	#3,d0			/* scale d0 by sizeof (DL_HEAD) 8 */	movel	a0@(0x24,d0:l),a2@	/* get highest task into highNode */qPriBMapDExit:	movel	a7@+,a2			/* pop a2 */	movel	a7@+,d2			/* pop d2 */	clrl	d0			/* return OK */	rts#endif	/* !qPriBMapALib_PORTABLE */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区999| 亚洲精品一区二区精华| 日韩一级片在线播放| 中文久久乱码一区二区| 日本视频一区二区| 成人免费视频网站在线观看| 在线成人免费观看| 亚洲乱码日产精品bd| 国产电影一区二区三区| 91麻豆精品国产自产在线观看一区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美综合视频在线观看| 久久精品视频在线免费观看| 婷婷久久综合九色国产成人| 欧美中文字幕一区二区三区 | 91精品久久久久久久91蜜桃| 亚洲另类春色校园小说| 国v精品久久久网| 久久日韩精品一区二区五区| 日韩成人一级大片| 欧美日韩一级二级三级| 亚洲老司机在线| 色乱码一区二区三区88| 国产精品免费视频一区| 国产精一品亚洲二区在线视频| 7777精品伊人久久久大香线蕉的| 亚洲午夜国产一区99re久久| 色噜噜偷拍精品综合在线| 亚洲日本丝袜连裤袜办公室| av高清不卡在线| 亚洲人成网站在线| 色综合天天天天做夜夜夜夜做| 国产精品国产三级国产有无不卡| 豆国产96在线|亚洲| 亚洲国产精品ⅴa在线观看| 国产高清成人在线| 国产精品国产三级国产专播品爱网 | 日本亚洲免费观看| 日韩欧美视频一区| 国产毛片一区二区| 国产欧美日韩不卡| 色丁香久综合在线久综合在线观看| 综合激情网...| 在线中文字幕一区二区| 亚洲最大成人综合| 在线播放视频一区| 久久99九九99精品| 中文字幕的久久| 91久久精品一区二区| 香蕉久久夜色精品国产使用方法| 欧美精品aⅴ在线视频| 久久精品国内一区二区三区| 久久欧美一区二区| 色婷婷久久一区二区三区麻豆| 亚洲自拍偷拍综合| 精品国产电影一区二区| 成人综合婷婷国产精品久久 | 色8久久精品久久久久久蜜| 亚洲福利电影网| wwwwww.欧美系列| 91在线观看成人| 视频一区二区三区入口| 久久欧美一区二区| 欧美日韩中文国产| 国产成人免费视频网站| 亚洲一区二区三区四区在线免费观看| 欧美一级日韩一级| www.成人在线| 久久精品99久久久| 亚洲免费看黄网站| 精品国精品国产尤物美女| 成人av电影免费观看| 日韩国产在线一| 亚洲欧洲性图库| 日韩亚洲欧美中文三级| 91原创在线视频| 国产综合色视频| 天天综合日日夜夜精品| 中文字幕免费在线观看视频一区| 欧美喷水一区二区| 成人黄动漫网站免费app| 免费不卡在线视频| 亚洲摸摸操操av| 国产拍揄自揄精品视频麻豆| 欧美精品在线一区二区三区| 成人精品一区二区三区中文字幕| 日韩电影在线观看电影| 亚洲乱码精品一二三四区日韩在线| 久久综合色综合88| 日韩亚洲欧美成人一区| 欧美自拍偷拍午夜视频| 99综合影院在线| 国产精品一二三四五| 日本三级韩国三级欧美三级| 亚洲综合999| 亚洲男女一区二区三区| 国产精品久久网站| 国产人久久人人人人爽| 欧美成人女星排行榜| 3d动漫精品啪啪一区二区竹菊| 91免费视频网址| 91亚洲国产成人精品一区二三| 国产成人综合在线观看| 激情综合色综合久久| 七七婷婷婷婷精品国产| 午夜欧美电影在线观看| 亚洲成av人片| 午夜婷婷国产麻豆精品| 亚洲午夜电影在线观看| 亚洲午夜成aⅴ人片| 亚洲成人中文在线| 亚洲成av人片在线| 午夜精品影院在线观看| 午夜精品免费在线| 全国精品久久少妇| 另类成人小视频在线| 免费不卡在线观看| 狠狠色综合日日| 国产麻豆精品一区二区| 国产精品一区久久久久| 国产成人av福利| 91在线免费播放| 欧美日韩日日摸| 日韩一区二区高清| 国产亚洲欧洲997久久综合 | 亚洲一区二区欧美日韩 | 国产电影精品久久禁18| 丁香一区二区三区| 日本高清不卡视频| 欧美绝品在线观看成人午夜影视| 日韩一级免费观看| 国产欧美日韩中文久久| 亚洲欧美综合色| 日韩精品亚洲一区| 国产毛片精品一区| 97精品国产露脸对白| 欧美日韩一区二区三区四区 | 亚洲免费观看高清完整版在线观看熊 | 亚洲精品国久久99热| 亚洲成人1区2区| 激情图片小说一区| 91视频xxxx| 欧美一区二区三区视频| 国产欧美日韩另类视频免费观看| 亚洲欧美影音先锋| 麻豆精品视频在线观看视频| 成人性生交大片免费看在线播放| 色婷婷综合中文久久一本| 91国模大尺度私拍在线视频| 日韩免费观看高清完整版| 中文av一区二区| 免费在线观看精品| 91麻豆免费观看| 日韩你懂的在线观看| 亚洲免费电影在线| 韩国女主播一区| 欧美日韩中文字幕精品| 欧美高清在线精品一区| 手机精品视频在线观看| 99久久夜色精品国产网站| 日韩一区二区在线观看| 亚洲人xxxx| 国产麻豆精品theporn| 欧美日韩中字一区| 成人欧美一区二区三区| 久久av老司机精品网站导航| 99久久婷婷国产综合精品| 欧美mv日韩mv国产| 图片区小说区国产精品视频| 成人妖精视频yjsp地址| 日韩午夜在线观看| 亚洲成人精品在线观看| 99久久精品国产麻豆演员表| 精品国产青草久久久久福利| 一区二区三区四区中文字幕| 国产成人综合精品三级| 欧美一区二区大片| 亚洲成人第一页| 91看片淫黄大片一级在线观看| 久久综合九色综合97_久久久| 亚洲成人777| 欧美性xxxxx极品少妇| 国产精品入口麻豆九色| 国产精品亚洲午夜一区二区三区| 欧美日韩夫妻久久| 亚洲国产精品久久人人爱蜜臀| 成人激情图片网| 国产精品午夜久久| 福利一区福利二区| 久久综合色天天久久综合图片| 麻豆精品久久精品色综合| 在线电影欧美成精品| 日韩精品一级中文字幕精品视频免费观看 | 亚洲精品中文字幕乱码三区| 成人av先锋影音| 国产精品日韩成人| 99精品视频中文字幕| 中文字幕制服丝袜成人av| 成人晚上爱看视频| 国产精品美女一区二区在线观看|