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

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

?? semcalib.s

?? vxworks的源代碼
?? S
字號:
/* semCALib.s - internal VxWorks counting semaphore assembler library *//* Copyright 1984-2002 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01h,29mar02,bwa  Used an unconditional jump to semIntRestrict.01g,05mar02,bwa  Added check for int context in semCTake() (SPR 73060)01f,21dec01,bwa  Changed the locking of interrupts to a read-modify-write in                 semCGive() (SPR #72240).01e,06apr98,nps  ported to wv2.001d,08jul96,sbs  made windview instrumentation conditionally compiled01c,10dec93,smb  added instrumentation 01b,23aug92,jcf  changed bxxx to jxx.01a,15jun92,jcf  extracted from semALib.s v1m.*//*DESCRIPTIONThis module contains internals to the VxWorks kernel.These routines have been coded in assembler because they are optimized forperformance.*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#include "private/taskLibP.h"#include "private/semLibP.h"#ifndef PORTABLE	/* globals */	.globl	_semCGive		/* optimized counting semaphore give */	.globl	_semCTake		/* optimized counting semaphore take */	.text	.even/********************************************************************************* semIsInvalid - unlock interupts and call semInvalid ().*/semIsInvalidUnlock:	movew	d1,sr			/* UNLOCK INTERRUPTS */semIsInvalid:	jmp	_semInvalid		/* let C rtn do work and rts *//********************************************************************************* semCGive - optimized give of a counting semaphore**STATUS semCGive*    (*    SEM_ID semId		/@ semaphore id to give @/*    )*/_semCGive:				/* a0 = semId! d0 = 0! */	movew	sr,d1			/* old sr into d1 */	movew	d1,d0	orw	#0x0700,d0		/* set interrupt mask in SR */	movew	d0,sr			/* LOCK INTERRUPTS */	moveq	#0,d0        cmpl    #_semClass,a0@          /* check validity */#ifdef WV_INSTRUMENTATION        jeq     objOkCGive	/* windview - check the validity of instrumented class */        cmpl    #_semInstClass,a0@              /* check validity */#endif        jne     semIsInvalidUnlock      /* invalid semaphore */objOkCGive:	movel	a0@(SEM_Q_HEAD),d0	/* test semaphore queue head */	jne 	_semQGet		/* if not empty, get from q */	addql	#1,a0@(SEM_STATE)	/* increment count */	cmpil	#0,a0@(SEM_EVENTS_TASKID)/* does a task want events? */	bne	semCSendEvents		/* if (taskId != NULL), yes */	movew	d1,sr			/* UNLOCK INTERRUPTS */	rts				/* d0 = retStatus */	/* we want to call eventSend() */semCSendEvents:	movel	#OK,-(a7)		/* retStatus = OK */	movel	_errno,-(a7)		/* save old errno */	movel	#TRUE,_kernelState	/* kernelState = TRUE */	movew	d1,sr			/* UNLOCK INTERRUPTS */	movel	a0,-(a7)		/* save a0 */	movel	a0@(SEM_EVENTS_REGISTERED),-(a7) /* args on stack */	movel	a0@(SEM_EVENTS_TASKID),-(a7)	jsr	_eventRsrcSend		/* call fcn,return value in d0*/	addal	#8,a7			/* cleanup eventSend args */	moveal	(a7)+,a0		/* restore a0 */	cmpil	#0,d0			/* eventSend failed ? */	bne	semCEventSendFailed	/* if so, set errno ? */	btst	#0,a0@(SEM_EVENTS_OPTIONS) /* if not,send events once?*/	beq	semCGiveWindExit	/* if not, kernel exit */semCGiveTaskIdClear:				/* if so, clear taskId */	clrl	a0@(SEM_EVENTS_TASKID)	/* semId->events.taskId = NULL*/semCGiveWindExit:	jsr	_windExit		/* KERNEL EXIT */	movel	(a7)+,_errno		/* and wanted value in errno */	movel	(a7)+,d0		/* put wanted error code in d0*/	rts				/* d0 = retStatus */semCEventSendFailed:	btst	#4,a0@(SEM_OPTIONS)	/* want to return error ? */	beq	semCGiveTaskIdClear	/* no, clear taskId */	movel	#-1,a7@(4)		/* yes, save ERROR on stack */	movel	#((134<<16)+0x4),a7@	/* and save errno on stack */	bra	semCGiveTaskIdClear	/* then clear taskId *//* end of semCGive *//********************************************************************************* semCTake - optimized take of a counting semaphore**STATUS semCTake*    (*    SEM_ID semId		/@ semaphore id to take @/*    )*/semCIntRestrict:	jmp	_semIntRestrict_semCTake:				/* a0 = semId! */	cmpil	#0,_intCnt		/* in ISR ? */	jne	semCIntRestrict		/* if so, return */	movew	sr,d1			/* old sr into d1 */	movew	_intLockTaskSR,sr	/* LOCK INTERRUPTS */        cmpl    #_semClass,a0@          /* check validity */#ifdef WV_INSTRUMENTATION        jeq     objOkCTake	/* windview - check the validity of instrumented class */        cmpl    #_semInstClass,a0@              /* check validity */#endif        jne     semIsInvalidUnlock      /* invalid semaphore */objOkCTake:	tstl	a0@(SEM_STATE)		/* test count */	jeq 	_semQPut		/* if sem is owned we block */	subql	#1,a0@(SEM_STATE)	/* decrement count */	movew	d1,sr			/* UNLOCK INTERRUPTS */	clrl	d0			/* return OK */	rts#endif	/* !PORTABLE */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线亚洲视频| 欧美精品色一区二区三区| 在线一区二区三区四区| 欧美一区二区视频免费观看| 国产精品日日摸夜夜摸av| 一区二区高清免费观看影视大全| 国产呦精品一区二区三区网站| 色综合视频在线观看| 国产偷国产偷精品高清尤物| 日韩在线卡一卡二| 欧美午夜精品理论片a级按摩| 成人污视频在线观看| 色综合天天视频在线观看 | 在线不卡中文字幕| 中文字幕日韩欧美一区二区三区| 美女一区二区三区在线观看| 欧美亚洲综合色| 亚洲欧美激情视频在线观看一区二区三区| 精品在线一区二区| 精品国产一区二区三区四区四 | 极品尤物av久久免费看| 欧美丰满美乳xxx高潮www| 亚洲精品一二三四区| 97精品超碰一区二区三区| 亚洲国产成人午夜在线一区| 国产做a爰片久久毛片| 欧美成人猛片aaaaaaa| 丝袜美腿一区二区三区| 欧美久久久久久蜜桃| 亚洲国产欧美一区二区三区丁香婷| 91在线无精精品入口| 亚洲色图视频免费播放| 99久久久国产精品| 亚洲最大成人网4388xx| 欧美性感一区二区三区| 午夜免费欧美电影| 在线播放欧美女士性生活| 日本伊人色综合网| 日韩一级大片在线观看| 国产美女在线观看一区| 欧美va在线播放| 国产精品原创巨作av| 中文文精品字幕一区二区| 播五月开心婷婷综合| 综合中文字幕亚洲| 精品视频在线免费| 日本成人在线不卡视频| 亚洲精品在线观| 成人av资源在线观看| 亚洲黄色免费电影| 欧美一区二区大片| 国产91丝袜在线18| 亚洲男人的天堂在线观看| 在线精品国精品国产尤物884a| 亚洲成av人在线观看| 日韩一区二区三区三四区视频在线观看 | 亚洲成人tv网| 欧美xingq一区二区| 粉嫩高潮美女一区二区三区| 一区二区三区四区在线播放 | 久久久三级国产网站| 成人毛片在线观看| 亚洲午夜精品久久久久久久久| 欧美日韩视频不卡| 国产精品影视在线观看| 亚洲激情图片qvod| 精品国产制服丝袜高跟| 99久精品国产| 美女看a上一区| 亚洲女同ⅹxx女同tv| 欧美大片拔萝卜| 色婷婷国产精品| 国产一区二区伦理| 亚洲成人激情自拍| 精品国产不卡一区二区三区| 色94色欧美sute亚洲线路一ni| 麻豆精品国产91久久久久久| 亚洲欧美国产高清| 久久综合精品国产一区二区三区| 色偷偷一区二区三区| 国产九色sp调教91| 午夜国产精品影院在线观看| 国产精品女主播在线观看| 在线不卡一区二区| 色综合网站在线| 成人丝袜视频网| 欧美96一区二区免费视频| 国产精品国产精品国产专区不片 | 奇米精品一区二区三区四区 | 国产精品污www在线观看| 精品视频色一区| 成人av免费在线播放| 国产剧情一区二区三区| 美女一区二区视频| 日韩电影在线一区| 亚洲1区2区3区视频| 亚洲色图色小说| 国产精品国产精品国产专区不蜜| 久久午夜老司机| 亚洲精品在线免费观看视频| 日韩一区二区高清| 欧美一区三区二区| 欧美喷潮久久久xxxxx| 欧美在线观看18| 在线精品视频一区二区三四 | 久久久久99精品国产片| 日韩欧美一区在线| 日韩免费视频线观看| 91麻豆精品国产91久久久| 欧美日本一道本在线视频| 欧美网站大全在线观看| 在线观看视频一区二区| 欧美三区在线观看| 欧美狂野另类xxxxoooo| 欧美精品乱码久久久久久| 欧美精品123区| 欧美一卡2卡三卡4卡5免费| 欧美精品一卡两卡| 91麻豆精品国产综合久久久久久| 欧美一区二区三区四区久久 | 国产一区不卡视频| 国产一区二区三区在线观看免费 | 国产91精品露脸国语对白| 午夜精品免费在线观看| 亚洲第一二三四区| 日本美女一区二区三区| 麻豆免费看一区二区三区| 国产原创一区二区| 成人激情图片网| 色婷婷久久久亚洲一区二区三区| 91成人网在线| 日韩欧美国产一区二区在线播放| 日韩欧美国产综合一区| 国产农村妇女精品| 怡红院av一区二区三区| 亚洲成人av免费| 青青草伊人久久| 国产69精品一区二区亚洲孕妇| 成人天堂资源www在线| 欧美日韩综合在线| 精品奇米国产一区二区三区| 国产欧美视频一区二区三区| 成人一级视频在线观看| 高清国产一区二区三区| 丁香亚洲综合激情啪啪综合| voyeur盗摄精品| 欧美午夜精品免费| 久久久久久久久久久黄色 | 欧美一区二区视频网站| 欧美激情资源网| 亚洲第一精品在线| 国产传媒欧美日韩成人| 欧美四级电影在线观看| 久久久亚洲精品一区二区三区| 亚洲综合在线观看视频| 激情都市一区二区| 在线视频欧美精品| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲免费av高清| 福利一区在线观看| 欧美高清视频不卡网| 中文字幕一区二区三区不卡在线| 日本成人超碰在线观看| 一本大道久久a久久精品综合| 日韩欧美专区在线| 亚洲成人福利片| www.欧美日韩| 亚洲精品一区二区精华| 久久精品国产亚洲高清剧情介绍| 国产伦精品一区二区三区在线观看| 色婷婷国产精品久久包臀| 国产午夜精品福利| 美女国产一区二区| 欧美精品久久一区| 夜夜精品视频一区二区| 成人动漫在线一区| 欧美精品一区二区久久久| 婷婷丁香激情综合| 色噜噜狠狠色综合欧洲selulu| 国产欧美一区二区三区在线看蜜臀 | 欧美三区在线观看| 亚洲欧美国产毛片在线| 成人av小说网| 亚洲国产成人一区二区三区| 国模一区二区三区白浆| 日韩你懂的在线观看| 日韩精品欧美成人高清一区二区| 在线亚洲高清视频| 国产精品灌醉下药二区| 成人99免费视频| 国产精品久久久久久久久快鸭| 国产一区二区伦理片| 久久久久成人黄色影片| 国产精品亚洲第一| 国产日韩欧美不卡在线| 国产福利电影一区二区三区| 日本一区二区三区免费乱视频| 国产精品自产自拍| 亚洲国产成人午夜在线一区| 成人av集中营|